]> git.proxmox.com Git - grub2.git/blob - ChangeLog
0f75bc762768b5ff10677ac04fc3a5c1d3b4c34c
[grub2.git] / ChangeLog
1 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2
3 * grub-core/normal/auth.c (grub_auth_check_authentication):
4 Set-but-not-used variable removed.
5
6 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9 32-bit linux protocol.
10
11 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14 cursor shape for sanity.
15
16 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * docs/grub.texi (Installation): Document buggy BIOS install.
19
20 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * docs/grub.texi (Installation): Indent.
23
24 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * util/grub-setup.c (setup): New parameter allow_floppy.
27 (arguments): New member allow_floppy.
28 (argp_parser): Handle --allow-floppy.
29 (main): Pass allow_floppy.
30 * util/grub-install.in: New option --allow-floppy passed though to
31 grub-setup.
32
33 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * util/grub-install.in: Handle partitionless disks.
36
37 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * util/grub-setup.c (setup): Don't clean blocklists before readability
40 verfification.
41
42 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * docs/grub.texi (Installation): Document embedding zone. Remove
45 obsolete grub-install example.
46
47 2010-10-16 Szymon Janc <szymon@janc.net.pl>
48
49 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
50 Set-but-not-used variable ifdef'ed.
51 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
52 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
53 variable removed.
54 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
55 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
56 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
57 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
58 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
59 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
60 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
61 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
62 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
63 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
64 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
65 Likewise.
66
67 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
70 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
71 enum value.
72
73 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
76 synonym to _S5_. Needed for some DSDTs.
77
78 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
79
80 Userspace ACPI parser debugging.
81
82 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
83 headers and add relevant defines. Don't include standard headers.
84 (main) [GRUB_DSDT_TEST]: New function.
85 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
86 Don't declare functions.
87
88 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Remove dead grub_efi_mm_fini.
91
92 * grub-core/kern/efi/mm.c (allocated_page): Removed.
93 (ALLOCATED_PAGES_SIZE): Likewise.
94 (MAX_ALLOCATED_PAGES): Likewise.
95 (allocated_pages): Likewise.
96 (grub_efi_allocate_pages): Don't record allocated pages.
97 (grub_efi_free_pages): Likewise.
98 (grub_efi_mm_init): Likewise.
99 (grub_efi_mm_fini): Removed.
100
101 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
104 (grub_efi_mm_init): Take into account the memory map size increase.
105
106 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
109 (serial_hw_put): Wait based on real time rather than port reads. Don't
110 roken ports.
111 * include/grub/serial.h (grub_serial_port): New field broken.
112
113 2010-10-16 Robert Millan <rmh@gnu.org>
114
115 * grub-core/kern/emu/misc.c
116 (grub_make_system_path_relative_to_its_root): Fix premature return
117 when processing non-root ZFS filesystems.
118 Reported by Sergio Talens-Oliag.
119
120 2010-10-15 Robert Millan <rmh@gnu.org>
121
122 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
123 guarantee compressed ones are processed first.
124
125 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
128 grub_efiemu_autocore.
129
130 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
133 rather than 0x1b.
134 (grub_console_getkey): Use correct jae opcode rather than ja.
135
136 2010-10-12 Robert Millan <rmh@gnu.org>
137
138 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
139 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
140 variable. All references updated.
141
142 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
143
144 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
145
146 Correctly distinguish mdraid flavours.
147
148 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
149 (insert_array): New argument raid.
150 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
151 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
152 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
153
154 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
157 handling of special keys.
158
159 2010-10-02 Aleš Nesrsta <starous@volny.cz>
160
161 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
162 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
163
164 2010-10-02 Aleš Nesrsta <starous@volny.cz>
165
166 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
167 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
168 users updated.
169 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
170 Use right endpoint when querying descriptor.
171
172 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Clear out 0x80 color bit on EFI.
175 Tested by: decoder
176 Reported by: decoder and meta tech.
177
178 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
179 (grub_console_setcolorstate): Clear out 0x80 bit.
180 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
181 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
182 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
183
184 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
187 Set to "auto".
188
189 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
192 mo_file after freeing.
193
194 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
197
198 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
201 flags.
202
203 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
206 usage.
207
208 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
209
210 Put terminfo into core on ieee1275 and yeeloong (needed for console).
211
212 * gentpl.py: New groups terminfoinkernel and terminfomodule.
213 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
214 and terminfo.h when needed.
215 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
216 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
217 (terminfo): Enable only on terminfokernel.
218 (extcmd): Likewise.
219 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
220 * include/grub/lib/arg.h: Likewise.
221 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
222 incorrect usage of ->.
223
224 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
227 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
228
229 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Fix coreboot compilation.
232
233 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
234 Take VBE info into account even if only text is supported.
235 (fill_vbe_info): Take into account the case when only VGA text
236 is supported.
237 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
238 on coreboot, multiboot and qemu.
239
240 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
243 debug messages.
244 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
245
246 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
249 parameters.
250
251 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
254 if they were BSD-style.
255
256 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/boot/i386/pc/lnxboot.S: Replace
259 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
260 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
261
262 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Write embedding zone using Reed-Solomon.
265
266 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
267 * grub-core/Makefile.am (rs_decoder.S): New target.
268 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
269 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
270 (multiboot): Move to RS part.
271 (post_reed_solomon): New label.
272 (grub_boot_drive): Move to non-RS part since it's modified in memory
273 on boot.
274 Include rs_decoder.S.
275 * grub-core/lib/reed_solomon.c: New file.
276 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
277 New definition.
278 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
279 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
280 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
281 * include/grub/partition.h (grub_partition_map): Change prototype of
282 embed to allow returning additional sectors.
283 * include/grub/reed_solomon.h: New file.
284 * util/grub-setup.c (setup): Handle Reed-Solomon.
285
286 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
287
288 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
289 i386 and x86-64 definedness tests.
290
291 2010-09-27 Yves Blusseau <blusseau@zetam.org>
292
293 Fix generation of kernel_syms.lst
294
295 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
296 ASM_PREFIX
297
298 2010-09-26 Robert Millan <rmh@gnu.org>
299
300 Support degraded ZFS arrays in "grub-probe -t device" resolution.
301
302 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
303 the pool is an array of devices, iterate through it and return the
304 first device that passes a stat() test (instead of blindly returning
305 the first one).
306
307 2010-09-26 Robert Millan <rmh@gnu.org>
308
309 Build fixes for GNU/kFreeBSD.
310
311 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
312 to programs that require ZFS conversion.
313 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
314 kernels that don't have FLOPPY_MAJOR.
315
316 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
317
318 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
319
320 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
321
322 Fix grub-emu build.
323
324 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
325 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
326 mdraid09 and mdraid1x.
327
328 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
329
330 Re-enable grub-extras.
331
332 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
333 avoid confusing Automake. Run autogen only twice, once for the top
334 level and once for grub-core. Add Makefile.util.def and
335 Makefile.core.def from extra modules to the appropriate autogen
336 invocations. If Makefile.common exists in an extra module, include
337 it in both Makefile.util.am and grub-core/Makefile.core.am;
338 similarly, include any Makefile.util.common file in Makefile.util.am
339 and any Makefile.core.common file in grub-core/Makefile.core.am.
340 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
341 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
342 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
343 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
344
345 * gentpl.py (gvar_add): Turn GVARS into a set.
346 (global_variable_initializers): Sort global variables on output.
347 (vars_init): New function.
348 (first_time): Likewise.
349 (library): Ensure that non-global variable initialisations are
350 emitted before the first time we emit code for a library block.
351 Append to variables rather than setting them. Only emit
352 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
353 each conditional path.
354 (program): installdir() emits an Autogen macro, so must be passed to
355 var_add rather than gvar_add.
356 (data): Likewise.
357 (script): Likewise.
358 (rules): New function, centralising handling for different target
359 types. Set up Guile association lists for first_time and vars_init,
360 and send most output to a diversion so that variable initialisations
361 can be emitted first.
362 (module_rules): Use new rules function.
363 (kernel_rules): Likewise.
364 (image_rules): Likewise.
365 (library_rules): Likewise.
366 (program_rules): Likewise.
367 (script_rules): Likewise.
368 (data_rules): Likewise.
369
370 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
371
372 * .bzrignore: Add contrib and grub-core/contrib. Remove
373 grub-core/Makefile.gcry.am.
374
375 2010-09-24 Yves Blusseau <blusseau@zetam.org>
376
377 * grub-core/lib/LzFind.c: Add missing include.
378 * grub-core/lib/LzmaEnc.c: Likewise.
379 * grub-core/script/lexer.c: Likewise.
380 * grub-core/script/yylex.l: Likewise.
381 * util/grub-macho2img.c: Likewise.
382 * util/grub-menulst2cfg.c: Likewise.
383 * util/grub-mklayout.c: Likewise.
384 * util/grub-mkpasswd-pbkdf2.c
385 * util/grub-mkrelpath.c: Likewise.
386 * util/resolve.c: Likewise.
387
388 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
389
390 * Makefile.util.def (example_unit_test): Add
391 grub-core/gnulib/libgnu.a.
392
393 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
394
395 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
396
397 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Support xz compression on yeeloong.
400
401 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
402 * configure.ac: Check for LZMA.
403 * grub-core/Makefile.core.def (xz_decompress): New target.
404 (none_decompress): Likewise.
405 * grub-core/boot/decompressor/minilib.c: New file.
406 * grub-core/boot/decompressor/none.c: Likewise.
407 * grub-core/boot/decompressor/xz.c: Likewise.
408 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
409 * grub-core/kern/mips/cache_flush.S: Likewise.
410 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
411 * grub-core/kern/mips/startup.S: Move first stage to ...
412 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
413 nomacro.
414 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
415 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
416 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
417 Allocate statically.
418 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
419 Allocate statically or use scratch. Don't check CRC32.
420 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
421 Allocate statically. Don't check CRC32.
422 * include/grub/decompressor.h: New file.
423 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
424 Removed.
425 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
426 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
427 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
428 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
429 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
430 * util/grub-mkimage.c (grub_compression_t): New type.
431 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
432 (image_target_desc): New field default_compression.
433 (image_targets): Adjust yeeloong targets.
434 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
435 (compress_kernel): New parameter comp.
436 (generate_image): Likewise. Handle new compression case.
437 (options): New option --compression
438 (help): Likewise.
439 (main): Handle new option.
440
441 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
442
443 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
444
445 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
446
447 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
448 typo in __i386__ conditional.
449
450 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
453 include.
454
455 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
456
457 Implement EFI and ACPI multiboot2 extensions.
458
459 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
460 new tags as supported.
461 (acpiv2_size): New function.
462 (grub_multiboot_get_mbi_size): Take new tags into account.
463 (grub_multiboot_make_mbi): Add new tags.
464 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
465
466 2010-09-21 Aleš Nesrsta <starous@volny.cz>
467
468 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
469 Added missing configuration of USB device.
470
471 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
472
473 * grub-core/normal/menu_entry.c (run): Make sure we always return
474 a value.
475
476 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
477
478 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
479 NumberOfPages is UINT64 according to the UEFI specification, not
480 UINTN. Fix printf format.
481
482 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
483
484 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
485 `err' to grub_usb_err_t.
486 Reported and tested by: KESHAV P.R.
487
488 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
489
490 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
491 tpart non-const, so that we can assign to it. (Since this is a
492 typedef, the constness refers to the pointer rather than what it
493 points to.)
494
495 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
496
497 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
498 $(top_srcdir)/grub-core/gnulib as well as
499 $(top_builddir)/grub-core/gnulib.
500 Reported by: KESHAV P.R.
501
502 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
503
504 * util/grub-install.in: Fix the bootloader ID option to be
505 consistently --bootloader-id, not --bootloader_id.
506 Reported by: KESHAV P.R.
507
508 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
509
510 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
511 check hash checksum." consistently translatable.
512
513 2010-09-21 Yves Blusseau <blusseau@zetam.org>
514
515 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
516 $(top_builddir).
517
518 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
519
520 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
521 (GRUB_MOD_INIT): Register sha1sum command.
522 (GRUB_MOD_FINI): Unregister sha1sum command.
523
524 2010-09-21 Yves Blusseau <blusseau@zetam.org>
525
526 Keep boot and grub directory names in sync with utils scripts
527
528 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
529 * config.h.in: Add previous macros.
530 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
531 * util/grub-install.in: Use $bootdir and $grubdir variables.
532
533 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
534
535 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
536 convert partition names to disk names if the new `convert' parameter
537 is set.
538 (grub_util_biosdisk_get_grub_dev): If opening the disk device
539 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
540 disk in its own right. This can happen with Xen disk images.
541
542 2010-09-21 Yves Blusseau <blusseau@zetam.org>
543
544 * util/grub-editenv.c: Update strings to avoid warnings when generating
545 grub.pot file.
546 * util/grub-setup.c: Likewise.
547
548 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * configure.ac: Change version to 1.99~beta0.
551
552 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
555 Add BADRAM.
556 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
557 Likewise.
558 * include/multiboot.h: Resynced with specification.
559 * include/multiboot2.h: Likewise.
560
561 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
562
563 Fix po directory handling.
564
565 * configure.ac: Create po/Makefile.in rather than po/Makefile.
566 * grub-core/gnulib/Makefile.am: Import gettext module.
567 * m4/gnulib-cache.m4: Likewise.
568 * m4/gnulib-comp.m4: Likewise.
569 * m4/gettext.m4: New file, from gnulib.
570 * m4/glibc2.m4: Likewise.
571 * m4/iconv.m4: Likewise.
572 * m4/intdiv0.m4: Likewise.
573 * m4/intl.m4: Likewise.
574 * m4/intldir.m4: Likewise.
575 * m4/intlmacosx.m4: Likewise.
576 * m4/intmax.m4: Likewise.
577 * m4/inttypes-pri.m4: Likewise.
578 * m4/lcmessage.m4: Likewise.
579 * m4/lib-ld.m4: Likewise.
580 * m4/lib-link.m4: Likewise.
581 * m4/lib-prefix.m4: Likewise.
582 * m4/lock.m4: Likewise.
583 * m4/nls.m4: Likewise.
584 * m4/po.m4: Likewise.
585 * m4/printf-posix.m4: Likewise.
586 * m4/progtest.m4: Likewise.
587 * m4/threadlib.m4: Likewise.
588 * m4/uintmax_t.m4: Likewise.
589 * m4/visibility.m4: Likewise.
590 * po/Makefile.am: Remove.
591 * po/Makefile.in.in: New file, from gettext.
592 ($(DOMAIN).pot-update): Support POTFILES-shell.
593 * po/Makevars: New file.
594 * po/POTFILES-shell: Rename to ...
595 * po/POTFILES-shell.in: ... this. Update.
596 * po/POTFILES: Rename to ...
597 * po/POTFILES.in: ... this. Update.
598 * po/Rules-quot: New file, from gettext.
599 * po/boldquot.sed: Likewise.
600 * po/en@boldquot.header: Likewise.
601 * po/en@quot.header: Likewise.
602 * po/insert-header.sin: Likewise.
603 * po/quot.sed: Likewise.
604 * po/remove-potcdate.sin: Likewise.
605
606 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
609
610 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * util/grub.d/20_linux_xen.in: Use submenus.
613
614 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
615
616 Support submenus.
617
618 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
619 parameter submenu. All users updated.
620 * grub-core/normal/main.c (free_menu): Rename to ...
621 (grub_normal_free_menu): ... this. Made global.
622 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
623 if requested.
624 * grub-core/normal/menu_entry.c (screen): New field submenu.
625 (make_screen): Set submenu.
626 (run): Open new context if requested.
627 * include/grub/menu.h (grub_menu_entry): New field submenu.
628 * include/grub/normal.h (grub_normal_free_menu): New proto.
629
630 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
631
632 Menu entries extractor.
633
634 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
635 variants.
636 (GRUB_MOD_INIT): Register new variants.
637 (GRUB_MOD_FINI): Unregister new variants.
638 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
639 into grub_cmd_legacy_source.
640 (grub_cmd_legacy_source): Implement extractor variants.
641 (GRUB_MOD_INIT): Register new variants.
642 (GRUB_MOD_FINI): Unregister new variants.
643 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
644 as an extractor.
645 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
646 search as an extractor.
647 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
648 test as an extractor.
649 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
650 as an extractor.
651 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
652 (grub_env_new_context): New function.
653 (grub_env_context_open): Likewise.
654 (grub_env_extractor_open): Likewise.
655 (grub_env_extractor_close): Likewise.
656 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
657 grub_extractor_level.
658 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
659 * include/grub/env.h (grub_env_extractor_open): New proto.
660 (grub_env_extractor_close): Likewise.
661 * include/grub/normal.h (grub_extractor_level): New external variable.
662
663 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Make cutmem accept a region specification.
666 Suggested by: Samuel Thibault
667
668 * grub-core/mmap/mmap.c (parsemem): New function.
669 (grub_cmd_cutmem): Handle new arguments.
670
671 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
672
673 New command cutmem.
674
675 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
676 (GRUB_MOD_INIT): Register new command.
677 (GRUB_MOD_FINI): Unregister new command.
678
679 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
680
681 Support some annoying BSD and Minix subpartitions.
682
683 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
684 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
685 Properly handle concatenation.
686 * grub-core/kern/device.c (grub_device_iterate): Likewise.
687 * grub-core/normal/completion.c (iterate_partition): Likewise.
688 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
689 contain partition. All users updated.
690 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
691 struct.
692 (grub_openbsdlabel_partition_map): Likewise.
693 (bsdlabel_partition_map_iterate): Rename to ..
694 (iterate_real): ... this. New arguments sector, freebsd and pmap.
695 (bsdlabel_partition_map_iterate): New function.
696 (netopenbsdlabel_partition_map_iterate): Likewise.
697 (netbsdlabel_partition_map_iterate): Likewise.
698 (openbsdlabel_partition_map_iterate): Likewise.
699 (GRUB_MOD_INIT): Register new partmaps.
700 (GRUB_MOD_FINI): Unregister new partmaps.
701 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
702 (grub_partition_msdos_iterate): ... this. All users updated.
703 Don't support embedding other than in a minix partition.
704 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
705 proto.
706 * include/grub/partition.h (grub_partition): New field msdostype.
707 * util/grub-install.in: Handle openbsd and netbsd types being in
708 part_bsd module.
709
710 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
711
712 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
713
714 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
715 * grub-core/Makefile.core.def (mdraid): Renamed to ...
716 (mdraid09): ... this.
717 (mdraid1x): New module.
718 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
719 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
720
721 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
724 vsprintf.
725
726 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
727
728 * grub-core/commands/efi/lsefimmap.c: Correct header.
729 * NEWS: Update.
730
731 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
732
733 * util/grub-editenv.c (argp_parser): Don't pass translated strings
734 as printf format strings; the translations might contain '%' which
735 could cause a crash.
736 (main): Likewise.
737 * util/grub-fstest.c (argp_parser): Likewise.
738 * util/grub-setup.c (argp_parser): Likewise.
739 (main): Likewise.
740
741 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
742
743 Use argp in grub-fstest.
744
745 * util/grub-fstest.c: Don't include getopt.h.
746 Include argp.h.
747 (root): New variable.
748 (args_count): Likewise.
749 (nparm): Likewise.
750 (num_disks): Likewise.
751 (images): Likewise.
752 (cmd): Likewise.
753 (debug_str): Likewise.
754 (args): Likewise.
755 (options): Transformed to argp.
756 (usage): Removed.
757 (main): Split argument parsing into ...
758 (argp_parser): ... this. Changed to argp format.
759 (argp): New variable.
760 (main): Use argp_parse.
761
762 2010-09-20 Tristan Gingold <gingold@free.fr>
763 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
764 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/commands/efi/lsefimmap.c: New file.
767 * grub-core/Makefile.core.def (lsefimmap): New module.
768 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
769
770 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
771
772 Pause the execution (10s max) if any errors are displayed so the user
773 has a chance to see them.
774
775 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
776 (grub_print_error): Increment grub_err_printed_errors.
777 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
778 execution if any errors were displayed.
779 (show_menu): Remove old code for pause.
780 * grub-core/normal/menu_entry.c (run): Likewise.
781 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
782 users updated.
783 (grub_normal_get_char_counter): Likewise.
784 * include/grub/err.h (grub_err_printed_errors): New external variable.
785 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
786
787 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
788
789 Support multiboot VBE info.
790
791 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
792 Take VBE info into account.
793 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
794 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
795 Call fill_vbe_info when appropriate.
796 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
797 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
798 as supported.
799 (grub_multiboot_get_mbi_size): Take new tags into account.
800 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
801 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
802 Call fill_vbe_tag when appropriate.
803 (grub_multiboot_make_mbi): Properly align tags.
804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
805 function.
806 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
807 proto.
808 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
809
810 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Suport manual terminal geometry specification.
813
814 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
815 Save state in grub_ofconsole_terminfo_output.
816 (grub_ofconsole_term): Use grub_terminfo_getwh.
817 (grub_ofconsole_getwh): Removed.
818 * grub-core/term/serial.c (grub_serial_getwh): Removed.
819 (grub_serial_term): Use grub_terminfo_getwh.
820 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
821 (options): New struct.
822 (OPTION_*): New enum.
823 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
824 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
825 width and height.
826 (grub_terminfo_getwh): New proto.
827 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
828
829 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Handle legacy "terminal" command.
832
833 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
834 and FLAG_TERMINAL.
835 (legacy_commands): Add terminal and title.
836 (grub_legacy_parse): Handle terminal. Simplify title handling.
837
838 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
841 parameters overflow.
842
843 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
844
845 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
846 widthspec.h.
847
848 * docs/grub.texi (Shell-like scripting): Document `!'.
849 (Network): Simplify using new i386-pc-pxe format. Mention
850 grub-mknetdir.
851
852 * NEWS: Update.
853
854 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
855
856 * Makefile.am (SUBDIRS): Restore "."; it's important to force
857 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
858 when needed.
859
860 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
861
862 * grub-core/commands/efi/lsefisystab.c: Correct header.
863 * grub-core/commands/efi/lssal.c: Likewise.
864 * grub-core/commands/testload.c: Likewise.
865
866 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
867
868 * util/grub-mkrescue.in: Add explicit root argument to --set to
869 prevent the UUID being interpreted as an argument to --set (matches
870 previous change to prepare_grub_to_access_device).
871
872 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
873
874 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
875 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
876 the verbosity of later #ifs.
877 (find_partition_start): Define this function on FreeBSD too.
878 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
879 function.
880 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
881 on FreeBSD.
882
883 2010-09-20 Yves Blusseau <blusseau@zetam.org>
884
885 * util/grub-editenv.c: Use argp instead of getopt.
886
887 2010-09-20 Yves Blusseau <blusseau@zetam.org>
888
889 * util/grub-setup.c: Use argp instead of getopt.
890
891 2010-09-20 Yves Blusseau <blusseau@zetam.org>
892
893 Use gnulib-tool to create gnulib source files.
894
895 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
896 grub-core/gnulib directories
897 * .bzignore: Add **/.deps and autogenerated gnulib files
898 * configure.ac: Assign auxiliary directory to build-aux, add invocation
899 of gnulib macros, add grub-core/gnulib/Makefile
900 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
901 include m4 directory to aclocal.
902 * Makefile.util.def: Remove direct compilation of gnulib source files
903 and use the new grub-core/gnulib/libgnu.a.
904 * build-aux/config.rpath: move config.rpath from top directory to
905 build-aux
906 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
907 in gnulib headers
908 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
909 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
910 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
911 header.
912 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
913 string.
914
915 2010-09-20 Yves Blusseau <blusseau@zetam.org>
916
917 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
918 grub-core/genmod.sh and grub-core/gensyminfo.sh
919
920 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
921
922 Add a test for echo command options.
923
924 * tests/grub_cmd_echo.in: New test.
925 * Makefile.util.def: Rules for new test.
926
927 2010-09-20 Szymon Janc <szymon@janc.net.pl>
928
929 Remove crc.mod and move crc command to hashsum.mod.
930 Remove lib/crc.c - users updated to use gcrypt implementation.
931
932 * grub-core/commands/crc.c: Removed.
933 * grub-core/Makefile.core.def (crc): Module removed.
934 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
935 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
936 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
937 * grub-core/lib/crc.c: Removed.
938 * include/grub/lib/crc.h: Removed.
939 * Makefile.util.def (crc): Remove lib/crc.c
940 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
941 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
942 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
943 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
944 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
945 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
946
947 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
950
951 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
952
953 Split config.h for util and core.
954
955 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
956 (ADDR32): Likewise.
957 (DATA32): Likewise.
958 (BSS_START_SYMBOL): Likewise.
959 (END_SYMBOL): Likewise.
960 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
961 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
962 * config.h.in: New file.
963 * configure.ac: Use config-util.h as config define file.
964 Rename MACHINE into GRUB_MACHINE. All users updated.
965 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
966 updated.
967 (NESTED_FUNC_ATTR): Likewise.
968 Substitue new variables.
969 (COND_HAVE_ASM_USCORE): New conditional.
970 * grub-core/Makefile.am (ASM_PREFIX): New variable.
971 (kernel_syms.lst): Use ASM_PREFIX.
972 * grub-core/kern/emu/console.c: Include config-util.h.
973 * grub-core/kern/emu/misc.c: Likewise.
974 * grub-core/kern/emu/mm.c: Likewise.
975 * include/grub/emu/misc.h: Likewise.
976 * include/grub/libgcc.h: Likewise.
977
978 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
981 constants usage.
982 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
983 Fix GRUB_TERM_KEY_* constants usage.
984 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
985
986 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
989 print pointer.
990 * grub-core/bus/usb/uhci.c: Remove empty define.
991 (grub_uhci_check_transfer): Add missing cast.
992 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
993 print pointer.
994 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
995 PRIuGRUB_SIZE.
996 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
997
998 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/Makefile.core.def (legacycfg): Add
1001 lib/i386/pc/vesa_modes_table.c on emu.
1002
1003 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1004
1005 Reduce number of temporary files generated by build system.
1006
1007 * grub-core/gencmdlist.sh: Removed.
1008 * grub-core/genfslist.sh: Removed.
1009 * grub-core/genhandlerlist.sh: Removed.
1010 * grub-core/genmodsrc.sh: Removed.
1011 * grub-core/genpartmaplist.sh: Removed.
1012 * grub-core/genparttoollist.sh: Removed.
1013 * grub-core/gentermiinallist.sh: Removed.
1014 * grub-core/genvideolist.sh: Removed.
1015
1016 * grub-core/genmod.sh.in: New file.
1017 * grub-core/gensyminfo.sh.in: New file.
1018
1019 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1020 * conf/Makefile.extra-dist: Update with new files.
1021 * gentpl.py: Remove rules related to unnecessary temporary files.
1022 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1023 and und-* files.
1024 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1025 genmod.sh scripts.
1026 * grub-core/bus/usb/uhci.c: Remove empty #define.
1027 * grub-core/genmoddep.awk: Updated with new syminfo format.
1028 * util/bash-completion.d/Makefile.am: Add config.log to
1029 CLEANFILES.
1030
1031 2010-09-19 Yves Blusseau <blusseau@zetam.org>
1032
1033 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1034
1035 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1036
1037 * util/grub-mkconfig.in: Check the config script for syntax errors
1038 before saving.
1039
1040 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
1041 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1044 platforms.
1045 * util/grub-install.in: Add EFI and IEEE1275 support.
1046 * util/i386/efi/grub-install.in: Removed.
1047 * util/ieee1275/grub-install.in: Likewise.
1048
1049 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1052 (grub_cmd_cmosclean): Likewise.
1053 (GRUB_MOD_INIT): Register command cmosclean.
1054 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1055 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1056
1057 2010-09-18 Carles Pina i Estany <carles@pina.cat>
1058 2010-09-18 Aleš Nesrsta <starous@volny.cz>
1059 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Add keyboard layouts support.
1062
1063 * Makefile.util.def (grub-mklayout): New file.
1064 (grub-kbdcomp): New script.
1065 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1066 Add keyboard_layouts.h.
1067 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1068 commands/boot.c on yeeloong.
1069 (keylayouts): New module.
1070 * grub-core/bus/usb/ohci.c
1071 * grub-core/bus/usb/uhci.c
1072 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1073 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1074 (attach_root_port): Likewise.
1075 (poll_nonroot_hub): Likewise.
1076 (grub_usb_poll_devices): Likewise.
1077 (detach_device): Close transfer.
1078 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1079 function.
1080 (grub_usb_bulk_setup_readwrite): Likewise.
1081 (grub_usb_bulk_finish_readwrite): Likewise.
1082 * grub-core/commands/keylayouts.c: New file.
1083 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1084 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1085 aliases.
1086 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1087 support scancode 2.
1088 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1089 * include/grub/keyboard_layouts.h: New file.
1090 * util/grub-mklayout.c: New file.
1091 * util/grub-kbdcomp.in: Likewise.
1092
1093 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 Unify memory types.
1096
1097 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1098 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1099 types.
1100 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1101 (grub_upper_mem): Likewise.
1102 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1103 * include/grub/memory.h (grub_memory_type_t): New enum.
1104 All users updated.
1105
1106 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/Makefile.core.def (lsapm): New module.
1109 * grub-core/commands/i386/pc/lsapm.c: New file.
1110 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1111 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1112 Likewise.
1113 * include/grub/i386/pc/apm.h: New file.
1114 * include/multiboot.h (multiboot_apm_info): New struct.
1115
1116 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 GRUB-legacy configuration file support.
1119
1120 * Makefile.util.def (grub-menulst2cfg): New util.
1121 * docs/man/grub-menulst2cfg.h2m: New file.
1122 * grub-core/Makefile.core.def (legacycfg): New module.
1123 * grub-core/commands/legacycfg.c: New file.
1124 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1125 (grub_normal_add_menu_entry): ... this.
1126 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1127 (grub_normal_set_password): ...this.
1128 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1129 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1130 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1131 * grub-core/lib/legacy_parse.c: New file.
1132 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1133 * include/grub/i386/pc/vesa_modes_table.h: New file.
1134 * include/grub/legacy_parse.h: Likewise.
1135 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1136 * util/grub-menulst2cfg.c: New file.
1137
1138 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
1139
1140 * grub-core/kern/emu/hostdisk.c
1141 (convert_system_partition_to_system_disk): Initialise node.
1142
1143 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
1144
1145 * grub-core/kern/emu/hostdisk.c
1146 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1147 leak.
1148 Reported and based on patch by: Modestas Vainius.
1149
1150 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
1151
1152 Fix DM-RAID probing with recent versions of device-mapper udev
1153 rules.
1154
1155 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1156 canonicalise device paths under /dev/mapper/.
1157 (convert_system_partition_to_system_disk): Compare the
1158 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1159 path, since device nodes under /dev/mapper/ are often symlinks.
1160
1161 2010-09-17 Yves Blusseau <blusseau@zetam.org>
1162
1163 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1164
1165 2010-09-16 Yves Blusseau <blusseau@zetam.org>
1166
1167 * configure.ac: Avoid some annoying error messages if freetype-config
1168 program is not found.
1169
1170 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
1171
1172 Support RAID on virtio devices, and others.
1173
1174 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1175 Rename to ...
1176 [__MINGW32__] (grub_find_device): ... this.
1177 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1178 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1179 reasonable default if dir is NULL.
1180 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1181 ...
1182 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1183 (grub_guess_root_device): Update callers.
1184 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1185
1186 * util/raid.c (grub_util_getdiskname): Remove.
1187 (grub_util_raid_getmembers): Use grub_find_device rather than
1188 grub_util_getdiskname.
1189
1190 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
1191
1192 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1193 needing to be compiled with serial support.
1194 (ls): Indicate that multiple files are accepted.
1195 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1196 indicate that multiple files are accepted.
1197
1198 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
1199
1200 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1201 libgrub_a_init.c, and util/bash-completion.d/grub.
1202
1203 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * util/grub-setup.c (setup): Fix incorrect container semantics.
1206
1207 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1210 misusage.
1211 Reported by: J. Nick Terry
1212
1213 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 Move embedding routines to partmap sources files.
1216
1217 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1218 [GRUB_UTIL]: New variable.
1219 (gpt_partition_map_iterate): Set part.parent.
1220 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1221 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1222 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1223 New function.
1224 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1225 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1226 (grub_partition_map) [GRUB_UTIL]: New field embed.
1227 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1228 (setup): Use ->embed.
1229
1230 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1233 function.
1234 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1235 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1236
1237 2010-09-15 Yves Blusseau <blusseau@zetam.org>
1238
1239 Add function to get completions from usage.
1240
1241 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1242 completions from usage. Use LC_ALL=C to get options properly.
1243
1244 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/gnulib/basename-lgpl.c: Imported.
1247 * grub-core/gnulib/basename.c: Likewise.
1248 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1249 * grub-core/gnulib/dirname.c: Likewise.
1250 * grub-core/gnulib/dirname.h: Likewise.
1251 * grub-core/gnulib/stripslash.c: Likewise.
1252
1253 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/gnulib/error.c: Resynced.
1256 * grub-core/gnulib/getopt.c: Likewise.
1257 * grub-core/gnulib/getopt_int.h: Likewise.
1258 * grub-core/gnulib/regex.h: Likewise.
1259 * grub-core/gnulib/regex_internal.c: Likewise.
1260 * grub-core/gnulib/regex_internal.h: Likewise.
1261
1262 2010-09-15 Szymon Janc <szymon@janc.net.pl>
1263
1264 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1265 CRC calculations and validity checks.
1266 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1267 calculations.
1268
1269 2010-09-15 Szymon Janc <szymon@janc.net.pl>
1270
1271 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1272
1273 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Fix incorrect echo options handling.
1276 Reported by: Yves Blusseau.
1277
1278 * include/grub/command.h (grub_command_flags_t): New flags
1279 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1280 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1281 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1282
1283 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1286 users updated.
1287 (GRUB_COMMAND_FLAG_MENU): Likewise.
1288 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1289 (GRUB_COMMAND_FLAG_TITLE): Removed.
1290 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1291 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1292 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1293 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1294 (grub_command_flags_t): New enum. All users updated.
1295
1296 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1297
1298 Fix solaris compilation.
1299
1300 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1301 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1302 (grub-emu-list): Likewise.
1303
1304 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 Remove deprecated root command.
1307
1308 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1309 updated.
1310
1311 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/i386/pc/grub-setup.c: Merge this ...
1314 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1315 * util/grub-setup.c: ... into this.
1316 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1317 New struct.
1318
1319 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1322 possible.
1323
1324 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1327 allocate p.
1328
1329 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1332 explicit root argument to set to prevent UUID to be interpreted as
1333 argument to set.
1334
1335 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1338
1339 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Don't export grub_gate_a20.
1342
1343 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1344 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1345 to ...
1346 (grub_gate_a20): ... this. All users updated.
1347 * include/grub/i386/pc/init.h: Removed. All users updated.
1348
1349 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Create euro.pf2 which supports most European languages.
1352
1353 * Makefile.am (grubdata_DATA): Add euro.pf2.
1354 (euro.pf2): New target.
1355 (CLEANFILES): Add euro.pf2.
1356
1357 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * configure.ac: Disable emu-usb by default to prevent inadvertent
1360 device takeover.
1361
1362 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 Disable usbserial on grub-emu since our libusb code isn't good enough
1365 yet.
1366
1367 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1368 (usbserial_pl2303): Likewise.
1369 (usbserial_ftdi): Likewise.
1370
1371 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * include/grub/disk.h (grub_disk): Remove has_partitions.
1374 All users updated.
1375 * disk/loopback.c (grub_loopback): Remove has_partitions.
1376 All users updated.
1377 (options): Remove partitions. All users updated.
1378 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1379 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1380 actual partition table is found.
1381
1382 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Remove readability checks (too many false negatives).
1385
1386 * util/grub-install.in: Remove readability checks.
1387 * util/grub-mkconfig.in: Likewise.
1388 * util/grub.d/10_hurd.in: Likewise.
1389 * util/grub.d/10_kfreebsd.in: Likewise.
1390 * util/grub.d/10_linux.in: Likewise.
1391 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1392 way.
1393
1394 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Enable acpi shutdown on all ACPI platforms.
1397
1398 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1399 on coreboo, multiboot and EFI.
1400 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1401 (grub_acpi_halt): Likewise.
1402 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1403 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1404 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1405 * grub-core/lib/i386/halt.c (grub_halt)
1406 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1407
1408 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1411 context.
1412
1413 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1416 * grub-core/video/efi_uga.c: Likewise.
1417
1418 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Filter devaliases and never open same device twice.
1421
1422 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1423 (last_ihandle): Likewise.
1424 (ofdisk_hash_ent): New member shortest.
1425 (ofdisk_hash_add): Add canonical path too.
1426 (scan): New function.
1427 (grub_ofdisk_iterate): Iterate over hashed entries.
1428 (compute_dev_path): Don't add :0.
1429 (grub_ofdisk_open): Don't really open the disk.
1430 (grub_ofdisk_close): Avoid closing unrelated disk.
1431 (grub_ofdisk_read): Implement reopen logic.
1432 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1433 New function.
1434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1435 New proto.
1436
1437 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Fix sparc64.
1440
1441 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1442 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1443 right address. Add sparc64_ieee1275_ldflags.
1444 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1445 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1446 to grub_host_to_target_addr
1447 (load_image): Likewise.
1448
1449 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/normal/completion.c (complete_file): Handle device
1452 containing slash.
1453 Fix based on patch by Doug Nazar.
1454
1455 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 grub-mknetdir script.
1458
1459 * Makefile.util.def (grub-mknetdir): New module.
1460 * tests/util/grub-shell.in: Support boot=net
1461 * util/grub-mknetdir.in: New file.
1462
1463 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 videoinfo on non-vbe.
1466
1467 * grub-core/Makefile.core.def (vbeinfo): Removed.
1468 (vbetest): Removed.
1469 (videoinfo): New module.
1470 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1471 * grub-core/commands/i386/pc/vbetest.c: Removed.
1472 * grub-core/commands/videoinfo.c: New file.
1473 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1474 specification.
1475 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1476 as vbetest.
1477 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1478 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1479 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1480 mode_number. New parameter mode. All users updated.
1481 (grub_video_gop_iterate): New function.
1482 (grub_video_efi_gop): New member iterate.
1483 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1484 (grub_vbe_set_video_mode): Remove setting useless fields.
1485 (vbe2videoinfo): New function.
1486 (grub_video_vbe_iterate): Likewise.
1487 (grub_video_vbe_setup): Use vbe2videoinfo.
1488 (grub_video_vbe_print_adapter_specific_info): New function.
1489 (grub_video_vbe_adapter): New fields iterate and
1490 print_adapter_specific_info.
1491 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1492 All users updated.
1493 (grub_video_mode_info): New field mode_number.
1494 (grub_video_adapter): New fields iterate and
1495 print_adapter_specific_info.
1496
1497 2010-09-13 Tristan Gingold <gingold@free.fr>
1498 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
1499 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/commands/efi/lsefisystab.c: New file.
1502 * grub-core/commands/efi/lssal.c: Likewise.
1503 * grub-core/Makefile.core.def (lsacpi): New module.
1504 (lsefisystab): Likewise.
1505 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1506 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1507 (grub_efi_sal_system_table): New struct.
1508 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1509 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1510 (grub_efi_sal_system_table_platform_features): Likewise.
1511 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1512 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1513 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1514 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1515
1516 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 Support explicit user claim that a device is BIOS-visible.
1519
1520 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1521 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1522 * grub-core/kern/emu/hostdisk.c
1523 (convert_system_partition_to_system_disk): Support mdX.
1524 (find_system_device): New parameter add. All users updated.
1525 (grub_util_biosdisk_is_present): New function.
1526 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1527 proto.
1528
1529 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Search hints support.
1532
1533 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1534 All users updated.
1535
1536 2010-09-13 Yves Blusseau <blusseau@zetam.org>
1537
1538 Bash completion script for util commands
1539
1540 * Makefile.am: Add util/bash-completion.d directory
1541 * configure.ac: Likewise.
1542 * util/bash-completion.d/Makefile.am: New file.
1543 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1544
1545 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1548 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1549 Reported by: Yves Blusseau.
1550
1551 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1554 partition size and offset.
1555
1556 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1559
1560 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1563
1564 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1567 (grub_xvasprintf): Likewise.
1568
1569 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1572
1573 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1576 args ending with NULL.
1577
1578 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1581 pointer.
1582
1583 2010-09-11 Szymon Janc <szymon@janc.net.pl>
1584
1585 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1586
1587 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 Shutdown using ACPI.
1590
1591 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1592 * grub-core/commands/acpihalt.c: New file.
1593 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1594 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1595 (grub_acpi_halt): New proto.
1596 (GRUB_ACPI_SLP_EN): New const.
1597 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1598 (GRUB_ACPI_OPCODE_*): New enum.
1599 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1600
1601 2010-09-11 Tristan Gingold <gingold@free.fr>
1602 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
1603 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * commands/lsacpi.c: New file.
1606 * grub-core/Makefile.core.def (lsacpi): New module.
1607 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1608 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1609 (grub_acpi_madt_entry_header): New struct.
1610 (grub_acpi_madt): Likewise.
1611 (grub_acpi_madt_entry_interrupt_override): Likewise.
1612 (grub_acpi_madt_entry_sapic): Likewise.
1613 (grub_acpi_madt_entry_lsapic): Likewise.
1614 (grub_acpi_madt_entry_platform_int_source): Likewise.
1615 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1616 (PRIuGRUB_UINT32_T): Likewise.
1617 (PRIxGRUB_UINT64_T): Likewise.
1618
1619 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Implement loading palette on ieee1275_fb.
1622
1623 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1624 (have_setcolors): Likewise.
1625 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1626 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1627 (grub_video_ieee1275_set_palette): Implement.
1628
1629 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1630 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
1631
1632 * util/grub-install.in (grub_partition): New variable.
1633 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1634 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1635 Fixes a bug reported by Yves Blusseau.
1636
1637 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 Fix emu on mipsel.
1640
1641 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1642 =grub_cpu_flush_cache on all mips and not only yeeloong.
1643 * configure.ac (COND_mips): New conditional.
1644 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1645 platforms.
1646 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1647 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1648 [GRUB_LINKER_HAVE_INIT]: New function.
1649 (grub_emu_post_init): Likewise.
1650 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1651 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1652 * include/grub/cache.h (_mips): Include mips/cache.h.
1653 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1654 LVM and RAID prototypes.
1655 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1656 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1657 function.
1658
1659 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
1660
1661 * util/grub-install.in: Don't try to verify core.img until after
1662 running grub-mkimage to create it.
1663
1664 2010-09-10 Robert Millan <rmh@gnu.org>
1665
1666 * util/grub.d/10_hurd.in: Add misc readability checks.
1667 * util/grub.d/10_kfreebsd.in: Likewise.
1668 * util/grub.d/10_linux.in: Likewise.
1669
1670 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
1671
1672 * util/grub-install.in: ${imgext} won't be defined here until the
1673 install branch is merged. For the meantime, only verify core.img on
1674 i386-pc and sparc64-ieee1275 platforms.
1675
1676 2010-09-10 Robert Millan <rmh@gnu.org>
1677
1678 Solaris support in grub_find_zpool_from_dir(). Thanks
1679 Seth Goldberg for referring to getextmntent() facility.
1680
1681 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1682 `sys/mkdev.h'.
1683 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1684 `<sys/mnttab.h>'.
1685 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1686 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1687 method for finding zpool name.
1688
1689 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
1690
1691 grub-fstest needs the host and hostfs modules while other utilities
1692 actively require those modules to be absent, so grub-fstest needs
1693 its own initialisation and finalisation code.
1694
1695 * Makefile.am (grub_fstest.pp): New target.
1696 (grub_fstest_init.lst): Likewise.
1697 (grub_fstest_init.c): Likewise.
1698 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1699
1700 2010-09-10 Robert Millan <rmh@gnu.org>
1701
1702 * configure.ac: Check for `struct statfs.f_fstypename' and
1703 `struct statfs.f_mntfromname'.
1704
1705 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1706 kFreeBSD-specific code.
1707
1708 2010-09-10 Robert Millan <rmh@gnu.org>
1709
1710 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1711 on ZFS. Now non-main filesystems are supported as / too.
1712
1713 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
1714
1715 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1716 and grub-core/disk/host.c to ...
1717 (grub-fstest): ... here. Having the host disk implementation
1718 present confuses grub-probe and other utility programs.
1719
1720 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1721 when writing to a file, not when writing to stdout.
1722
1723 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1724
1725 * tests/partmap_test.in: New test for partitions.
1726 * Makefile.util.def: Rules for new test.
1727
1728 2010-09-09 Robert Millan <rmh@gnu.org>
1729
1730 * util/grub-probe.c (probe): Fix a pair of unhandled error
1731 conditions.
1732
1733 2010-09-09 Robert Millan <rmh@gnu.org>
1734
1735 Basic Btrfs support (detection and UUID).
1736
1737 * grub-core/fs/btrfs.c: New file.
1738 * Makefile.util.def (library): Register btrfs.c.
1739 * grub-core/Makefile.core.def: Likewise.
1740
1741 2010-09-08 Robert Millan <rmh@gnu.org>
1742
1743 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1744 with (optional) parameters to specify device and relative path.
1745 * util/grub-install.in: Use is_path_readable_by_grub() to
1746 verify readability of a few critical files.
1747 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1748 verify readability of grub.cfg.new.
1749
1750 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 Split minix.mod into minix.mod and minix2.mod.
1753
1754 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1755 * grub-core/Makefile.core.def (minix2): New module.
1756 * grub-core/fs/minix.c: Use definitions instead of runtime version
1757 checking.
1758 * grub-core/fs/minix2.c: New file.
1759
1760 2010-09-08 Yves Blusseau <blusseau@zetam.org>
1761
1762 Add new --boot-directory option to replace --root-directory
1763
1764 * util/grub-install.in: Add new --boot-directory option
1765 * util/grub-reboot.in: Likewise.
1766 * util/grub-set-default.in: Likewise.
1767
1768 2010-09-08 Yves Blusseau <blusseau@zetam.org>
1769
1770 * util/grub-mkconfig.in: Use new variable.
1771
1772 2010-09-08 Yves Blusseau <blusseau@zetam.org>
1773
1774 * configure.ac: Define some useful variables.
1775
1776 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1779 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1780 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1781 Use terminfo and don't use cursor-on/cursor-off unless it's known
1782 to work.
1783 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1784 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1785
1786 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
1787
1788 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
1789 starts with "(,", fill the drive containing the loaded image in
1790 between those two characters, but expect that a full partition
1791 specification including partition map names will follow.
1792
1793 2010-09-08 Robert Millan <rmh@gnu.org>
1794
1795 * configure.ac: Remove `--enable-grub-fstest' option.
1796 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
1797
1798 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
1799 `grub-fstest' instead of `grub-probe' for readability verification.
1800 * util/grub-probe.c (probe): Remove readability verification kludge.
1801
1802 2010-09-08 Robert Millan <rmh@gnu.org>
1803
1804 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
1805 initializing `GRUB_FS'.
1806
1807 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
1808
1809 Not command (!) support to GRUB script.
1810
1811 * tests/grub_script_not.in: New test.
1812 * Makefile.util.def: Rules for new test.
1813
1814 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1815 ! command as a special case.
1816 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
1817
1818 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1819
1820 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
1821 grub_free.
1822
1823 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1824
1825 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
1826
1827 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1828
1829 * docs/grub.texi (Shell-like scripting): Documentation for break,
1830 continue, shift and return commands.
1831
1832 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Rename CD-ROM to cd on BIOS.
1835
1836 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
1837 "cd".
1838 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
1839
1840 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
1843 * util/grub-probe.c (main): Likewise.
1844 * util/i386/pc/grub-setup.c (main): Likewise.
1845 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1846 Reported and debugged by: alexxy
1847
1848 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
1851 diagnostic info.
1852
1853 2010-09-05 Jo Shields <directhex@apebox.org>
1854
1855 * util/grub.d/30_os-prober.in: Add missing classes.
1856
1857 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * docs/grub.texi (Theme file format): Document new position format.
1860
1861 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
1864 a table. Use @code instead of @verbatim.
1865
1866 2010-09-05 Colin D Bennett <colin@gibibit.com>
1867
1868 Gfxmenu documentation.
1869
1870 * docs/grub.texi (Theme file format): New chapter.
1871
1872 2010-09-05 Szymon Janc <szymon@janc.net.pl>
1873
1874 * grub-core/Makefile.core.def (xzio): New module.
1875 * grub-core/io/xzio.c: New file.
1876 * grub-core/lib/xzembed/xz.h: New file (from xembed).
1877 * grub-core/lib/xzembed/xz_config.h: Likewise.
1878 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
1879 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
1880 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
1881 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
1882 * grub-core/lib/xzembed/xz_private.h: Likewise.
1883 * grub-core/lib/xzembed/xz_stream.h: Likewise.
1884 * include/grub/file.h (grub_file_filter_id): New compression filter
1885 GRUB_FILE_FILTER_XZIO.
1886
1887 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
1890 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
1891 size.
1892
1893 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
1896 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
1897
1898 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 Uncompressed checksum support.
1901
1902 * grub-core/commands/hashsum.c (options): Add option --uncompress.
1903 (check_list): New parameter uncompress.
1904 (grub_cmd_hashsum): Handle --uncompress.
1905
1906 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 Reintroduce testload.
1909
1910 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
1911 from here ...
1912 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
1913 (GRUB_MOD_INIT): New function.
1914 (GRUB_MOD_FINI): Likewise.
1915 * grub-core/Makefile.core.def (testload): New module.
1916
1917 2010-09-05 Szymon Janc <szymon@janc.net.pl>
1918
1919 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
1920 (uint8_t): New type.
1921 (uint16_t): Likewise.
1922 (uint32_t): Likewise.
1923 (uint64_t): Likewise.
1924
1925 2010-09-05 Szymon Janc <szymon@janc.net.pl>
1926
1927 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
1928
1929 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
1932 Made static.
1933 (grub_gzfile_open): Removed. All users updated.
1934 (GRUB_MOD_INIT): New function.
1935 (GRUB_MOD_FINI): Likewise.
1936 * grub-core/kern/file.c (grub_file_filters_all): New variable.
1937 (grub_file_filters_enabled): Likewise.
1938 (grub_file_open): Handle filters.
1939 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
1940 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
1941 * include/grub/file.h (grub_file_filter_id_t): New type.
1942 (grub_file_filter_t): Likewise.
1943 (grub_file_filters_all): New extern variable.
1944 (grub_file_filters_enabled): Likewise.
1945 (grub_file_filter_register): New inline function.
1946 (grub_file_filter_unregister): Likewise.
1947 (grub_file_filter_disable): Likewise.
1948 (grub_file_filter_disable_compression): Likewise.
1949 * include/grub/gzio.h: Removed.
1950
1951 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1952
1953 Filename expansion support for wildcards in GRUB script.
1954
1955 * tests/grub_script_expansion.in: New test.
1956 * Makefile.util.def: Rule for new test.
1957
1958 * grub-core/commands/wildcard.c: New file, implements filename
1959 expansion support for GRUB script.
1960 * grub-core/Makefile.core.def: Rule update for regexp.mod.
1961 * grub-core/script/argv.c: Cosmetic changes.
1962 * grub-core/script/execute.c (grub_script_arglist_to_argv):
1963 Refactored to perform wildcard expansion on arguments.
1964 * include/grub/script_sh.h (grub_script_wildcard_translator): New
1965 struct.
1966
1967 * tests/util/grub-shell.in: Fix quoting for read input.
1968
1969 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1970
1971 Support for updating environment variables with matched substrings
1972 of regexp.
1973
1974 * tests/grub_cmd_regexp.in: New test.
1975 * Makefile.util.def: Rule for new test.
1976
1977 * grub-core/commands/regexp.c: New option -s to update environment
1978 variables with regexp matches.
1979
1980 2010-09-04 Szymon Janc <szymon@janc.net.pl>
1981
1982 * include/grub/file.h (grub_file): New member not_easly_seekable.
1983 (grub_file_seekable): New inline function.
1984 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
1985 easily seekable.
1986 (grub_gzio_open): Set not_easly_seekable.
1987 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
1988 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
1989
1990 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1991
1992 Support for options to appear multiple times on cmdline.
1993
1994 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
1995 * grub-core/commands/extcmd.c: Support for repeatable option.
1996 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
1997 repeatable option support.
1998
1999 Refactor menuentry into a regular command.
2000
2001 * grub-core/commands/menuentry.c: New file, menuentry command
2002 implementation.
2003 * grub-core/Makefile.core.def: Rule update for normal.mod.
2004 * grub-core/normal/main.c: Moved menuentry creation to
2005 grub-core/commands/menuentry.c.
2006 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2007 (grub_menu_execute_entry_real): Removed.
2008 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2009 function.
2010 (grub_script_execute_menuentry): Removed.
2011 * grub-core/script/parser.y (menuentry): Removed.
2012 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2013 * grub-core/script/yylex.l (menuentry): Removed.
2014 * include/grub/menu.h (grub_menu_init): New prototype.
2015 (grub_menu_fini): New prototype.
2016 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2017 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2018 (grub_script_execute_sourcecode): New prototype.
2019
2020 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2021
2022 "return" command for GRUB script functions.
2023
2024 * tests/grub_script_return.in: New test.
2025 * Makefile.util.def: Rules for new test.
2026
2027 * grub-core/script/execute.c (grub_script_return): New function.
2028 * grub-core/script/main.c: Register/unregister return commaond.
2029 * include/grub/script_sh.h (grub_script_return): New prototype.
2030
2031 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2032
2033 "setparams" command to update positional parameters.
2034
2035 * tests/grub_script_setparams.in: New test.
2036 * Makefile.util.def: Rules for new test.
2037
2038 * grub-core/script/argv.c (grub_script_argv_make): New function.
2039 * grub-core/script/execute.c (replace_scope): New function.
2040 (grub_script_setparams): New function.
2041 * grub-core/script/lexer.c: Remove unused variables.
2042 * grub-core/script/main.c: Register/unregister setparams command.
2043 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2044 (grub_script_setparams): New prototype.
2045
2046 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2047
2048 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2049 grub_free order.
2050
2051 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2052
2053 Support for passing block of commands as an argument to extcmds.
2054
2055 * Makefile.util.def: Rules for new test.
2056 * tests/grub_script_blockarg.in: New test.
2057 * grub-core/tests/test_blockarg.c: New file, block argument
2058 command used in the test.
2059
2060 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2061 (grub_register_extcmd_prio): New function prototype.
2062 (grub_extcmd_dispatcher): New function prototype.
2063 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2064 type.
2065 * include/grub/script_sh.h (struct grub_script): New members
2066 `children', `next_siblings' and `refcnt' for block arguments and
2067 reference counting.
2068 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2069 (grub_script_arg): New member `script' for block argument.
2070 (grub_script_argv): New member `script' for block argument.
2071 (grub_parser_param): New member `scripts' for block argument.
2072 (grub_script_mem_free): New extern function prototype.
2073 (grub_script_ref): New function prototype.
2074 (grub_script_unref): New function prototype.
2075
2076 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2077 extcmd form to support block arguments.
2078 * grub-core/script/argv.c: Block arguments support.
2079 * grub-core/script/execute.c: Likewise.
2080 * grub-core/script/lexer.c: Likewise.
2081 * grub-core/script/main.c: Likewise.
2082 * grub-core/script/script.c: Likewise.
2083 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2084 non-terminals.
2085
2086 * grub-core/commands/acpi.c: Update extcmd implementations with
2087 grub_extcmd_context_t.
2088 * grub-core/commands/cat.c: Likewise.
2089 * grub-core/commands/echo.c: Likewise.
2090 * grub-core/commands/extcmd.c: Likewise.
2091 * grub-core/commands/hashsum.c: Likewise.
2092 * grub-core/commands/hdparm.c: Likewise.
2093 * grub-core/commands/help.c: Likewise.
2094 * grub-core/commands/hexdump.c: Likewise.
2095 * grub-core/commands/i386/cpuid.c: Likewise.
2096 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2097 * grub-core/commands/i386/pc/halt.c: Likewise.
2098 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2099 * grub-core/commands/iorw.c: Likewise.
2100 * grub-core/commands/keystatus.c: Likewise.
2101 * grub-core/commands/loadenv.c: Likewise.
2102 * grub-core/commands/ls.c: Likewise.
2103 * grub-core/commands/lspci.c: Likewise.
2104 * grub-core/commands/memrw.c: Likewise.
2105 * grub-core/commands/probe.c: Likewise.
2106 * grub-core/commands/search_wrap.c: Likewise.
2107 * grub-core/commands/setpci.c: Likewise.
2108 * grub-core/commands/sleep.c: Likewise.
2109 * grub-core/disk/loopback.c: Likewise.
2110 * grub-core/hello/hello.c: Likewise.
2111 * grub-core/loader/i386/bsd.c: Likewise.
2112 * grub-core/loader/xnu.c: Likewise.
2113 * grub-core/term/gfxterm.c: Likewise.
2114 * grub-core/term/serial.c: Likewise.
2115 * grub-core/tests/lib/functional_test.c: Likewise.
2116
2117 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2118
2119 Multi-line quoted strings support.
2120
2121 * grub-core/script/lexer.c (append_newline): Removed.
2122 (grub_script_lexer_yywrap): Refactored.
2123 (grub_script_lexer_init): Refactored.
2124 * grub-core/script/yylex.l (yywrap): New function.
2125 (grub_lexer_resplit): New function.
2126 (grub_lexer_unput): New function.
2127 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2128 and resplit.
2129 * tests/grub_script_echo1.in: Added few more testcases.
2130
2131 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/kern/misc.c: Don't add abort alias in utils.
2134 Reported by: echoline.
2135
2136 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2137
2138 Add missing files into "make dist" tarball for other platforms.
2139
2140 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2141 * conf/Makefile.common (dist_noinst_DATA): New variable.
2142 * conf/Makefile.extra-dist: Added missing make dist files.
2143 * grub-core/Makefile.core.def: Likewise.
2144
2145 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Compress grub_prefix.
2148
2149 * grub-core/boot/i386/pc/lnxboot.S: Use
2150 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2151 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2152 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2153 GRUB_MACHINE_PREFIX_END. All users updated.
2154 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2155 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2156 + 0x40.
2157 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2158 * util/grub-mkimage.c (image_target_desc): Change data_end to
2159 prefix_end. All users updated.
2160
2161 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2164 value.
2165 (grub_openbsd_boot): Likewise.
2166 (grub_netbsd_boot): Likewise.
2167 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2168 (grub_xnu_boot): Likewise.
2169
2170 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * configure.ac: Clean LIBS variable after tests.
2173
2174 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2177
2178 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2181 echo if libdevmapper will be used.
2182
2183 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2184
2185 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2186 constant for the same file.
2187
2188 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2191
2192 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
2193
2194 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2195 grub-core/*.pp.
2196
2197 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
2198
2199 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2200 required by the boot protocol.
2201
2202 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2203 ebp and edi members.
2204 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2205 state.ebp and state.edi.
2206 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2207 %ebp and %edi according to grub_relocator32_ebp and
2208 grub_relocator32_edi respectively.
2209 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2210 and state.edi.
2211
2212 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 Add i386-pc-pxe image target.
2215
2216 * util/grub-mkimage.c (image_target_desc): New enum value
2217 IMAGE_I386_PC_PXE.
2218 (image_targets): New target i386-pc-pxe.
2219 (generate_image): Handle i386-pc-pxe image.
2220
2221 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 Fix grub_pxe_scan.
2224
2225 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2226 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2227 All users updated.
2228 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2229 (grub_pxe_pxenv): Correct type.
2230
2231 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * NEWS: Document most of the important changes since 1.98.
2234
2235 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2238 generated manual page) a little.
2239
2240 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
2241
2242 * docs/grub.texi: Add myself as an author.
2243
2244 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * Makefile.util.def (libgrub.a): Add missing sunpc.
2247 Reported by: Seth Goldberg.
2248
2249 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 Interrupt wrapping and code simplifications.
2252
2253 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2254 x86_noieee1275 which are functionaly equivalent in this case.
2255 (grub-install): Make source on each platform explicit. Enable on
2256 all noemu.
2257 * gentpl.py (x86_efi_pc): Removed group.
2258 (x86_noefi): Likewise.
2259 (i386_noefi): Likewise.
2260 (x86_noieee1275): Likewise.
2261 (i386_noieee1275): Likewise.
2262 (i386_noefi_noieee1275): Likewise.
2263 (i386_pc_qemu_coreboot): Likewise.
2264 (i386_coreboot_multiboot): Likewise.
2265 (i386_pc_coreboot_multiboot_qemu): Likewise.
2266 (x86_noefi_mips): Likewise.
2267 (noieee1275): Likewise.
2268 (ieee1275_mips): Likewise.
2269 (noemu_noieee1275): Likewise.
2270 (cmos): New group.
2271 (usb): Likewise.
2272 (videoinkernel): Likewise.
2273 (videomodules): Likewise.
2274 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
2275 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2276 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2277 include/grub/loader.h, include/grub/msdos_partition.h,
2278 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2279 include/grub/machine/console.h, include/grub/machine/vga.h,
2280 include/grub/machine/vbe.h, include/grub/machine/init.h,
2281 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2282 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
2283 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
2284 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2285 * grub-core/Makefile.core.def (kernel): Explicit the source for
2286 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2287 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2288 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2289 Use videoinkernel tag.
2290 (usb): Enable on all usb.
2291 (usbserial_common): Likewise.
2292 (usbserial_pl2303): Likewise.
2293 (usbserial_ftdi): Likewise.
2294 (uhci): Enable on all x86.
2295 (ohci): Enable on all pci.
2296 (cmostest): Enable on all CMOS.
2297 (acpi): Include commands/acpi.c on all platforms.
2298 (halt): Add relevant lib/*/halt.c.
2299 (hdparm): Enable on all pci.
2300 (lspci): Likewise.
2301 (usbtest): Enable on all usb.
2302 (ata): Enable on all pci.
2303 (ata_pthru): Likewise.
2304 (usbms): Enable on all usb.
2305 (usb_keyboard): Likewise.
2306 (font): Use tag videomodules.
2307 (bufio): Likewise.
2308 (datetime): Use tag cmos. Enable on all noemu.
2309 (mmap): Use tags common and x86.
2310 (gfxterm): Use tag videomodules.
2311 (bitmap): Likewise.
2312 (bitmap_scale): Likewise.
2313 (video_fb): Likewise.
2314 (video): Likewise.
2315 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2316 adjust padding accordingly. All users updated.
2317 (grub_ohci_transaction): Fix bad format specification.
2318 (GRUB_MOD_INIT): Add asserts for struct size.
2319 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2320 (grub_alloc_td): Likewise.
2321 (grub_free_queue): Likewise.
2322 (grub_uhci_transfer): Likewise.
2323 (grub_uhci_transaction): Fix bad format specification.
2324 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2325 (grub_usb_bulk_readwrite): Likewise.
2326 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2327 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2328 Made static.
2329 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2330 Made static.
2331 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2332 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2333 Transformed into C.
2334 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2335 Moved from here ...
2336 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2337 ... here. Transformed into C. Made static.
2338 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2339 Moved from here ...
2340 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2341 ... here. Transformed into C. Made static.
2342 * grub-core/kern/i386/pc/startup.S
2343 (grub_biosdisk_check_int13_extensions): Moved from here ...
2344 * grub-core/disk/i386/pc/biosdisk.c
2345 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2346 Made static.
2347 * grub-core/kern/i386/pc/startup.S
2348 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2349 * grub-core/disk/i386/pc/biosdisk.c
2350 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2351 Transformed into C. Made static.
2352 * grub-core/kern/i386/pc/startup.S
2353 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2354 * grub-core/disk/i386/pc/biosdisk.c
2355 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2356 Transformed into C. Made static.
2357 * grub-core/kern/i386/pc/startup.S
2358 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2359 * grub-core/disk/i386/pc/biosdisk.c
2360 (grub_biosdisk_get_diskinfo_standard): ... here.
2361 Transformed into C. Made static.
2362 * grub-core/kern/i386/pc/startup.S
2363 (grub_biosdisk_get_num_floppies): Moved from here ...
2364 * grub-core/disk/i386/pc/biosdisk.c
2365 (grub_biosdisk_get_num_floppies): ... here.
2366 Transformed into C. Made static.
2367 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2368 New function.
2369 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2370 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2371 Transformed into C. Made static.
2372 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2373 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2374 Transformed into C. Made static.
2375 * grub-core/kern/i386/ieee1275/init.c: Removed.
2376 * grub-core/kern/i386/misc.S: Likewise.
2377 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2378 Splitted from here ...
2379 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2380 Transformed into C. Made static. All users updated.
2381 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2382 Transformed into C. Made static. All users updated.
2383 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2384 Moved from here...
2385 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2386 Transformed into C. Made static. All users updated.
2387 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2388 Moved from here...
2389 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2390 Transformed into C. Made static. All users updated.
2391 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2392 Removed (replaced by C version).
2393 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2394 Moved from here...
2395 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2396 Transformed into C. Made static.
2397 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2398 Moved from here...
2399 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2400 ... here. Transformed into C.
2401 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2402 Moved from here...
2403 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2404 ... here. Transformed into C.
2405 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2406 Moved from here...
2407 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2408 ... here. Transformed into C. Made static.
2409 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2410 Moved from here...
2411 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2412 ... here. Transformed into C.
2413 * grub-core/kern/i386/pc/startup.S
2414 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2415 * grub-core/video/i386/pc/vbe.c
2416 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
2417 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2418 Moved from here...
2419 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2420 ... here. Transformed into C.
2421 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2422 Moved from here...
2423 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2424 ... here. Transformed into C.
2425 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2426 Moved from here...
2427 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2428 ... here. Transformed into C.
2429 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2430 Moved from here...
2431 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2432 ... here. Transformed into C.
2433 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2434 Moved from here...
2435 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2436 ... here. Transformed into C. Made static.
2437 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2438 Moved from here...
2439 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2440 ... here. Transformed into C. Made static.
2441 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2442 Moved from here...
2443 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2444 ... here. Transformed into C. Made static.
2445 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2446 pxe_rm_entry as third argument.
2447 (grub_bios_interrupt): New function.
2448 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2449 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2450 of calling grub_stop.
2451 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2452 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2453 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2454 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2455 * grub-core/lib/i386/halt.c: Moved from here ...
2456 * grub-core/lib/i386/halt.c: ... here.
2457 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2458 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2459 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2460 grub_stop_floppy.
2461 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2462 * include/grub/i386/coreboot/init.h: Removed.
2463 * include/grub/i386/multiboot/init.h: Likewise.
2464 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2465 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2466 * include/grub/i386/pc/int.h: New file.
2467 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2468 (grub_pxe_scan): Removed.
2469 (grub_pxe_call): Update prototype.
2470 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2471 prototypes.
2472 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2473 * include/grub/i386/qemu/init.h: Removed.
2474 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2475 noreturn.
2476 (grub_halt): Likewise.
2477 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2478 (grub_reboot): Likewise.
2479 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2480 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
2481 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2482
2483 2010-08-30 Robert Millan <rmh@gnu.org>
2484
2485 * NEWS: Document addition of ZFS support in `grub-install' and
2486 `grub-mkconfig'.
2487
2488 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2489
2490 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2491 dprintf output.
2492
2493 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Remove leftover embedding of font objects.
2496
2497 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2498 * util/grub-install.in (font): Removed.
2499 * util/grub-mkimage.c (generate_image): Remove font support. All users
2500 updated.
2501
2502 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 Remove leftover embedding of font objects.
2505
2506 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2507 * util/grub-install.in (font): Removed.
2508 * util/grub-mkimage.c (generate_image): Remove font support. All users
2509 updated.
2510
2511 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * docs/grub.texi (Network): Fix reference to pxe_blksize.
2514 Reported by: Ian Turner
2515
2516 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2519 timeout to avoid indefinite boot stalling.
2520
2521 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2524 (grub_env_write_color_highlight): Likewise.
2525
2526 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/normal/term.c (print_more): Return to normal and not
2529 to standard state after printing "---MORE---".
2530
2531 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2534 Mask out the bit 0x80 since it has other meaning that specifiing color.
2535
2536 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 New relocator. Allows for more kernel support and more straightforward
2539 loader writing.
2540
2541 * Makefile.am (BOOTTARGET): New variable.
2542 (QEMU32): Likewise.
2543 (linux.init.x86_64): New target.
2544 (linux.init.i386): Likewise.
2545 (multiboot.elf): Likewise.
2546 (kfreebsd.elf): Likewise.
2547 (kfreebsd.aout): Likewise.
2548 (pc-chainloader.elf): Likewise.
2549 (pc-chainloader.bin): Likewise.
2550 (ntldr.elf): Likewise.
2551 (ntldr.bin): Likewise.
2552 (multiboot2.elf): Likewise.
2553 (kfreebsd.init.x86_64): Likewise.
2554 (kfreebsd.init.i386): Likewise.
2555 (knetbsd.init.i386): Likewise.
2556 (kopenbsd.init.i386): Likewise.
2557 (knetbsd.init.x86_64): Likewise.
2558 (kopenbsd.init.x86_64): Likewise.
2559 (linux-initramfs.i386): Likewise.
2560 (linux-initramfs.x86_64): Likewise.
2561 (kfreebsd-mfsroot.i386.img): Likewise.
2562 (knetbsd.image.i386): Likewise.
2563 (kopenbsd.image.i386): Likewise.
2564 (kopenbsd.image.x86_64): Likewise.
2565 (knetbsd.miniroot-image.i386.img): Likewise.
2566 (kfreebsd-mfsroot.x86_64.img): Likewise.
2567 (knetbsd.image.x86_64): Likewise.
2568 (knetbsd.miniroot-image.x86_64.img): Likewise.
2569 (kfreebsd-mfsroot.i386.gz): Likewise.
2570 (bootcheck-kfreebsd-i386): Likewise.
2571 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2572 (bootcheck-kfreebsd-x86_64): Likewise.
2573 (knetbsd.miniroot-image.i386.gz): Likewise.
2574 (bootcheck-knetbsd-i386): Likewise.
2575 (bootcheck-kopenbsd-i386): Likewise.
2576 (bootcheck-kopenbsd-x86_64): Likewise.
2577 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2578 (bootcheck-knetbsd-x86_64): Likewise.
2579 (bootcheck-linux-i386): Likewise.
2580 (bootcheck-linux-x86_64): Likewise.
2581 (bootcheck-linux16-i386): Likewise.
2582 (bootcheck-linux16-x86_64): Likewise.
2583 (bootcheck-multiboot): Likewise.
2584 (bootcheck-multiboot2): Likewise.
2585 (bootcheck-kfreebsd-aout): Likewise.
2586 (bootcheck-pc-chainloader): Likewise.
2587 (bootcheck-ntldr): Likewise.
2588 (CLEANFILES): Add new targets.
2589 (BOOTCHECKS): New variable.
2590 (.PHONY): Add bootchecks.
2591 (SUCCESSFUL_BOOT_STRING): New variable.
2592 (BOOTCHECK_TIMEOUT): Likewise.
2593 (bootcheck): New target
2594 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2595 * configure.ac: Correct efiemu excuse.
2596 * docs/grub.texi (Supported kernels): New chapter.
2597 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2598 include/grub/mm_private.h. Simplify inclusion of
2599 include/grub/boot.h, include/grub/loader.h
2600 and include/grub/msdos_partition.h
2601 (KERNEL_HEADER_FILES) [i386_coreboot]:
2602 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2603 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2604 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2605 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2606 include/grub/machine/loader.h.
2607 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2608 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2609 extra_dist.
2610 (pci.mod): Enable on i386-multiboot.
2611 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2612 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2613 i386-qemu.
2614 (relocator.mod): Rewritten.
2615 (aout.mod): Enable on all x86.
2616 (bsd.mod): Likewise.
2617 (ntldr.mod): New module.
2618 (linux.mod): Use loader/i386/linux.c on all x86.
2619 (xnu.mod): Enable on all x86.
2620 (vga_text.mod): disable on EFI and QEMU.
2621 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2622 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2623 * grub-core/efiemu/loadcore.c: Likewise.
2624 * grub-core/efiemu/main.c: Likewise.
2625 (grub_efiemu_exit_boot_services): Removed.
2626 (grub_efiemu_finish_boot_services): Likewise.
2627 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2628 function.
2629 * grub-core/efiemu/i386/nocfgtables.c: New file.
2630 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2631 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2632 (grub_efi_finish_boot_services): Moved from here ...
2633 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2634 Fille finish memory map and related data.
2635 (finish_mmap_buf): New variable.
2636 (grub_efi_uintn_t finish_mmap_size): Likewise.
2637 (grub_efi_uintn_t finish_key): Likewise.
2638 (grub_efi_uintn_t finish_desc_size): Likewise.
2639 (grub_efi_uint32_t finish_desc_version): Likewise.
2640 (grub_efi_is_finished): Likewise.
2641 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2642 finished.
2643 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2644 (grub_elf64_phdr_iterate): Likewise.
2645 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2646 (grub_os_area_size): Likewise.
2647 (grub_machine_init): Don't reserve os area.
2648 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2649 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2650 * grub-core/kern/i386/loader.S: Removed.
2651 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2652 (grub_os_area_size): Likewise.
2653 (grub_machine_init): Don't reserve os area.
2654 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2655 Don't call grub_dl_unload_all.
2656 Don't include loader.S.
2657 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2658 Declare the memory after _end as available.
2659 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
2660 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
2661 (GRUB_MM_ALLOC_MAGIC): Moved from here...
2662 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2663 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2664 * include/grub/mm_private.h (grub_mm_header): ... here.
2665 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2666 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
2667 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2668 (grub_mm_region): ..here. Removed addr. Added pre_size.
2669 All users updated.
2670 * grub-core/kern/mm.c (base): Renamed to ...
2671 (grub_mm_base): ... this. Made global.
2672 (grub_real_malloc): Alloc from end of region.
2673 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2674 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2675 * grub-core/kern/powerpc/cache_flush.S: ... here.
2676 * grub-core/lib/efi/relocator.c: New file.
2677 * grub-core/lib/i386/relocator.c: Rewritten.
2678 * grub-core/lib/i386/relocator16.S: New file.
2679 * grub-core/lib/i386/relocator32.S: Likewise.
2680 * grub-core/lib/i386/relocator64.S: Likewise.
2681 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2682 * grub-core/lib/i386/relocator_common.S: New file.
2683 * grub-core/lib/ieee1275/relocator.c: Likewise.
2684 * grub-core/lib/mips/relocator.c: Rewritten.
2685 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2686 stylistic adjustments.
2687 * grub-core/lib/powerpc/relocator.c: New file.
2688 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2689 * grub-core/lib/relocator.c: Rewritten.
2690 * grub-core/lib/x86_64/relocator_asm.S: New file.
2691 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2692 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2693 (bsd_tag): New struct.
2694 (tags): New variable.
2695 (tags_last): Likewise.
2696 (netbsd_module): New struct.
2697 (netbsd_mods): New variable.
2698 (netbsd_mods_last): Likewise.
2699 (openbsd_opts): New parameter "serial".
2700 (OPENBSD_SERIAL_ARG): New definition.
2701 (netbsd_opts): New parameter "serial".
2702 (NETBSD_SERIAL_ARG): New definition.
2703 (grub_freebsd_add_meta): Reorganised into ...
2704 (grub_bsd_add_meta): ...this. All users updated.
2705 (grub_freebsd_add_mmap): Reorganised into ...
2706 (generate_e820_mmap): ...this...
2707 (grub_bsd_add_mmap): ...and this. All users updated.
2708 (grub_freebsd_list_modules): Use tags.
2709 (grub_netbsd_add_meta_module): New function.
2710 (grub_netbsd_list_modules): Likewise.
2711 (grub_freebsd_boot): Use relocator and finish EFI.
2712 (grub_openbsd_boot): Likewise.
2713 (grub_netbsd_setup_video): New function.
2714 (grub_netbsd_add_modules): Likewise.
2715 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2716 and finish EFI.
2717 (grub_bsd_unload): Unload tags.
2718 (grub_bsd_load_aout): Use relocator.
2719 (grub_bsd_elf32_size_hook): New function.
2720 (grub_bsd_elf32_hook): Use relocator.
2721 (grub_bsd_elf64_size_hook): New function.
2722 (grub_bsd_elf64_hook): Use relocator.
2723 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2724 (grub_bsd_load): Zero-out openbsd_ramdisk.
2725 (grub_bsd_load): Use relocator.
2726 (grub_cmd_openbsd): Support serial.
2727 (grub_cmd_netbsd): Support modules.
2728 (grub_cmd_freebsd_module): Use relocator.
2729 (grub_netbsd_module_load): New function.
2730 (grub_cmd_netbsd_module): Likewise.
2731 (grub_cmd_openbsd_ramdisk): Likewise.
2732 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2733 kopenbsd_ramdisk.
2734 (GRUB_MOD_FINI): Unregister new commands.
2735 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2736 (grub_freebsd_load_elfmodule_obj): Use relocator.
2737 (grub_freebsd_load_elfmodule): Likewise.
2738 (grub_freebsd_load_elf_meta): Likewise.
2739 (grub_netbsd_load_elf_meta): New function.
2740 (grub_openbsd_find_ramdisk): Likewise.
2741 * grub-core/loader/i386/bsd_helper.S: Removed.
2742 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2743 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2744 * grub-core/loader/i386/efi/linux.c: Likewise.
2745 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2746 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2747 (DEFAULT_VIDEO_MODE): Likewise.
2748 (real_mode_target): New variable.
2749 (prot_mode_target): Likewise.
2750 (initrd_mem_target): Likewise.
2751 (relocator): Likewise.
2752 (efi_mmap_buf): Likewise.
2753 (efi_mmap_size): Likewise.
2754 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2755 (free_pages): Use relocator.
2756 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2757 (grub_linux_setup_video): Return error.
2758 (grub_linux_trampoline_start): Removed.
2759 (grub_linux_trampoline_end): Likewise.
2760 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2761 andd video parameters depending on firmware.
2762 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2763 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2764 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2765 (grub_cmd_initrd): Use relocator.
2766 * grub-core/loader/i386/linux_trampoline.S: Removed.
2767 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2768 (elf_sec_entsize): Likewise.
2769 (elf_sec_shstrndx): Likewise.
2770 (elf_sections): Likewise.
2771 (grub_multiboot_load): Use relocator.
2772 (grub_multiboot_get_mbi_size): Account for sections.
2773 (grub_multiboot_make_mbi): Use relocator and support sections.
2774 (grub_multiboot_add_elfsyms): New function.
2775 (grub_multiboot_free_mbi): Free sections.
2776 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2777 (grub_linux_real_target): Likewise.
2778 (grub_linux_real_chunk): Likewise.
2779 (grub_linux16_prot_size): Likewise.
2780 (grub_linux16_boot): Use relocator.
2781 (grub_linux_unload): Unload relocator.
2782 (grub_cmd_linux): Use relocator.
2783 (grub_cmd_initrd): Likewise.
2784 * grub-core/loader/i386/pc/ntldr.c: New file.
2785 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2786 Don't try to guess CPU frequency.
2787 (grub_xnu_set_video): Stretch bitmap.
2788 (grub_xnu_boot): Use relocator.
2789 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
2790 (grub_linux_unload): Free relocator.
2791 (grub_linux_load32): Use relocator.
2792 (grub_linux_load64): Likewise.
2793 (grub_cmd_initrd): Likewise.
2794 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
2795 (grub_multiboot_unload): Unload relocator.
2796 (grub_cmd_multiboot): Use relocator.
2797 (grub_cmd_module): Likewise.
2798 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
2799 Use relocator and support sections.
2800 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
2801 (elf_sec_entsize): Likewise.
2802 (elf_sec_shstrndx): Likewise.
2803 (elf_sections): Likewise.
2804 (grub_multiboot_load): Use relocator.
2805 (grub_multiboot_get_mbi_size): Account for sections.
2806 (grub_multiboot_make_mbi): Use relocator and support sections.
2807 (grub_multiboot_add_elfsyms): New function.
2808 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
2809 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
2810 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
2811 Prototype changed. All users updated.
2812 (grub_xnu_align_heap): Simplified.
2813 (grub_xnu_writetree_toheap): Likewise.
2814 (grub_xnu_unload): Unload relocator.
2815 (grub_cmd_xnu_kernel): Use relocator.
2816 (grub_cmd_xnu_kernel64): Likewise.
2817 (grub_xnu_register_memory): Simplified.
2818 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
2819 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
2820 EFI is finished.
2821 (grub_console_checkkey): Likewise.
2822 (grub_console_getkey): Likewise.
2823 (grub_console_getwh): Likewise.
2824 (grub_console_getxy): Likewise.
2825 (grub_console_gotoxy): Likewise.
2826 (grub_console_cls): Likewise.
2827 (grub_console_setcolorstate): Likewise.
2828 (grub_console_setcursor): Likewise.
2829 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
2830 * grub-core/tests/boot/kbsd.init-i386.S: New file.
2831 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
2832 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
2833 * grub-core/tests/boot/kernel-8086.S: Likewise.
2834 * grub-core/tests/boot/kernel-i386.S: Likewise.
2835 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
2836 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
2837 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
2838 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
2839 * grub-core/tests/boot/knetbsd.cfg: Likewise.
2840 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
2841 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
2842 * grub-core/tests/boot/linux.cfg: Likewise.
2843 * grub-core/tests/boot/linux.init-i386.S: Likewise.
2844 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
2845 * grub-core/tests/boot/linux16.cfg: Likewise.
2846 * grub-core/tests/boot/multiboot.cfg: Likewise.
2847 * grub-core/tests/boot/multiboot2.cfg: Likewise.
2848 * grub-core/tests/boot/ntldr.cfg: Likewise.
2849 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
2850 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
2851 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
2852 New definition.
2853 * include/grub/dl.h (grub_dl_unload_all): Removed.
2854 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
2855 (grub_efi_finish_boot_services): Change prototype.
2856 (grub_efi_is_finished): New variable.
2857 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
2858 Changed prototype.
2859 (grub_efiemu_finish_boot_services): Removed.
2860 (grub_machine_efiemu_init_tables): New prototype.
2861 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
2862 (grub_elf64_phdr_iterate): Likewise.
2863 * include/grub/i386/bsd.h: Include relocator.h.
2864 (freebsd_tag_header): New struct.
2865 (grub_openbsd_bios_mmap): Removed.
2866 (grub_unix_real_boot): Removed.
2867 (grub_freebsd_load_elfmodule32): Changed prototype.
2868 (grub_freebsd_load_elfmodule_obj64): Likewise.
2869 (grub_freebsd_load_elf_meta32): Likewise.
2870 (grub_freebsd_load_elf_meta64): Likewise.
2871 (grub_freebsd_add_meta): Removed.
2872 (grub_netbsd_load_elf_meta32): New prototype.
2873 (grub_netbsd_load_elf_meta64): Likewise.
2874 (grub_bsd_add_meta): Likewise.
2875 (grub_openbsd_ramdisk_descriptor): New struct.
2876 (grub_openbsd_find_ramdisk32): New prototype.
2877 (grub_openbsd_find_ramdisk64): Likewise.
2878 * include/grub/i386/coreboot/loader.h: Removed.
2879 * include/grub/i386/efi/loader.h: Likewise.
2880 * include/grub/i386/ieee1275/loader.h: Likewise.
2881 * include/grub/i386/linux.h (linux_kernel_header): Change void *
2882 to grub_uint32_t.
2883 * include/grub/i386/loader.h: Removed.
2884 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
2885 value.
2886 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
2887 (grub_phys_addr_t): New type.
2888 (grub_vtop): New inline function.
2889 (grub_map_memory): Likewise.
2890 (grub_unmap_memory): Likewise.
2891 * include/grub/i386/multiboot/loader.h: Removed.
2892 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
2893 (NETBSD_BTINFO_CONSOLE): New definition.
2894 (NETBSD_BTINFO_SYMTAB): Likewise.
2895 (NETBSD_BTINFO_MODULES): Likewise.
2896 (NETBSD_BTINFO_FRAMEBUF): Likewise.
2897 (grub_netbsd_bootinfo): New struct.
2898 (grub_netbsd_btinfo_common): Use explicit bitsize.
2899 (grub_netbsd_btinfo_mmap_entry): Removed.
2900 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
2901 (grub_netbsd_btinfo_bootdisk): New struct.
2902 (grub_netbsd_btinfo_symtab): Likewise.
2903 (grub_netbsd_btinfo_serial): Likewise.
2904 (grub_netbsd_btinfo_modules): Likewise.
2905 (grub_netbsd_btinfo_framebuf): Likewise.
2906 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
2907 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
2908 Likewise.
2909 (grub_openbsd_bootargs): Use explicit bitsize.
2910 (grub_openbsd_bootarg_console): New struct.
2911 (GRUB_OPENBSD_COM_MAJOR): New definition.
2912 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
2913 * include/grub/i386/pc/efiemu.h: Removed.
2914 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
2915 * include/grub/i386/qemu/loader.h: Removed.
2916 * include/grub/i386/relocator.h: Rewritten.
2917 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
2918 * include/grub/mips/memory.h: New file.
2919 * include/grub/mips/multiboot.h: Rewritten.
2920 * include/grub/mips/relocator.h: Rewritten.
2921 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
2922 (grub_vtop): New function.
2923 (grub_map_memory): Likewise.
2924 (grub_unmap_memory): Likewise.
2925 * include/grub/misc.h (ALIGN_DOWN): New definition.
2926 * include/grub/mm.h (grub_mm_check_real): New proto.
2927 (GRUB_MM_CHECK): New definition.
2928 * include/grub/mm_private.h: New file.
2929 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
2930 (grub_multiboot_get_mbi_size): Removed.
2931 (grub_multiboot_make_mbi): Change prottype.
2932 (grub_multiboot_set_accepts_video): New proto.
2933 (grub_multiboot_add_elfsyms): Likewise.
2934 (grub_multiboot_payload_eip): New variable.
2935 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
2936 New prototype.
2937 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
2938 New definition.
2939 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
2940 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
2941 * include/grub/powerpc/ieee1275/loader.h: Removed.
2942 * include/grub/powerpc/memory.h: New file.
2943 * include/grub/powerpc/relocator.h: Likewise.
2944 * include/grub/relocator.h: Likewise.
2945 * include/grub/relocator_private.h: Likewise.
2946 * include/grub/sparc64/ieee1275/loader.h: Removed.
2947 * include/grub/x86_64/memory.h: New file.
2948 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
2949 (grub_xnu_heap_malloc): Likewise.
2950 (grub_xnu_heap_real_start): Removed.
2951 (grub_xnu_heap_start): Likewise.
2952 (grub_xnu_relocator): New variable.
2953 (grub_xnu_heap_target_start): Likewise.
2954 * tests/util/grub-shell.in: Support non-pc.
2955 * util/grub-mkimage.c (image_targets): Fix multiboot target.
2956
2957 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
2960 on malloc error.
2961 (grub_bidi_logical_to_visual): Check that malloc succeded.
2962 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
2963 puts.
2964 (grub_xputs_normal): Likewise.
2965
2966 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
2969 extra_dist.
2970
2971 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/efiemu/runtime/efiemu.sh: Removed.
2974
2975 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
2978
2979 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
2982 dprintf.
2983
2984 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
2985
2986 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
2987
2988 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/normal/term.c (print_more): Fix a memory leak.
2991 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
2992 (grub_xputs_normal): Likewise.
2993
2994 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
2997 the begining of the string
2998
2999 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/script/script.c (grub_script_parse): Free parsed on
3002 failure.
3003
3004 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3007 on failure.
3008
3009 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3012 return.
3013
3014 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3017 (scroll_up): Fix a memory leak.
3018
3019 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3022 errors.
3023
3024 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Handle USB pendrives exposed as floppies.
3027
3028 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3029 floppy.
3030 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3031 Check for partitions on all devices.
3032
3033 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3036 (readkey): Likewise.
3037
3038 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3039
3040 Multiple variable names support to "export" command.
3041
3042 * normal/context.c (grub_cmd_export): "export" command supports
3043 multiple variable names.
3044
3045 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3046
3047 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3048 --target=drive output to Mach device name.
3049
3050 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3051
3052 New Automake based build system for GRUB.
3053
3054 * ABOUT-NLS: New file.
3055 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3056 in Makefile.util.def file.
3057 * Makefile.util.def: New file. Autogen build definitions file for
3058 GRUB host utils.
3059 * conf/Makefile.common: New file. Common variables for GRUB host
3060 utils and target modules.
3061 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3062 * docs/Makefile.am: New file. Automake file for docs.
3063 * gentpl.py: New file. Python script to generate Autogen
3064 template.
3065 * grub-core/Makefile.am: New file. GRUB target modules' rules
3066 that doesn't fit in Makefile.core.def file.
3067 * grub-core/Makefile.core.def: New file. Autogen build
3068 definitions file for GRUB target modules.
3069 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3070 specific setjmp.S file.
3071 * po/Makefile.am: New file.
3072
3073 * .bzrignore: New ignores.
3074 * INSTALL: New requirements, without Ruby.
3075 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3076 * autogen.sh: Updated to invoke autogen as necessary.
3077 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3078 and defines for Automake conditionals.
3079 * geninit.sh: Refactoring.
3080
3081 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3082 necessary.
3083 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3084 New prototype.
3085
3086 * include/grub/test.h: Fix functional test modules' naming.
3087 * grub-core/tests/example_functional_test.c: Fix test module name.
3088
3089 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3090 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3091 * util/grub-editenv.c: Likewise.
3092 * util/grub-fstest.c: Likewise.
3093 * util/grub-mkdevicemap.c: Likewise.
3094 * util/grub-mkfont.c: Likewise.
3095 * util/grub-mkimage.c: Likewise.
3096 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3097 * util/grub-probe.c: Likewise.
3098 * util/grub-script-check.c: Likewise.
3099 * util/i386/pc/grub-setup.c: Likewise.
3100 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3101
3102 * tests/util/grub-shell.in: Fix override directory path.
3103 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3104 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3105
3106 * util/lvm.c: Update #includes.
3107 * util/raid.c: Likewise.
3108 * util/resolve.c: Likewise.
3109 * grub-core/bus/emu/pci.c: Likewise.
3110 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3111 * grub-core/lib/posix_wrap/string.h: Likewise.
3112 * grub-core/kern/emu/main.c: Likewise.
3113
3114 * grub-core/gensymlist.sh: New file. Script for generating kernel
3115 symbols file.
3116 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3117
3118 * grub-core/gentrigtables.c: Fix unused variable warnings.
3119
3120 * Makefile.in: Removed.
3121 * conf/any-emu.rmk: Removed.
3122 * conf/common.rmk: Removed.
3123 * conf/i386-coreboot.rmk: Removed.
3124 * conf/i386-efi.rmk: Removed.
3125 * conf/i386-ieee1275.rmk: Removed.
3126 * conf/i386-multiboot.rmk: Removed.
3127 * conf/i386-pc.rmk: Removed.
3128 * conf/i386-qemu.rmk: Removed.
3129 * conf/i386.rmk: Removed.
3130 * conf/mips-yeeloong.rmk: Removed.
3131 * conf/mips.rmk: Removed.
3132 * conf/powerpc-ieee1275.rmk: Removed.
3133 * conf/sparc64-ieee1275.rmk: Removed.
3134 * conf/tests.rmk: Removed.
3135 * conf/x86-efi.rmk: Removed.
3136 * conf/x86_64-efi.rmk: Removed.
3137 * gendistlist.sh: Removed.
3138 * geninitheader.sh: Removed.
3139 * genkernsyms.sh.in: Removed.
3140 * genmk.rb: Removed.
3141 * gensymlist.sh.in: Removed.
3142 * mkinstalldirs: Removed.
3143 * boot: Moved ...
3144 * grub-core/boot: ... to here.
3145 * bus: Moved ...
3146 * grub-core/bus: ... to here.
3147 * commands: Moved ...
3148 * grub-core/commands: ... to here.
3149 * disk: Moved ...
3150 * grub-core/disk: ... to here.
3151 * efiemu: Moved ...
3152 * grub-core/efiemu: ... to here.
3153 * font: Moved ...
3154 * grub-core/font: ... to here.
3155 * fs: Moved ...
3156 * grub-core/fs: ... to here.
3157 * gencmdlist.sh: Moved ...
3158 * grub-core/gencmdlist.sh: ... to here.
3159 * genemuinit.sh: Moved ...
3160 * grub-core/genemuinit.sh: ... to here.
3161 * genemuinitheader.sh: Moved ...
3162 * grub-core/genemuinitheader.sh: ... to here.
3163 * genfslist.sh: Moved ...
3164 * grub-core/genfslist.sh: ... to here.
3165 * genhandlerlist.sh: Moved ...
3166 * grub-core/genhandlerlist.sh: ... to here.
3167 * genmoddep.awk: Moved ...
3168 * grub-core/genmoddep.awk: ... to here.
3169 * genmodsrc.sh: Moved ...
3170 * grub-core/genmodsrc.sh: ... to here.
3171 * genpartmaplist.sh: Moved ...
3172 * grub-core/genpartmaplist.sh: ... to here.
3173 * genparttoollist.sh: Moved ...
3174 * grub-core/genparttoollist.sh: ... to here.
3175 * genterminallist.sh: Moved ...
3176 * grub-core/genterminallist.sh: ... to here.
3177 * gentrigtables.c: Moved ...
3178 * grub-core/gentrigtables.c: ... to here.
3179 * genvideolist.sh: Moved ...
3180 * grub-core/genvideolist.sh: ... to here.
3181 * gettext: Moved ...
3182 * grub-core/gettext: ... to here.
3183 * gfxmenu: Moved ...
3184 * grub-core/gfxmenu: ... to here.
3185 * gnulib: Moved ...
3186 * grub-core/gnulib: ... to here.
3187 * hello: Moved ...
3188 * grub-core/hello: ... to here.
3189 * hook: Moved ...
3190 * grub-core/hook: ... to here.
3191 * io: Moved ...
3192 * grub-core/io: ... to here.
3193 * kern: Moved ...
3194 * grub-core/kern: ... to here.
3195 * lib: Moved ...
3196 * grub-core/lib: ... to here.
3197 * loader: Moved ...
3198 * grub-core/loader: ... to here.
3199 * mmap: Moved ...
3200 * grub-core/mmap: ... to here.
3201 * normal: Moved ...
3202 * grub-core/normal: ... to here.
3203 * partmap: Moved ...
3204 * grub-core/partmap: ... to here.
3205 * parttool: Moved ...
3206 * grub-core/parttool: ... to here.
3207 * script: Moved ...
3208 * grub-core/script: ... to here.
3209 * term: Moved ...
3210 * grub-core/term: ... to here
3211 * tests/example_functional_test.c: Moved ...
3212 * grub-core/tests/example_functional_test.c: ... to here.
3213 * tests/lib/functional_test.c: Moved ...
3214 * grub-core/tests/lib/functional_test.c: ... to here.
3215 * tests/lib/test.c: Moved ...
3216 * grub-core/tests/lib/test.c: ... to here.
3217 * video: Moved ...
3218 * grub-core/video: ... to here.
3219
3220 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3221
3222 Replace --enable-grub-emu-modules with grub-emu-lite.
3223
3224 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3225 cache.S.
3226
3227 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3228 * kern/emu/full.c: New file. For grub-emu specific initialization.
3229 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3230 * kern/emu/main.c: Call initialization function grub_emu_init.
3231
3232 * Makefile.in: Include grub-emu-lite in install.
3233 * commands/parttool.c: Use grub_no_autoload to differentiate
3234 between grub-emu and grub-emu-lite.
3235 * include/grub/misc.h: New variable grub_no_autoload.
3236
3237 * conf/any-emu.rmk: New rules for grub-emu-lite.
3238 * configure.ac: Remove --enable-grub-emu-modules.
3239 * genmk.rb: Cleanup unnecessary rules.
3240 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3241
3242 * normal/main.c: Don't load list files on grub-emu-lite.
3243 * util/misc.c (grub_arch_sync_caches): Removed.
3244
3245 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
3246
3247 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3248 grub-mkimage rather than grub-mkelfimage.
3249 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3250
3251 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3254 a key after CapsLock or NumLock. It's just a qemu bug.
3255
3256 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3259 needed by libusb wrapper.
3260
3261 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3262
3263 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3264
3265 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3268 --nounzip is passed.
3269
3270 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 USB hotunplugging and USB serial support.
3273
3274 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3275 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3276 (grub_uhci_transfer): Respect timeout and set *actual.
3277 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3278 non-standard length.
3279 (grub_usb_device_attach): Autoload modules.
3280 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3281 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3282 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3283 users updated.
3284 (grub_usb_add_hub): Fill nports and children.
3285 (attach_root_port): Receive hub instead of controller.
3286 All users updated. Fill hub->devices.
3287 (grub_usb_root_hub): Allocate hub->devices.
3288 (detach_device): New function.
3289 (poll_nonroot_hub): Fill children and detach devices.
3290 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3291 actual arguments. All users updated.
3292 (grub_usb_bulk_read_extended): New function.
3293 * bus/usb/serial/common.c: New file.
3294 * bus/usb/serial/ftdi.c: Likewise.
3295 * bus/usb/serial/pl2303.c: Likewise.
3296 * commands/terminal.c (handle_command): Support wildcard.
3297 * commands/usbtest.c: Output "Unknown" instead of empty string.
3298 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3299 (usbserial_common_mod_SOURCES): New variable.
3300 (usbserial_common_mod_CFLAGS): Likewise.
3301 (usbserial_common_mod_LDFLAGS): Likewise.
3302 (pkglib_MODULES): Add usbserial_pl2303.mod.
3303 (usbserial_pl2303_mod_SOURCES): New variable.
3304 (usbserial_pl2303_mod_CFLAGS): Likewise.
3305 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3306 (pkglib_MODULES): Add usbserial_ftdi.mod.
3307 (usbserial_ftdi_mod_SOURCES): New variable.
3308 (usbserial_ftdi_mod_CFLAGS): Likewise.
3309 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3310 (pkglib_MODULES): Add serial.mod.
3311 (serial_mod_SOURCES): New variable.
3312 (serial_mod_CFLAGS): Likewise.
3313 (serial_mod_LDFLAGS): Likewise.
3314 * conf/i386-pc.rmk: Likewise.
3315 * conf/mips-yeeloong.rmk: Likewise.
3316 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3317 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3318 * disk/usbms.c (first_available_slot): New variable.
3319 (grub_usbms_attach): Don't reuse free slots due to potential cache
3320 problems.
3321 * include/grub/serial.h: Moved to ..
3322 * include/grub/ns8250.h: ...this.
3323 * include/grub/serial.h: New file.
3324 * include/grub/term.h (grub_term_poll_usb): New variable.
3325 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3326 readkey. All users updated.
3327 (grub_terminfo_output_state): Pass term to put.
3328 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3329 (grub_usb_controller_dev): Add timeout and actual arguments to
3330 transfer. All users updated.
3331 (grub_usb_interface): New field detach_data.
3332 (grub_usb_device): New fields children and nports.
3333 (grub_usb_ep_type_t): New type.
3334 (grub_usb_get_ep_type): New function.
3335 (grub_usb_bulk_read_extended): Likewise.
3336 * include/grub/usbdesc.h (grub_usb_desc): New type.
3337 * include/grub/usbserial.h: New file.
3338 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3339 * kern/term.c (grub_term_poll_usb): New variable.
3340 (grub_getkey): Call grub_term_poll_usb if set.
3341 (grub_checkkey): Likewise.
3342 (grub_getkeystatus): Likewise.
3343 * term/serial.c: Moved controller-specific parts to ...
3344 * term/ns8250.c: ... here.
3345 * term/serial.c: Mostly rewritten.
3346 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3347 according to spec.
3348
3349 2010-08-20 Robert Millan <rmh@gnu.org>
3350
3351 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3352 a separate module and maybe other interesting combinations.
3353
3354 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3355 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3356 (kfreebsd_entry): Add generic filesystem module load routine.
3357 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3358
3359 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
3360
3361 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3362 "numcenter" (I misunderstood the purpose of this entry).
3363 * docs/grub.texi (sendkey): Likewise.
3364
3365 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
3366
3367 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3368 status flag options; simply omitting the option is equivalent and
3369 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3370 (keysym_table): Rename "num5numlock" to "numlock".
3371 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3372 can uniformly say that only the last of multiple `sendkey'
3373 invocations has any effect.
3374 * docs/grub.texi (sendkey): New section.
3375
3376 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
3377
3378 * commands/i386/pc/sendkey.c (options): Fix three typos.
3379
3380 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Implement sendkey support.
3383
3384 * commands/i386/pc/sendkey.c: New file.
3385 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3386 (sendkey_mod_SOURCES): New variable.
3387 (sendkey_mod_CFLAGS): Likewise.
3388 (sendkey_mod_LDFLAGS): Likewise.
3389
3390 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3393 fix warnings from Autoconf.
3394
3395 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
3396
3397 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3398 to avoid false positives with some assemblers that output things
3399 like "someprefix_func" as part of their output.
3400
3401 2010-08-15 Robert Millan <rmh@gnu.org>
3402
3403 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3404 errors.
3405 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3406 grub_get_libzfs_handle() errors.
3407
3408 2010-08-14 Robert Millan <rmh@gnu.org>
3409
3410 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3411 filesystem is not ZFS.
3412
3413 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3414
3415 Fix for misspelled color names defaulting to black/black (bug
3416 reported by Doug Nazar)
3417
3418 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3419 status to prototype.
3420 * normal/color.c (grub_parse_color_name_pair): Return failure
3421 status.
3422 (grub_env_write_color_normal): Ignore bad color names.
3423 (grub_env_write_color_highlight): Likewise.
3424 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3425
3426 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3427
3428 "shift" command support to GRUB script.
3429
3430 * include/grub/script_sh.h (grub_script_shift): New prototype.
3431 * script/execute.c (grub_script_shift): New function.
3432 * script/main.c (grub_script_init): Register shift command.
3433 (grub_script_fini): Unregister shift command.
3434 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3435
3436 * tests/grub_script_shift.in: New testcase.
3437 * conf/tests.rmk: Rules for new testcase.
3438
3439 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3440
3441 "continue" command support to GRUB script.
3442
3443 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3444 (grub_script_break): Continue support.
3445 * script/main.c (grub_script_init): Register continue command.
3446 (grub_script_fini): Unregister continue command.
3447
3448 * tests/grub_script_continue.in: New testcase.
3449 * conf/tests.rmk: Rules for new testcase.
3450
3451 2010-08-12 BVK Chaitanya <bvk@dbook>
3452
3453 "break" command support to GRUB script.
3454
3455 * conf/common.rmk: Rule updates to grub-script-check.
3456 * include/grub/misc.h (grub_min): New function.
3457 * include/grub/script_sh.h (grub_script_init): New prototype.
3458 (grub_script_fini): New prototype.
3459 (grub_script_break): New prototype.
3460 * script/main.c (grub_script_init): New function.
3461 (grub_script_fini): New function.
3462 * script/execute.c (grub_script_break): New function.
3463 * normal/main.c: Calls to grub_script_{init,fini}.
3464 * util/grub-script-check.c (grub_script_break): New function.
3465
3466 * tests/grub_script_break.in: New testcase.
3467 * conf/tests.rmk: Rules for new test case.
3468
3469 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3470
3471 Function parameters support to GRUB script.
3472
3473 * script/yylex.l (VARIABLE): Regular expression update.
3474 * script/function.c (grub_script_function_call): Moved ...
3475 * script/execute.c (grub_script_function_call): ... to here.
3476 (grub_script_execute_arglist_to_argv): Removed.
3477 (grub_script_arglist_to_argv): New function.
3478 * script/argv.c: New file.
3479 (grub_script_argv_free): New function.
3480 (grub_script_argv_next): Likewise.
3481 (grub_script_argv_append): Likewise.
3482 (grub_script_argv_split_append): Likewise.
3483 * include/grub/script_sh.h (grub_script_argv): New struct.
3484 (grub_script_argv_free): New function.
3485 (grub_script_argv_next): Likewise.
3486 (grub_script_argv_append): Likewise.
3487 (grub_script_argv_split_append): Likewise.
3488
3489 * conf/common.rmk (normal.mod): New source script/argv.c.
3490
3491 * tests/grub_script_echo1.in: More tests.
3492 * tests/grub_script_vars1.in: Likewise.
3493 * tests/grub_script_functions.in: New test case.
3494 * conf/tests.rmk: Rules for new testcase.
3495
3496 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3497
3498 Remove grub_script_cmdblock struct.
3499
3500 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3501 * script/parser.y: Likewise.
3502 * script/execute.c: Rename cmdblock suffix to cmdlist.
3503 * script/script.c: Likewise.
3504 * util/grub-script-check.c: Likewise.
3505
3506 2010-08-11 Yves Blusseau <blusseau@zetam.org>
3507
3508 * .bzrignore: add grub-macho2img
3509
3510 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3513
3514 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 Remove the dump of sm712 initialisation sequence.
3517
3518 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3519 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3520 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3521 (GRUB_VGA_CR_*): Added many registers.
3522 (GRUB_VGA_SR_*): Likewise.
3523 (GRUB_VGA_GR_*): Likewise.
3524 (grub_vga_write_arx): New function.
3525 (grub_video_hw_config): New struct.
3526 (grub_vga_set_geometry): New function.
3527 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3528 GRUB_PCI_CLASS_SUBCLASS_VGA.
3529 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3530 * video/sm712.c (grub_sm712_write_reg): New function
3531 (grub_sm712_read_reg): Likewise.
3532 (grub_sm712_sr_write): Likewise.
3533 (grub_sm712_gr_write): Likewise.
3534 (grub_sm712_cr_write): Likewise.
3535 (grub_sm712_write_arx): Likewise.
3536 (grub_sm712_cr_shadow_write): Likewise.
3537 (grub_sm712_write_dda_lookup): Likewise.
3538 (grub_video_sm712_setup): Initialise the video rather then
3539 blindly replay the dump.
3540 (main) [TEST]: Add a routine to be able to compile as standalone for
3541 tests.
3542 * video/sm712_init.c (sm712_init): Removed.
3543 (sm712_sr_seq1): New array.
3544 (sm712_sr_seq2): Likewise.
3545
3546 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * include/grub/vga.h: Add missing grub/pci.h include.
3549
3550 2010-08-10 Yves Blusseau <blusseau@zetam.org>
3551
3552 * util/grub-macho2img.c (main): fix typo
3553
3554 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3557 (grub_vga_gr_read): Likewise.
3558 (grub_vga_cr_write): Likewise.
3559 (grub_vga_cr_read): Likewise.
3560 (grub_vga_sr_write): Likewise.
3561 (grub_vga_sr_read): Likewise.
3562 (grub_vga_palette_read): Likewise.
3563 (grub_vga_palette_write): Likewise.
3564 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3565 (grub_sm712_sr_read): New function.
3566 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3567 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3568
3569 2010-08-09 Robert Millan <rmh@gnu.org>
3570
3571 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3572 out unused variables on non-ZFS build.
3573
3574 2010-08-08 Robert Millan <rmh@gnu.org>
3575
3576 Fix path generation for sub-filesystems in ZFS.
3577
3578 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3579 missing slash.
3580
3581 2010-08-08 Robert Millan <rmh@gnu.org>
3582
3583 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3584
3585 2010-08-08 Robert Millan <rmh@gnu.org>
3586
3587 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3588 exist, issue a proper error message (rely on `ls' for translated
3589 strings).
3590
3591 2010-08-08 Robert Millan <rmh@gnu.org>
3592
3593 Fix grub-probe invocation.
3594
3595 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3596
3597 2010-08-04 Robert Millan <rmh@gnu.org>
3598
3599 * configure.ac: Remove checks for getfsstat() and getmntany().
3600 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3601 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3602 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3603 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3604 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3605 function.
3606 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3607 via find_mount_point_from_dir() and getfsstat() / getmntany().
3608
3609 2010-08-04 Robert Millan <rmh@gnu.org>
3610
3611 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3612 (grub_find_zpool_from_mount_point): Merge into ...
3613 (grub_find_zpool_from_dir): ... this.
3614 * kern/emu/misc.c: Likewise.
3615
3616 * kern/emu/misc.c
3617 (grub_make_system_path_relative_to_its_root): Replace
3618 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3619 with grub_find_zpool_from_dir().
3620 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3621
3622 2010-08-04 Robert Millan <rmh@gnu.org>
3623
3624 Support OpenSolaris in ZFS device resolution.
3625
3626 * configure.ac: Check for getmntany().
3627 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3628 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3629 support.
3630
3631 2010-08-03 Robert Millan <rmh@gnu.org>
3632
3633 Fix grub-emu build.
3634
3635 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3636 * include/grub/emu/misc.h: ... here.
3637
3638 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3639 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3640
3641 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3642 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3643 (grub_get_libzfs_handle): Move to ...
3644 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3645 (grub_get_libzfs_handle): ... here.
3646
3647 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3648
3649 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3650 as command name case.
3651
3652 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
3653
3654 * disk/raid.c (insert_array): Select unique numbers for named arrays
3655 as well, for use as keys in the disk cache.
3656
3657 2010-08-01 Robert Millan <rmh@gnu.org>
3658
3659 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3660 kFreeBSD device name, except on ZFS where the filesystem label is
3661 used.
3662 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3663 `/boot/zfs/zpool.cache'.
3664 Set mountfrom kernel variable using ${kfreebsd_device}.
3665
3666 2010-08-01 Robert Millan <rmh@gnu.org>
3667
3668 Make it even harder to use uninitialized `libzfs_handle' (and
3669 make the interface a bit simpler).
3670
3671 * include/grub/util/misc.h (grub_util_init_libzfs)
3672 (libzfs_handle): Remove.
3673 (grub_get_libzfs_handle): New prototype.
3674
3675 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3676 attribute.
3677 (grub_util_init_libzfs): Remove.
3678 (grub_get_libzfs_handle): New function.
3679
3680 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3681 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3682 accessing `libzfs_handle' directly.
3683
3684 2010-08-01 Robert Millan <rmh@gnu.org>
3685
3686 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3687 (grub_find_zpool_from_mount_point): New function prototypes.
3688
3689 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3690 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3691
3692 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3693 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3694 `static' attribute.
3695
3696 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3697 finding zpool from mount point into ...
3698 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3699
3700 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3701 requested path is part of a ZFS pool, use
3702 grub_find_zpool_from_mount_point() to detect its filesystem name,
3703 and generate a path with `/fsname@path' syntax.
3704
3705 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
3706
3707 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3708 (void) rather than () so that this is a proper prototype.
3709
3710 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3713
3714 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3717 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3718
3719 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
3720
3721 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3722
3723 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
3724
3725 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3726
3727 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
3728
3729 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3730 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3731 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3732 disable gfxpayload.
3733 (Shell-like scripting): Add real content.
3734 (Serial terminal): Suggest `terminal_input serial; terminal_output
3735 serial' rather than putting the two commands on separate lines,
3736 since console input will be inoperative after the first command.
3737 (menuentry): Document --class, --users, and --hotkey options.
3738 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3739 Vladimir Serbinenko).
3740
3741 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3742 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
3743
3744 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3745
3746 2010-08-01 Robert Millan <rmh@gnu.org>
3747
3748 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3749 (grub_find_zpool_from_mount_point): New function prototypes.
3750
3751 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3752 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3753
3754 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3755 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3756 `static' attribute.
3757
3758 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3759 finding zpool from mount point into ...
3760 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3761
3762 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3763 requested path is part of a ZFS pool, use
3764 grub_find_zpool_from_mount_point() to detect its filesystem name,
3765 and generate a path with `/fsname@path' syntax.
3766
3767 2010-08-01 Robert Millan <rmh@gnu.org>
3768
3769 Prevent accidental use of uninitialized libzfs_handle.
3770
3771 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3772 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3773 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3774
3775 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
3776
3777 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3778 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3779
3780 2010-08-01 Robert Millan <rmh@gnu.org>
3781
3782 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
3783
3784 2010-07-31 Robert Millan <rmh@gnu.org>
3785
3786 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
3787
3788 2010-07-31 Robert Millan <rmh@gnu.org>
3789
3790 * kern/emu/misc.c: Add missing license header.
3791
3792 2010-07-31 Robert Millan <rmh@gnu.org>
3793
3794 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
3795
3796 * include/grub/util/libnvpair.h: Include `<config.h>'.
3797 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
3798 declaring libnvpair prototypes ourselves.
3799 * include/grub/util/libzfs.h: Include `<config.h>'.
3800 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
3801 declaring libzfs prototypes ourselves.
3802
3803 (libzfs_handle): Moved to ...
3804 * include/grub/util/misc.h (libzfs_handle): ... here.
3805 Include `<grub/util/libzfs.h>'.
3806
3807 2010-07-30 Robert Millan <rmh@gnu.org>
3808
3809 * include/grub/emu/misc.h: Add missing license header.
3810
3811 2010-07-30 Robert Millan <rmh@gnu.org>
3812
3813 Enable `grub-probe -t device' resolution on ZFS.
3814
3815 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
3816 * include/grub/util/libnvpair.h: New file.
3817 * include/grub/util/libzfs.h: New file.
3818
3819 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
3820 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
3821 `<grub/util/libnvpair.h>'.
3822 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
3823
3824 (find_mount_point_from_dir): New static function.
3825 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
3826 function.
3827 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
3828 find_root_device_from_libzfs() before ressorting to find_root_device().
3829
3830 * include/grub/util/misc.h (grub_util_init_libzfs): New function
3831 prototype.
3832 * util/misc.c: Include `<grub/util/libzfs.h>'.
3833 (grub_util_init_libzfs): New function.
3834 [HAVE_LIBZFS] (libzfs_handle): New global variable.
3835 [HAVE_LIBZFS] (fini_libzfs): New static function.
3836 (grub_util_init_libzfs): New function.
3837 * util/grub-probe.c (main): Call grub_util_init_libzfs().
3838
3839 2010-07-30 Robert Millan <rmh@gnu.org>
3840
3841 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
3842 (xmalloc, xrealloc, xstrdup, xasprintf): Add
3843 `warn_unused_result' attribute.
3844 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
3845 (grub_xasprintf, grub_xvasprintf): Likewise.
3846 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
3847
3848 2010-07-29 Robert Millan <rmh@gnu.org>
3849
3850 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
3851 (probe): Handle `PRINT_FS_LABEL'.
3852 (main): Handle `-t fs_label'.
3853
3854 2010-07-29 Robert Millan <rmh@gnu.org>
3855
3856 * configure.ac: Remove grub-mkisofs checks.
3857
3858 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * util/ieee1275/grub-install.in: Don't use empty grub_device.
3861 Reported by: Lennart Sorensen.
3862
3863 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
3866 prior to terminal_input/terminal_output separation. It's been over 1.5
3867 years and those versions weren't widely deployed.
3868
3869 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
3870
3871 * disk/raid.c (insert_array): Don't count named arrays when looking
3872 for unused array numbers.
3873 Reported and tested by: Michael Guntsche.
3874
3875 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3876
3877 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
3878 implementation of this so that grub-emu links again, with a note
3879 that this should support hotplugging in the future.
3880
3881 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3882
3883 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3884
3885 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3886
3887 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
3888 handle on failure.
3889 (grub_loopback_close): Remove empty function.
3890 (grub_loopback_dev): Remove close method.
3891
3892 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3893
3894 Disable EFI cursor when the EFI console becomes inactive.
3895
3896 * term/efi/console.c (grub_efi_console_init): New function.
3897 (grub_efi_console_fini): New function.
3898 (grub_console_term_output): Register init and fini methods.
3899
3900 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * tests/util/grub-shell-tester.in: Remove bashism and declare as
3903 sh script.
3904
3905 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * disk/loopback.c (grub_loopback): Replace filename with file.
3908 (delete_loopback): Handle new semantics.
3909 (grub_cmd_loopback): Likewise.
3910 (grub_loopback_iterate): Likewise.
3911 (grub_loopback_close): Likewise.
3912
3913 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
3916 with -p "".
3917 Reported by: Tito Keitel.
3918
3919 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * docs/grub.texi (Naming convention): Document new naming convention.
3922
3923 2010-07-20 Vadim Solomin <vadic052@gmail.com>
3924 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3925
3926 Generate device.map in something closer to the old ordering.
3927
3928 * util/deviceiter.c (struct device): New declaration.
3929 (compare_file_names): Rename to ...
3930 (compare_devices): ... this. Sort by kernel name in preference to
3931 the stable by-id name, but keep the latter as a fallback comparison.
3932 Update header comment.
3933 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
3934 of `struct device' rather than of plain file names.
3935
3936 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
3937
3938 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
3939 on i386.
3940
3941 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * commands/acpi.c (setup_common_tables): Use sizeof instead of
3944 hardcoding size.
3945 (setv1table): Likewise.
3946
3947 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3948
3949 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
3950 removing the homehost if present.
3951 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
3952 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
3953 removing the homehost if present.
3954 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
3955 if possible.
3956 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
3957
3958 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
3959 parameter. Set its pointer target to 0.
3960 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
3961 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
3962 `data_offset' value from the superblock for 1.x metadata.
3963 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
3964 data on the device.
3965 (insert_array): Record the start sector of data on the device.
3966 (grub_raid_register): Pass start_sector parameters to
3967 grub_raid_list->detect and insert_array.
3968 * include/grub/raid.h (struct grub_raid_array): Add start_sector
3969 member.
3970 (struct grub_raid): Add start_sector parameter to `detect'.
3971
3972 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
3973 __attribute__ ((packed)), leaving a comment.
3974 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
3975 (grub_mdraid_detect_09): ... here and ...
3976 (grub_mdraid_detect_1x): ... here.
3977
3978 2010-07-20 Peter Henn <peter.henn@web.de>
3979
3980 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
3981 chunk size and disk size, which are already given as sector counts
3982 as distinct from the 0.90 units. Fetch the correct device number
3983 from the role table instead of using the table index.
3984
3985 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
3986
3987 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
3988 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
3989 (WriteMostly1): New macro.
3990 Set array->name to NULL for metadata format 0.90. Add support for
3991 metadata 1.x. Fix some comments.
3992 * disk/raid.c (): Add support for name based RAID arrays. Fix a
3993 few comments.
3994 * util/getroot.c (grub_util_get_grub_dev): Add support for
3995 /dev/md/name style devices.
3996
3997 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
3998
3999 * .bzrignore: Ignore 20_linux_xen.
4000
4001 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
4002
4003 * util/import_unicode.py: Remove unnecessary imports.
4004
4005 2010-07-17 Aleš Nesrsta <starous@volny.cz>
4006
4007 Hotplugging and USB hub support.
4008
4009 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4010 (grub_ohci): Likewise.
4011 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4012 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4013 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4014 (GRUB_OHCI_CTRL_EDS): Likewise.
4015 (GRUB_OHCI_BULK_EDS): Likewise.
4016 (GRUB_OHCI_TDS): Likewise.
4017 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4018 (grub_ohci_ed_phys2virt): New function.
4019 (grub_ohci_virt_to_phys): Likewise.
4020 (grub_ohci_td_phys2virt): Likewise.
4021 (grub_ohci_td_virt2phys): Likewise.
4022 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4023 attachment.
4024 (grub_ohci_find_ed): New function.
4025 (grub_ohci_alloc_td): Likewise.
4026 (grub_ohci_free_td): Likewise.
4027 (grub_ohci_free_tds): Likewise.
4028 (grub_ohci_transfer): Use previously allocated memory.
4029 (grub_ohci_portstatus): Reset status changed bit.
4030 (grub_ohci_detect_dev): Supply status changed.
4031 (grub_ohci_fini_hw): Free memory.
4032 (grub_ohci_restore_hw): Reallocate memory.
4033 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4034 Reset status change.
4035 (grub_uhci_detect_dev): Supply status_change.
4036 * bus/usb/usb.c (attach_hooks): New var.
4037 (grub_usb_device_attach): New function.
4038 (grub_usb_register_attach_hook_class): Likewise.
4039 (grub_usb_unregister_attach_hook_class): Likewise.
4040 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4041 (grub_usb_add_hub): Reset connection changed bit.
4042 (attach_root_port): New function.
4043 (grub_usb_root_hub): Likewise.
4044 (poll_nonroot_hub): Likewise.
4045 (grub_usb_poll_devices): Likewise.
4046 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4047 * disk/usbms.c (grub_usbms_open): Use device hooks.
4048 (grub_usbms_iterate) :Poll devices.
4049 (grub_usbms_finddevs): Split into ...
4050 (grub_usbms_attach): ... this ...
4051 (grub_usbms_attach): ... and this.
4052 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4053 in detect_dev.
4054 (grub_usb_interface): New fields attached and detach_hook.
4055 (grub_usb_attach_hook_class): New type.
4056 (grub_usb_attach_desc): New struct.
4057 (grub_usb_register_attach_hook_class): New function.
4058 (grub_usb_unregister_attach_hook_class): Likewise.
4059 (grub_usb_poll_devices): Likewise.
4060 (grub_usb_device_attach): Likewise.
4061 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4062 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4063
4064 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4067 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4068 delta determination style. Works with most NetBSD partitions too.
4069
4070 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4073 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4074
4075 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4078
4079 2010-07-14 Anton Blanchard <anton@samba.org>
4080
4081 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4082 ET_DYN files.
4083
4084 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4085
4086 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4087
4088 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4089
4090 * kern/partition.c (grub_partition_check_containment): New function to
4091 check that a partition is physically contained in a parent. Since
4092 offsets are relative (and non-negative), this reduces to checking that
4093 the partition ends before its parent.
4094 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4095 (grub_partition_iterate): Likewise.
4096 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4097 comments.
4098 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4099 partitions that start before their parent, and add debug printfs.
4100
4101 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
4102
4103 * Makefile.in (.SUFFIX): Spell correctly, as ...
4104 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4105 bare module name without `.mod', e.g. `test') tried to invoke a
4106 Modula-2 compiler.
4107
4108 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
4109
4110 * README: Point to the Info manual.
4111
4112 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
4113
4114 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4115 2nd superblock position from partition size.
4116
4117 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
4118
4119 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4120 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4121 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4122 outputs.
4123
4124 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 Restructure SCSI .id handling.
4127 Reported and tested by: Aleš Nesrsta.
4128
4129 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4130 (grub_atapi_dev): Changed .name to "ata". New field .id.
4131 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4132 (grub_usbms_dev): New field .id.
4133 * disk/scsi.c (grub_scsi_iterate): Generate name.
4134 (grub_scsi_open): Parse name.
4135 * include/grub/scsi.h (grub_make_scsi_id): New function.
4136 (grub_scsi_dev): Change iterate and open to number instead of naming
4137 busses. All users updated.
4138 (grub_scsi): Remove name. Add .bus.
4139
4140 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * commands/help.c (grub_cmd_help): Fix a typo.
4143
4144 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4147 Reported and tested by: Colin Watson.
4148
4149 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4152 in this context.
4153
4154 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4157
4158 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
4159
4160 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4161 indentation.
4162
4163 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
4164
4165 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4166 and disk/raid6_recover.c.
4167 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4168 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4169
4170 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
4171
4172 * term/gfxterm.c (repaint_schedulded): Rename to ...
4173 (repaint_scheduled): ... this. Update all callers.
4174 (repaint_was_schedulded): Rename to ...
4175 (repaint_was_scheduled): ... this. Update all callers.
4176
4177 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
4178
4179 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4180 which we expect to be handled by upper layers.
4181
4182 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4183
4184 * bus/usb/usbhub.c: #include time.h header.
4185
4186 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
4187
4188 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4189 entry_name also for entries without stat blocks (e.g. ".."); fixes
4190 corruption of the first entry in a directory.
4191
4192 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
4193
4194 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4195 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4196 doesn't work otherwise.
4197
4198 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
4199
4200 * docs/grub.texi (Features): Update list of supported file systems.
4201 (GNU/Linux): Update for GRUB 2.
4202 (Serial terminal): Remove mention of --disable-serial, which was a
4203 GRUB Legacy configure option. Update instructions to use
4204 `terminal_input' and `terminal_output' rather than `terminal'.
4205 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4206 configuration' and `Installing GRUB using grub-install'.
4207 (Menu entry editor): Update for GRUB 2.
4208 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4209 Document new -a, -u, and -v options.
4210 (initrd): New section.
4211 (initrd16): New section.
4212 (linux): New section.
4213 (linux16): New section.
4214 (search): The `var' argument to `--set' is optional.
4215 (GRUB only offers a rescue shell): Go into a little more detail on
4216 drive ordering.
4217
4218 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
4219
4220 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4221
4222 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
4223
4224 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4225 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4226
4227 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
4228
4229 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4230 install_prefix, in line with install_dos_part and install_bsd_part.
4231 Add new prefix variable, which is copied to install_prefix after
4232 comparing core.img in memory with the one read from disk in the
4233 no-embedding case, and use that rather than overwriting
4234 install_prefix immediately when installing to a partition.
4235 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4236 Bicakci.
4237
4238 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4239
4240 * configure.ac: Avoid == in test command, it's not portable.
4241 * util/grub.d/30_os-prober.in: Likewise.
4242
4243 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
4244
4245 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4246
4247 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4248
4249 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4250 multiple (top-level) partmaps.
4251
4252 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/i386/efi/grub-install.in: Don't use empty grub_device.
4255 Reported by: Tino Keitel.
4256
4257 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Bidi and diacritics support.
4260
4261 * Makefile.in (widthspec.bin): New target.
4262 (widthspec.h): Likewise.
4263 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4264 * autogen.sh: Generate unidata.c.
4265 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4266 * commands/ls.c (grub_ls_list_devices): Likewise.
4267 (grub_ls_list_files): Likewise.
4268 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4269 (grub_mini_cmd_lsmod): Likewise.
4270 * commands/read.c: Likewise.
4271 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4272 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4273 * lib/arg.c (grub_arg_show_help): Likewise.
4274 * lib/crypto.c (grub_password_get): Likewise.
4275 * normal/auth.c (grub_username_get): Likewise.
4276 * normal/misc.c (grub_normal_print_device_info): Likewise.
4277 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4278 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4279 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4280 (normal/charset.c_DEPENDENCIES): New variable.
4281 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4282 (pkglib_MODULES): Remove charset.mod.
4283 (charset_mod_SOURCES): Removed.
4284 (charset_mod_CFLAGS): Likewise.
4285 (charset_mod_LDFLAGS): Likewise.
4286 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4287 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4288 and term/tparm.c.
4289 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4290 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4291 (kernel_img_HEADERS): Add terminfo.h.
4292 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4293 Fill ->font. Reverse ascii bitmaps.
4294 (grub_font_get_xheight): New function.
4295 * font/font.c (grub_font_get_string_width): Moved from here ...
4296 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4297 * font/font.c (grub_font_draw_string): Moved from here ...
4298 * gfxmenu/font.c (grub_font_draw_string): ... here.
4299 * font/font.c (grub_font_dup_glyph): New function.
4300 (grub_font_blit_glyph): Likewise.
4301 (grub_font_blit_glyph_mirror): Likewise.
4302 (blit_comb): Likewise.
4303 (grub_font_construct_dry_run): Likewise.
4304 (grub_font_get_constructed_device_width): Likewise.
4305 (grub_font_construct_glyph): Likewise.
4306 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4307 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4308 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4309 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4310 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4311 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4312 (grub_font_get_xheight): New proto.
4313 (grub_font_get_constructed_device_width): Likewise.
4314 (grub_font_construct_glyph): Likewise.
4315 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4316 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4317 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4318 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4319 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4320 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4321 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4322 (grub_console_getcharwidth): Likewise.
4323 * include/grub/misc.h (grub_xputs): New proto.
4324 (grub_puts): Inlined.
4325 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4326 (grub_normal_get_line_counter): Removed.
4327 (grub_install_newline_hook): Likewise.
4328 (grub_normal_get_char_counter): New proto.
4329 (grub_normal_reset_more): Likewise.
4330 (grub_xputs_normal): Likewise.
4331 * include/grub/powerpc/ieee1275/console.h: Removed.
4332 * include/grub/sparc64/ieee1275/console.h: Likewise.
4333 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4334 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4335 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4336 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4337 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4338 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4339 (grub_term_input): Pass reference to self. All users updated.
4340 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4341 Pass reference to self. New fields normal_color, highlight_color and
4342 data. All users updated.
4343 (grub_putchar): Removed.
4344 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4345 (grub_unicode_estimate_width): New function.
4346 (grub_term_getcharwidth): Add defaults.
4347 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4348 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4349 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4350 (grub_cls): Remove EXPORT_FUNC.
4351 (grub_setcolorstate): Inline.
4352 (grub_newline_hook): Removed.
4353 * include/grub/terminfo.h: Rewritten. All users updated.
4354 * include/grub/unicode.h: New file.
4355 * include/grub/video.h (grub_video_signed_rect): New type.
4356 * kern/emu/console.c (grub_console_highlight_color): Removed.
4357 (grub_console_normal_color): Likewise.
4358 (grub_console_standard_color): Made static.
4359 (grub_ncurses_putchar): Remove mapping.
4360 (grub_ncurses_getcharwidth): Removed.
4361 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4362 (grub_ncurses_setcolor): Removed.
4363 (grub_ncurses_getcolor): Likewise.
4364 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4365 (grub_console_putchar): ... this.
4366 (grub_console_putchar): Handle argument difference.
4367 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4368 console_init_early and console_init_lately.
4369 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4370 * kern/misc.c (grub_puts): Removed.
4371 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4372 (grub_vsnprintf_real): Remove str = NULL support.
4373 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4374 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4375 * kern/term.c (grub_putcode): Renamed to ...
4376 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4377 (grub_putchar): Removed.
4378 (grub_xputs_dumb): New function.
4379 (grub_xputs): New variable.
4380 * lib/charset.c: Move from here ...
4381 * normal/charset.c: ... to here.
4382 (grub_ucs4_to_utf8): New function.
4383 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4384 (join_types): New variable.
4385 (unpack_join): New function.
4386 (bidi_types): New variable.
4387 (unpack_bidi): New function.
4388 (get_bidi_type): Likewise.
4389 (get_join_type): Likewise.
4390 (is_mirrored): Likewise.
4391 (grub_unicode_get_comb_type): Likewise.
4392 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4393 (is_type_after): Likewise.
4394 (grub_unicode_aglomerate_comb): Likewise.
4395 (bidi_line_wrap): Likewise.
4396 (grub_bidi_line_logical_to_visual): Likewise.
4397 (grub_bidi_logical_to_visual): Likewise.
4398 (grub_unicode_mirror_code): Likewise.
4399 (grub_unicode_shape_code): Likewise.
4400 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4401 Don't use grub_putchar.
4402 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4403 (grub_normal_reader_init): Likewise.
4404 (grub_xputs_saved): New variable.
4405 (GRUB_MOD_INIT): Set grub_xputs.
4406 (GRUB_MOD_FINI): Restore grub_xputs.
4407 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4408 (menu_init): Avoid printing gfxmenu error.
4409 (show_menu): Use grub_normal_get_char_counter.
4410 * normal/menu_entry.c (update_screen): Fix out-of-array.
4411 (complete): Avoid NULL dereferencing.
4412 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4413 * normal/menu_text.c (print_spaces): Removed.
4414 (grub_print_ucs4): Likewise.
4415 (grub_print_message_indented): Use grub_print_ucs4.
4416 (print_message): Use grub_putcode.
4417 (print_entry): Hanlde diacritics.
4418 * normal/term.c (term_state): New type.
4419 (grub_more_lines): Removed.
4420 (term_states): New variable.
4421 (grub_normal_line_counter): Renamed to ..
4422 (grub_normal_char_counter): ...this. All users updated.
4423 (grub_normal_get_line_counter): Renamed to ...
4424 (grub_normal_get_char_counter): ... this.
4425 (grub_normal_reset_more): New function.
4426 (process_newline): Removed.
4427 (print_more): New function.
4428 (grub_install_newline_hook): Removed.
4429 (map_code): New function.
4430 (grub_puts_terminal): Use grub_print_ucs4.
4431 (putglyph): New function.
4432 (putcode_real): Likewise.
4433 (grub_putcode): Use putcode_real.
4434 (get_maxwidth): New function.
4435 (get_startwidth): Likewise.
4436 (print_ucs4_terminal): Likewise.
4437 (find_term_state): Likewise.
4438 (put_glyphs_terminal): Likewise.
4439 (print_backlog): Likewise.
4440 (print_ucs4_real): Likewise.
4441 (grub_print_ucs4): Likewise.
4442 (grub_xputs_normal): Likewise.
4443 * term/efi/console.c (grub_console_putchar): Output diacritics.
4444 (grub_console_getcharwidth): Removed.
4445 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4446 * term/gfxterm.c (clear_char): Free chars.
4447 (scroll_up): Avoid leaking memory.
4448 (grub_gfxterm_putchar): Support diacritics.
4449 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4450 * term/i386/pc/console.c (grub_console_term_output): Declare as
4451 GRUB_TERM_CODE_TYPE_VGA.
4452 * term/i386/pc/vga.c (grub_vga_term): Declare as
4453 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4454 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4455 GRUB_TERM_CODE_TYPE_VGA.
4456 * term/i386/vga_common.c (map_char): Removed.
4457 (grub_console_putchar): Likewise.
4458 (grub_console_getcharwidth): Likewise.
4459 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4460 (colors): Reordered to match terminfo.
4461 (grub_ofconsole_normal_color): Removed.
4462 (grub_ofconsole_writeesc): Likewise.
4463 (grub_ofconsole_highlight_color): Likewise.
4464 (grub_ofconsole_getcharwidth): Likewise.
4465 (grub_ofconsole_setcolorstate): Likewise.
4466 (grub_ofconsole_setcolor): Likewise.
4467 (grub_ofconsole_getcolor): Likewise.
4468 (grub_ofconsole_readkey): Renamed to ...
4469 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4470 key.
4471 (grub_ofconsole_checkkey): Removed.
4472 (grub_ofconsole_getkey): Likewise.
4473 (grub_ofconsole_getxy): Likewise.
4474 (grub_ofconsole_gotoxy): Likewise.
4475 (grub_ofconsole_cls): Likewise.
4476 (grub_ofconsole_refresh): Likewise.
4477 (grub_ofconsole_terminfo_input): New struct.
4478 (grub_ofconsole_terminfo_output): Likewise.
4479 (grub_ofconsole_term_input): Use terminfo.
4480 (grub_ofconsole_term_output): Likewise.
4481 (grub_console_init): Split into ...
4482 (grub_console_init_early): ...this and ...
4483 (grub_console_init_lately): ...this. Use terminfo.
4484 (grub_ofconsole_putchar): Renamed to ...
4485 (put): ... this. Remove mapping.
4486 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4487 * term/serial.c: Simplify using terminfo.
4488 (xpos): Removed.
4489 (ypos): Likewise.
4490 (keep_track): Likewise.
4491 (registered): Likewise.
4492 (input_buf): Likewise.
4493 (npending): Likewise.
4494 (serial_translate_key_sequence): Likewise.
4495 (fill_input_buf): Likewise.
4496 (grub_serial_checkkey): Likewise.
4497 (grub_serial_getkey): Likewise.
4498 (grub_serial_getxy): Likewise.
4499 (grub_serial_gotoxy): Likewise.
4500 (grub_serial_putchar): Likewise.
4501 (grub_serial_cls): Likewise.
4502 (grub_serial_setcolorstate): Likewise.
4503 (grub_serial_setcursor): Likewise.
4504 (serial_hw_init): Use serial_hw_fetch.
4505 (grub_serial_terminfo_input): New variable.
4506 (grub_serial_terminfo_output): Likewise.
4507 (grub_serial_term_input): Use terminfo.
4508 (grub_serial_term_output): Likewise.
4509 * term/terminfo.c (putstr): Use put.
4510 (grub_terminfo_all_free): New function
4511 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4512 (grub_terminfo_output_register): New function.
4513 (grub_terminfo_output_unregister): Likewise.
4514 (grub_terminfo_getxy): Likewise.
4515 (grub_terminfo_readkey): Likewise.
4516 (grub_terminfo_checkkey): Likewise.
4517 (grub_terminfo_getkey): Likewise.
4518 (grub_terminfo_input_init): Likewise.
4519 (print_terminfo): Likewise.
4520 (grub_cmd_terminfo): Handle encoding.
4521 (grub_terminfo_gotoxy): Track position.
4522 (grub_terminfo_cls): Likewise.
4523 (grub_terminfo_putchar): Likewise.
4524 (grub_terminfo_setcolorstate): Handle colors
4525 (grub_terminfo_cursor_on): This ...
4526 (grub_terminfo_cursor_off): ... and this merged into ...
4527 (grub_terminfo_setcursor): ... this.
4528 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4529 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4530 * unicode/BidiMirroring.txt: Likewise.
4531 * unicode/UnicodeData.txt: Likewise.
4532 * unicode/COPYING: Likewise.
4533 * util/grub-editenv.c (grub_putchar): Removed.
4534 (grub_xputs_real): New function.
4535 (grub_xputs): New variable.
4536 * util/grub-fstest.c (grub_putchar): Removed.
4537 (grub_xputs_real): New function.
4538 (grub_xputs): New variable.
4539 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4540 (grub_xputs_real): New function.
4541 (grub_xputs): New variable.
4542 * util/grub-probe.c (grub_putchar): Removed.
4543 (grub_xputs_real): New function.
4544 (grub_xputs): New variable.
4545 * util/grub-script-check.c (grub_putchar): Removed.
4546 (grub_xputs_real): New function.
4547 (grub_xputs): New variable.
4548 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4549 (grub_xputs_real): New function.
4550 (grub_xputs): New variable.
4551 * util/import_unicode.py: New file.
4552 * util/grub-mkfont.c (ft_errmsgs): New array.
4553 (grub_glyph_info): Make bitmap a pointer.
4554 (file_formats): New type WIDTH_SPEC.
4555 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4556 (options): Add width-spec.
4557 (help): Likewise.
4558 (add_char): Renamed to ...
4559 (add_glyph): ... this.
4560 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4561 (glyph_replace): New type.
4562 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4563 (add_char): New function.
4564 (add_subst): Likewise.
4565 (process_cursive): Likewise.
4566 (add_font): Handle GSUB.
4567 (write_font_width_spec): New function.
4568 (main): Sort glyphs.
4569 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4570 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4571 * kern/term.c (grub_cls): Moved from here...
4572 * normal/term.c (grub_cls): ... here.
4573
4574 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4575
4576 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4577 suitable for using within the format argument of printf when
4578 converting grub_size_t.
4579 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4580 "x" to convert grub_size_t arguments.
4581
4582 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4585 too long captions.
4586 (list_get_minimal_size): Take selection box into account.
4587
4588 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4591 NULL font.
4592
4593 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4596 devices when iterating over /dev/disk/by-id; they will be handled
4597 later if appropriate, which they aren't always (e.g. LVM).
4598
4599 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4600
4601 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4602 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4603 fails.
4604 (grub_halt): Likewise.
4605 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4606 reset-all fails.
4607 (grub_halt): Don't return, even if all of shut-down, power-off, and
4608 poweroff fail.
4609
4610 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4611
4612 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4613 arguments, not three.
4614
4615 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4616
4617 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4618 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4619 LVM-on-RAID is handled correctly.
4620
4621 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4622
4623 * docs/grub.texi (Changes from GRUB Legacy): New section.
4624 (Future): Fix typo.
4625
4626 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
4627
4628 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4629 grub.d/README accidentally ends up executable for one reason or
4630 another. Ignore it.
4631
4632 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4635 (gpt_partition_map_iterate): Support non-512B sectors.
4636
4637 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4640 Tested by: Seth Goldberg.
4641
4642 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4645 Properly align mbi.
4646 Reported by: Seth Goldberg.
4647
4648 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/grub-mkrescue.in: Avoid module duplication.
4651
4652 2010-07-01 Sean Finney <seanius@seanius.net>
4653
4654 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4655
4656 2010-07-01 Sean Finney <seanius@seanius.net>
4657
4658 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4659
4660 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * disk/lvm.c (grub_lvm_checkvalue): New function.
4663 (grub_lvm_check_flag): Likewise.
4664
4665 2010-07-01 Robert Millan <rmh@gnu.org>
4666
4667 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4668 Support 'p' as partition separator on kernel of FreeBSD (used
4669 with GPT labels).
4670 (grub_util_biosdisk_get_grub_dev): Likewise.
4671
4672 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Yeeloong firmware port.
4675
4676 * boot/mips/yeeloong/fwstart.S: New file.
4677 * bus/cs5536.c (gpiodump): New const.
4678 (set_io_space): New function.
4679 (set_iod): Likewise.
4680 (set_p2d): Likewise.
4681 (grub_cs5536_init_geode): Likewise.
4682 * commands/mips/yeeloong/lsspd.c: New file.
4683 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4684 (serial_mod_SOURCES): New variable.
4685 (serial_mod_CFLAGS): Likewise.
4686 (serial_mod_LDFLAGS): Likewise.
4687 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4688 term/terminfo.c and term/tparm.c.
4689 (pkglib_IMAGES): Add fwstart.img.
4690 (fwstart_img_SOURCES): New variable.
4691 (fwstart_img_CFLAGS): Likewise.
4692 (fwstart_img_ASFLAGS): Likewise.
4693 (fwstart_img_LDFLAGS): Likewise.
4694 (fwstart_img_FORMAT): Likewise.
4695 (pkglib_MODULES): Add lsspd.mod.
4696 (lsspd_mod_SOURCES): New variable.
4697 (lsspd_mod_CFLAGS): Likewise.
4698 (lsspd_mod_LDFLAGS): Likewise.
4699 (pkglib_MODULES): Add halt.mod.
4700 (halt_mod_SOURCES): New variable.
4701 (halt_mod_CFLAGS): Likewise.
4702 (halt_mod_LDFLAGS): Likewise.
4703 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4704 (serial_mod_SOURCES): Removed.
4705 (serial_mod_CFLAGS): Likewise.
4706 (serial_mod_LDFLAGS): Likewise.
4707 * disk/ata.c (check_device): New function.
4708 (grub_ata_device_initialize): Use check_device.
4709 (grub_ata_iterate): Recheck devices.
4710 (grub_ata_open): Likewise.
4711 (grub_atapi_iterate): Likewise.
4712 (grub_atapi_open): Likewise.
4713 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4714 (GRUB_ATA_CH1_PORT1): Likewise.
4715 (GRUB_ATA_CH0_PORT2): Likewise.
4716 (GRUB_ATA_CH1_PORT2): Likewise.
4717 * include/grub/mips/loongson.h: New file.
4718 * include/grub/mips/yeeloong/ec.h: Likewise.
4719 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4720 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4721 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4722 * include/grub/misc.h (grub_halt): Declare as noreturn.
4723 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4724 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4725 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4726 (UART_ENABLE_DTRRTS): Likewise.
4727 (UART_ENABLE_MODEM): Removed.
4728 (UART_ENABLE_OUT2): New const.
4729 * include/grub/term.h (grub_term_register_input_active): New function.
4730 (grub_term_register_output_active): Likewise.
4731 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4732 argument.
4733 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4734 (init_pci): New function.
4735 (grub_machine_init): Execute platform init when firmware. Init serial.
4736 (grub_halt): Implement.
4737 (grub_exit): Likewise.
4738 (grub_reboot): Likewise.
4739 * term/serial.c (serial_hw_init): Update macros.
4740 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4741 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4742 (image_targets): New target mipsel-yeeloong-flash.
4743 (generate_image): Support IMAGE_YEELOONG_FLASH.
4744 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4745 (grub_video_sm712_setup): Init card.
4746 (grub_video_sm712_set_palette): Removed.
4747 * video/sm712_init.c: New file.
4748
4749 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
4750
4751 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4752 PATH when running help2man and then run it on the unadorned
4753 executable names, rather than passing $(builddir)/* paths to
4754 help2man. This avoids the build directory ending up in generated
4755 manual pages.
4756
4757 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
4758
4759 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4760 to avoid accidents when debugging with 'sh -x'.
4761 * util/grub-mkrescue.in: Likewise.
4762 * util/grub.d/00_header.in: Likewise.
4763 * util/grub.d/10_hurd.in: Likewise.
4764 * util/grub.d/10_kfreebsd.in: Likewise.
4765 * util/grub.d/10_linux.in: Likewise.
4766 * util/grub.d/10_netbsd.in: Likewise.
4767 * util/grub.d/10_windows.in: Likewise.
4768 * util/grub.d/20_linux_xen.in: Likewise.
4769 * util/grub.d/30_os-prober.in: Likewise.
4770 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4771
4772 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
4773
4774 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4775 last character in the buffer.
4776 Reported by: Vladimir Serbinenko.
4777
4778 2010-06-29 Robert Millan <rmh@gnu.org>
4779
4780 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4781 (Command-line and menu entry commands): Document `badram' command.
4782
4783 2010-06-28 Robert Millan <rmh@gnu.org>
4784
4785 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4786 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
4787 command using ${GRUB_BADRAM} as parameter.
4788
4789 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
4790
4791 * docs/grub.texi (Device map): New section.
4792 (Themes): New section (stub).
4793 * Makefile.in (docs/grub.info): The info documentation now builds
4794 without errors. Make sure it stays that way.
4795
4796 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 Use normal parser for menu entries.
4799 Reported by: Thomas Frauendorfer
4800
4801 * include/grub/parser.h (grub_parser_execute): Don't export.
4802 * normal/menu.c (grub_menu_execute_entry_real): New function.
4803 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
4804
4805 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
4806
4807 * docs/grub.texi (Embedded configuration): New section (replacing
4808 old "Preset Menu" stub).
4809 (Images): New section.
4810 (configfile): Note that any menu entries defined in `file' are shown
4811 immediately.
4812
4813 2010-06-28 Josh Triplett <josh@joshtriplett.org>
4814
4815 * mmap/i386/pc/mmap_helper.S: Set CF on return.
4816
4817 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
4818
4819 * util/grub-install.in: Add --debug-image= option.
4820
4821 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
4822
4823 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
4824 possible on Linux.
4825
4826 * util/deviceiter.c (check_device): Rename to ...
4827 (check_device_readable_unique): ... this. Update all callers.
4828 Maintain and check a list of which devices (by canonicalized name)
4829 have already been seen.
4830 (clear_seen_devices): New function.
4831 (compare_file_names) [__linux__]: New function.
4832 (grub_util_iterate_devices): Clear the list of seen devices on exit
4833 and (just in case) on entry.
4834 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
4835 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
4836 seen-devices list, superseded by general code in check_device.
4837
4838 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
4839
4840 * commands/cat.c (options): New variable.
4841 (grub_cmd_cat): Parse options. If the --dos option is given, print
4842 DOS-style "\r\n" line endings as simple newlines (Debian bug
4843 #586358).
4844 (GRUB_MOD_INIT): Use extcmd.
4845 (GRUB_MOD_FINI): Likewise.
4846 * docs/grub.texi (cat): Document --dos.
4847
4848 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 XEN with Linux grub-mkconfig support.
4851
4852 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
4853 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
4854 GRUB_CMDLINE_XEN_DEFAULT.
4855 * util/grub.d/20_linux_xen.in: New file.
4856
4857 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Initialise VGA video on qemu ourselves.
4860
4861 * boot/i386/qemu/boot.S: Don't call 0xc000.
4862 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
4863 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
4864 (kernel_img_HEADERS): Add pci.h.
4865 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
4866 * configure.ac: Force unifont on qemu and yeeloong.
4867 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
4868 (grub_vga_palette_write): Use correct register.
4869 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
4870 Call grub_qemu_init_cirrus.
4871 * kern/i386/qemu/init.c: New file.
4872 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
4873
4874 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
4875
4876 2010-06-26 Pavel Roskin <proski@gnu.org>
4877
4878 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4879 13.
4880
4881 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
4882
4883 * docs/grub.texi (Simple configuration): Explain that
4884 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
4885 set to `true' to disable their respective recovery entries, not
4886 merely set.
4887
4888 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
4889
4890 Make the `source' command slightly faster.
4891
4892 * normal/main.c (grub_normal_execute): Don't re-read list files when
4893 nested.
4894
4895 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
4896
4897 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
4898 field position and mask size to red fields from mode_info, not
4899 green.
4900 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
4901 Remove redundant tag->common.framebuffer_type assignment.
4902 Reported by: Seth Goldberg.
4903
4904 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
4905
4906 Sync up other versions of the Linux loader with Robert Millan's
4907 change of 2010-01-09, "Make loader output a bit more user-friendly".
4908
4909 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
4910 grub_dprintf().
4911 (grub_cmd_linux): Likewise.
4912 (grub_cmd_initrd): Likewise.
4913 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
4914 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4915
4916 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
4917
4918 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
4919 larger than MEMORY_MAP_SIZE.
4920
4921 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
4922
4923 Fix parallel build.
4924
4925 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
4926 dependency.
4927 * script/parser.y: #include grub_script.tab.h header.
4928
4929 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 Support >3GiB and <16MiB RAM in i386-qemu.
4932
4933 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
4934 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
4935 (grub_lower_mem): Removed.
4936 (grub_upper_mem): Likewise.
4937 (mem_size): Made static.
4938 (above_4g): New variable.
4939 (grub_machine_mmap_init): Detect small mem_size and above_4g.
4940 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
4941 support.
4942
4943 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 Cirrus 5446 and Bochs video cards support.
4946
4947 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
4948 video_bochs.mod
4949 (video_cirrus_mod_SOURCES): New variable.
4950 (video_cirrus_mod_CFLAGS): Likewise.
4951 (video_cirrus_mod_LDFLAGS): Likewise.
4952 (video_bochs_mod_SOURCES): Likewise.
4953 (video_bochs_mod_CFLAGS): Likewise.
4954 (video_bochs_mod_LDFLAGS): Likewise.
4955 * include/grub/vga.h: New file.
4956 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
4957 (grub_video_fb_set_page_t): New type.
4958 (grub_video_fb_setup): New prototype.
4959 (grub_video_fb_swap_buffers): Likewise.
4960 (grub_video_fb_get_info_and_fini): Likewise.
4961 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
4962 (CRTC_DATA_PORT): Likewise.
4963 (CRTC_CURSOR): Likewise.
4964 (CRTC_CURSOR_ADDR_HIGH): Likewise.
4965 (CRTC_CURSOR_ADDR_LOW): Likewise.
4966 (CRTC_CURSOR_DISABLE): Likewise.
4967 (update_cursor): Use grub_vga_cr_write.
4968 (grub_vga_text_setcursor): Likewise.
4969 * video/bochs.c: New file.
4970 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
4971 (palette): Likewise.
4972 (palette_size): Likewise.
4973 (framebuffer): New variable.
4974 (grub_video_fb_init): Use 'framebuffer'.
4975 (grub_video_fb_fini): Likewise.
4976 (grub_video_fb_get_info): Likewise.
4977 (grub_video_fb_get_palette): Likewise.
4978 (grub_video_fb_set_palette): Likewise.
4979 (grub_video_fb_set_viewport): Likewise.
4980 (grub_video_fb_get_viewport): Likewise.
4981 (grub_video_fb_map_color): Likewise.
4982 (grub_video_fb_map_rgb): Likewise.
4983 (grub_video_fb_map_rgba): Likewise.
4984 (grub_video_fb_unmap_color): Likewise.
4985 (grub_video_fb_unmap_color_int): Likewise.
4986 (grub_video_fb_fill_rect): Likewise.
4987 (grub_video_fb_blit_bitmap): Likewise.
4988 (grub_video_fb_blit_render_target): Likewise.
4989 (grub_video_fb_scroll): Likewise.
4990 (grub_video_fb_create_render_target): Likewise.
4991 (grub_video_fb_doublebuf_blit_init): Likewise.
4992 (grub_video_fb_set_active_render_target): Handle doublebuffering.
4993 (doublebuf_pageflipping_update_screen): New function.
4994 (doublebuf_pageflipping_init): Likewise.
4995 (grub_video_fb_setup): Likewise.
4996 (grub_video_fb_swap_buffers): Likewise.
4997 (grub_video_fb_get_info_and_fini): Likewise.
4998 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
4999 All users updated.
5000 (doublebuf_pageflipping_commit): Restructured into ...
5001 (doublebuf_pageflipping_set_page): ... this.
5002 (doublebuf_pageflipping_update_screen): Removed.
5003 (doublebuf_pageflipping_init): Likewise.
5004 (double_buffering_init): Likewise.
5005 (grub_video_vbe_setup): Use grub_video_fb_setup.
5006 (grub_video_vbe_swap_buffers): Removed.
5007 (grub_video_vbe_set_active_render_target): Likewise.
5008 (grub_video_vbe_get_active_render_target): Likewise.
5009 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5010 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5011 grub_video_fb_set_active_render_target and
5012 grub_video_fb_get_active_render_target.
5013 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5014 (SEQUENCER_DATA_PORT): Likewise.
5015 (MAP_MASK_REGISTER): Likewise.
5016 (CRTC_ADDR_PORT): Likewise.
5017 (CRTC_DATA_PORT): Likewise.
5018 (START_ADDR_HIGH_REGISTER): Likewise.
5019 (START_ADDR_LOW_REGISTER): Likewise.
5020 (GRAPHICS_ADDR_PORT): Likewise.
5021 (GRAPHICS_DATA_PORT): Likewise.
5022 (READ_MAP_REGISTER): Likewise.
5023 (INPUT_STATUS1_REGISTER): Likewise.
5024 (INPUT_STATUS1_VERTR_BIT): Likewise.
5025 (get_map_mask): Use grub_vga_sr_read.
5026 (set_map_mask): Use grub_vga_sr_write.
5027 (set_read_map): Use grub_vga_gr_write.
5028 (set_start_address): Use grub_vga_cr_write.
5029 * video/sm712.c (framebuffer): Remove leftover fields.
5030
5031 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
5032
5033 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5034 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5035 instead. Replace the gfxterm backend check with a check that
5036 ${GRUB_PREFIX}/video.lst is non-empty.
5037 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5038 again.
5039 (load_video): New generated function. Call it before loading
5040 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5041 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5042 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5043 * docs/grub.texi (Simple configuration): Document
5044 GRUB_VIDEO_BACKEND.
5045
5046 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 Use video functions in linux and xnu loaders.
5049
5050 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5051 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5052 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5053 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5054 loader/i386/pc/linux.c.
5055 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5056 (find_line_len): Removed.
5057 (find_framebuf): Likewise.
5058 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5059 * loader/i386/efi/xnu.c: Removed.
5060 * loader/i386/pc/xnu.c: Moved from here...
5061 * loader/i386/xnu.c: ...here.
5062
5063 Enable priorities in video drivers.
5064
5065 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5066 (grub_video_adapter): New field prio.
5067 (grub_video_register): Respect prio when inserting.
5068 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5069 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5070 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5071 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5072 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5073 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5074 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5075
5076 Fix SDL driver ID.
5077
5078 * include/grub/video.h (grub_video_driver_id_t): New value
5079 GRUB_VIDEO_DRIVER_SDL.
5080 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5081
5082 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
5083
5084 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5085 argument to printf.
5086 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5087
5088 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
5089
5090 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5091 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5092
5093 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
5094
5095 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5096 directly, and recommend grub-install instead.
5097 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5098
5099 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
5100
5101 Fix i386-pc prefix handling with nested partitions (Debian bug
5102 #585068). Note that the case where the core image is booted using
5103 multiboot and relocated from its original location still requires
5104 more work.
5105
5106 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5107 with "(,", fill the boot drive in between those two characters, but
5108 expect that a full partition specification including partition map
5109 names will follow.
5110 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5111 specified, write a prefix without the drive name but including a
5112 full partition specification.
5113
5114 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
5115
5116 * util/grub-mkconfig.in: Ignore non-option arguments, for
5117 compatibility with older versions (before 2010-06-12) which did the
5118 same. In particular, this makes it easier to ship an update-grub
5119 wrapper which is compatible with that used with GRUB Legacy (Debian
5120 bug #586056).
5121
5122 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5123
5124 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5125 for manual page generation.
5126
5127 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5128
5129 * po/POTFILES: Remove leftover commands/handler.c.
5130
5131 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
5132
5133 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5134 left this script non-functional.
5135
5136 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
5137
5138 * docs/man/grub-emu.h2m: New file.
5139
5140 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
5141
5142 * docs/grub.texi (Commands): Document reduced command set in rescue
5143 mode.
5144 (cpuid): New section.
5145
5146 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5147
5148 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5149 new partition naming style.
5150 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5151
5152 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5153
5154 Add "-o grub.iso" like cmdline options support.
5155
5156 * util/grub-install.in: Improve cmdline option parsing.
5157 * util/grub-mkconfig.in: Likewise.
5158 * util/grub-mkrescue.in: Likewise.
5159 * util/grub-reboot.in: Likewise.
5160 * util/grub-set-default.in: Likewise.
5161 * util/i386/efi/grub-install.in: Likewise.
5162 * util/ieee1275/grub-install.in: Likewise.
5163 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5164
5165 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
5166
5167 * .bzrignore: Ignore 41_custom.
5168
5169 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5170
5171 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5172
5173 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
5174
5175 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5176 prototype declarations.
5177
5178 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5179 generating fs, partmap, and video lists.
5180 * include/grub/fs.h (grub_fs_register): Omit prototype if
5181 GRUB_LST_GENERATOR is defined.
5182 * include/grub/partition.h (grub_partition_map_register): Likewise.
5183 * include/grub/video.h (grub_video_register): Likewise.
5184
5185 2010-06-12 Javier Martín <lordhabbit@gmail.com>
5186
5187 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5188
5189 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5190
5191 * util/grub-mkrescue.in: Support --xorriso argument.
5192
5193 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5196 Suggested by: Thomas Schmitt.
5197
5198 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5201 Suggested by: Thomas Schmitt.
5202
5203 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 custom.cfg support.
5206
5207 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5208 * util/grub.d/41_custom.in: New file.
5209
5210 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
5211
5212 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5213 been merged back into normal.
5214
5215 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
5216
5217 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5218 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5219
5220 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
5221
5222 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5223 when generating manual pages.
5224 * docs/man/grub-bin2h.h2m: New file.
5225 * docs/man/grub-editenv.h2m: New file.
5226 * docs/man/grub-fstest.h2m: New file.
5227 * docs/man/grub-install.h2m: New file.
5228 * docs/man/grub-macho2img.h2m: New file.
5229 * docs/man/grub-mkconfig.h2m: New file.
5230 * docs/man/grub-mkdevicemap.h2m: New file.
5231 * docs/man/grub-mkfont.h2m: New file.
5232 * docs/man/grub-mkimage.h2m: New file.
5233 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5234 * docs/man/grub-mkrelpath.h2m: New file.
5235 * docs/man/grub-mkrescue.h2m: New file.
5236 * docs/man/grub-ofpathname.h2m: New file.
5237 * docs/man/grub-pe2elf.h2m: New file.
5238 * docs/man/grub-probe.h2m: New file.
5239 * docs/man/grub-reboot.h2m: New file.
5240 * docs/man/grub-script-check.h2m: New file.
5241 * docs/man/grub-set-default.h2m: New file.
5242 * docs/man/grub-setup.h2m: New file.
5243
5244 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 Use FOR_* macros instead of *_iterate whenever possible.
5247
5248 * commands/handler.c: Removed.
5249 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5250 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5251 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5252 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5253 (grub_probe_SOURCES): Remove kern/parser.c.
5254 (util/grub-script-check.c_DEPENDENCIES): Removed.
5255 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5256 and grub_script_check_init.c.
5257 (grub_script_check_init.lst): Removed.
5258 (grub_script_check_init.h): Likewise.
5259 (grub_script_check_init.c): Likewise.
5260 (pkglib_MODULES): Remove handler.mod and sh.mod.
5261 (handler_mod_SOURCES): Removed.
5262 (handler_mod_CFLAGS): Likewise.
5263 (handler_mod_LDFLAGS): Likewise.
5264 (normal_mod_SOURCES): Remove normal/handler.c.
5265 Add script/main.c, script/script.c, script/execute.c,
5266 script/function.c, script/lexer.c, grub_script.tab.c
5267 and grub_script.yy.c.
5268 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5269 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5270 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5271 (grub_setup_SOURCES): Remove kern/parser.c.
5272 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5273 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5274 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5275 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5276 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5277 (grub_setup_SOURCES): Remove kern/parser.c.
5278 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5279 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5280 * include/grub/command.h (grub_command_iterate): Removed.
5281 (FOR_COMMANDS): New macro.
5282 * include/grub/dl.h (grub_dl): New member next.
5283 (grub_dl_iterate): Removed.
5284 (grub_dl_head): New variable declaration.
5285 (FOR_DL_MODULES): New macro.
5286 * include/grub/fs.h: Include list.h.
5287 (grub_fs): Make next first element.
5288 (grub_fs_list): New variable declaration.
5289 (grub_fs_register): Make inline.
5290 (grub_fs_unregister): Likewise.
5291 (grub_fs_iterate): Removed.
5292 (FOR_FILESYSTEMS): New macro.
5293 * include/grub/handler.h: Removed.
5294 * include/grub/list.h (grub_list_hook_t): Removed.
5295 (grub_list_test_t): Likewise.
5296 (grub_list_pop): Likewise.
5297 (grub_list_iterate): Likewise.
5298 (grub_list_insert): Likewise.
5299 (FOR_LIST_ELEMENTS): New macro.
5300 * include/grub/parser.h (grub_parser_class): Removed.
5301 (grub_parser_register): Likewise.
5302 (grub_parser_unregister): Likewise.
5303 (grub_parser_get_current): Likewise.
5304 (grub_parser_set_current): Likewise.
5305 (grub_register_rescue_parser): Likewise.
5306 (grub_rescue_parse_line): New function.
5307 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5308 * include/grub/script_sh.h (grub_script_function_list): New variable
5309 declaration.
5310 (FOR_SCRIPT_FUNCTIONS): New macro.
5311 (grub_script_function_iterate): Removed.
5312 (grub_normal_parse_line): New prototype.
5313 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5314 (FOR_DISABLED_TERM_INPUTS): Likewise.
5315 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5316 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5317 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5318 element.
5319 (grub_video_register): Inline.
5320 (grub_video_unregister): Likewise.
5321 (grub_video_adapter_list): New variable declaration.
5322 (grub_video_iterate): Removed.
5323 (FOR_VIDEO_ADAPTERS): New macro.
5324 * kern/dl.c (grub_dl_list): Removed. All users updated.
5325 (grub_dl_iterate): Removed.
5326 * kern/fs.c (grub_fs_list): Make global.
5327 (grub_fs_register): Removed.
5328 (grub_fs_unregister): Likewise.
5329 (grub_fs_iterate): Likewise.
5330 * kern/handler.c: Removed.
5331 * kern/list.c (grub_list_pop): Removed.
5332 (grub_list_iterate): Likewise.
5333 (grub_list_insert): Likewise.
5334 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5335 (grub_prio_list_insert): Don't use grub_list_insert.
5336 * kern/main.c (grub_register_rescue_parser): Don't call
5337 grub_register_rescue_parser.
5338 * kern/parser.c (grub_parser_class): Removed.
5339 (grub_parser_execute): Use grub_rescue_parse_line.
5340 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5341 (grub_rescue_parser): Removed.
5342 (grub_register_rescue_parser): Likewise.
5343 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5344 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5345 (grub_auth_check_authentication): Likewise.
5346 * normal/completion.c (iterate_command): Removed.
5347 (grub_normal_do_completion): Use FOR_COMMANDS.
5348 * normal/handler.c: Removed.
5349 * normal/main.c (read_config_file): Remove parser changing.
5350 (grub_normal_execute): Don't call read_handler_list.
5351 (grub_normal_read_line_real): Statically allocate prompt.
5352 (grub_cmdline_run): Use grub_normal_parse_line.
5353 (GRUB_MOD_FINI): Don't call free_handler_list.
5354 * normal/menu_entry.c (run): Likewise.
5355 * script/function.c (grub_script_function_list): Make global.
5356 (grub_script_function_iterate): Removed.
5357 * script/main.c (grub_normal_parse_line): Make global.
5358 (grub_sh_parser): Removed.
5359 (GRUB_MOD_INIT): Likewise.
5360 (GRUB_MOD_FINI): Likewise.
5361 * tests/lib/functional_test.c (grub_functional_test): Use
5362 FOR_LIST_ELEMENTS.
5363 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5364 (grub_test_run): Use FOR_LIST_ELEMENTS.
5365 * tests/lib/unit_test.c (main): Likewise.
5366 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5367 grub_list_pop.
5368 * util/grub-fstest.c (grub_term_input_class): Removed.
5369 (grub_term_output_class): Likewise.
5370 * util/grub-probe.c: Likewise.
5371 * util/i386/pc/grub-setup.c: Likewise.
5372 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5373 * util/grub-script-check.c (main): Don't call grub_init_all and
5374 grub_fini_all.
5375 * video/video.c (grub_video_adapter_list): Make global.
5376 (grub_video_register): Removed.
5377 (grub_video_unregister): Likewise.
5378 (grub_video_iterate): Likewise.
5379
5380 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5383 reported by Henrique Ferreiro.
5384
5385 2010-06-09 Robert Millan <rmh@gnu.org>
5386
5387 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5388 ones, when both are available.
5389
5390 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5391
5392 Make --version uniform and avoid hard-coded program name.
5393
5394 * util/grub-mkimage.c (main): Use `program_name' instead of
5395 hard-coded string.
5396 * util/i386/pc/grub-setup.c (main): Likewise.
5397 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5398 * util/grub-install.in: Save the basename of $0 in $self, and use the
5399 latter in informational messages. Use the same format for --version
5400 as the binary programs.
5401 * util/grub-mkconfig.in: Likewise.
5402 * util/grub-mkrescue.in: Likewise.
5403 * util/grub-reboot.in: Likewise.
5404 * util/grub-set-default.in: Likewise.
5405 * util/i386/efi/grub-install.in: Likewise.
5406 * util/ieee1275/grub-install.in: Likewise.
5407 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5408
5409 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5410
5411 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5412 embedding area. Use <= instead of == when checking for non-emptiness.
5413
5414 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5415
5416 * configure.ac: Add `.' to the directories searched for unifont.
5417
5418 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
5419
5420 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5421 grub_script.yy.h.
5422
5423 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
5424
5425 * docs/grub.texi (History): Expand to cover GRUB 2.
5426 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5427 commands, not `terminal'.
5428 (serial): Likewise.
5429 (terminal_input): New section.
5430 (terminal_output): New section.
5431 (uppermem): New section (stub).
5432 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5433
5434 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
5435
5436 * docs/grub.texi (Security): Menu entries are unrestricted by
5437 default, not restricted to superusers as I had previously thought.
5438 Reword to account for this.
5439
5440 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5441
5442 * kern/emu/misc.c (device_mapper_null_log): New function.
5443 (grub_device_mapper_supported): New function.
5444 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5445 prototype.
5446 * kern/emu/hostdisk.c (find_partition_start): Check whether
5447 device-mapper is supported before trying to use it.
5448 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5449
5450 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5451
5452 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5453 (File name syntax): Likewise.
5454 (help): --all is no longer supported in GRUB 2. Be more precise
5455 about pattern matching.
5456
5457 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5458
5459 * normal/completion.c (grub_normal_do_completion): When completing
5460 arguments to "set" and the current word contains an equals sign,
5461 skip to after the equals sign before starting completion.
5462
5463 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5464
5465 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5466
5467 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5468
5469 * docs/grub.texi (Network): New section.
5470 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5471 `(nd)' as in GRUB Legacy.
5472 (pxe_unload): New section.
5473
5474 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5475
5476 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5477 in the rescue shell, so recommend using `set' instead. Thanks,
5478 Jordan Uggla.
5479
5480 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5481
5482 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5483 (password): New section.
5484 (password_pbkdf2): New section.
5485 (search): New section.
5486 (Security): New section.
5487 (Troubleshooting): New section, currently very incomplete.
5488 (Invoking grub-mkpasswd-pbkdf2): New section.
5489 (Internals): New section, currently very incomplete.
5490
5491 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5492
5493 * util/grub.d/00_header.in: Add some more quoting (of
5494 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5495 work again.
5496 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5497
5498 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
5499
5500 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5501 to `count', fixing variable shadowing that broke the -c option.
5502
5503 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
5504
5505 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5506 in case they contain spaces.
5507
5508 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
5509
5510 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5511 "part_" to partmap module names, in line with grub-install.
5512 Reported by: Jindřich Makovička (Debian bug #584426).
5513
5514 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
5515
5516 * util/grub-mkimage.c: Make target-related error messages slightly
5517 more helpful; -O talks about "format". Explicitly point to the use
5518 of -O if no target is specified.
5519 Reported by: Didier Raboud (Debian bug #584415).
5520
5521 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
5522
5523 * INSTALL: Document several build requirements for optional features
5524 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5525
5526 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5527
5528 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5529 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5530 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5531
5532 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5533
5534 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5535 Thanks to Jordan Uggla for spotting this.
5536
5537 2010-06-02 Aleš Nesrsta <starous@volny.cz>
5538
5539 Finally make USB usable.
5540
5541 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5542 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5543 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5544 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5545 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5546 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5547 (GRUB_OHCI_FSMPS): Likewise.
5548 (GRUB_OHCI_PERIODIC_START): Likewise.
5549 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5550 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5551 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5552 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5553 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5554 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5555 (grub_ohci_transaction): Likewise.
5556 (grub_ohci_transfer): Improve condition detection algorithms.
5557 Handle toggle property. Program the transactions correctly.
5558 Improve error handling. Various important fixups.
5559 (grub_ohci_portstatus): Put register writes in right order.
5560 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5561 (grub_uhci_transfer): Don't show "failed" message on success.
5562 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5563 array.
5564 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5565 determine its size.
5566 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5567 before initialization is completed. Use IN direction for empty
5568 transfers. Use last_trans and compute toggle.
5569 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5570 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5571 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5572 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5573 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5574 (grub_usb_device): Increase toggle to 256.
5575 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5576 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5577 GRUB_USBMS_SUBCLASS_SFF8070.
5578 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5579 (grub_scsi_inquiry): New member page and alloc_length.
5580 (grub_scsi_request_sense): New structure.
5581 (grub_scsi_request_sense_data): Likewise.
5582 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5583 control.
5584 * disk/scsi.c (grub_scsi_request_sense): New function.
5585 (grub_scsi_test_unit_ready): Likewise.
5586 (grub_scsi_inquiry): Fill new fields.
5587 (grub_scsi_read_capacity): Likewise.
5588 (grub_scsi_read10): Add request sense at the end.
5589 (grub_scsi_read12): Likewise.
5590 (grub_scsi_write10): Likewise.
5591 (grub_scsi_write12): Likewise.
5592 (grub_scsi_open): Add Test Unit Ready.
5593 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5594 Support additional subclasses. Con't clear halt yet. Activate the
5595 proper config. Calculate LUNs correctly.
5596 (grub_usbms_transfer): Various important fixups.
5597
5598 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5601 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5602 (grub_ohci_fini_hw): New function.
5603 (grub_ohci_restore_hw): Likewise.
5604 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5605 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5606 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5607
5608 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Dedicated DMA allocations.
5611
5612 * bus/pci.c (grub_memalign_dma32): New function
5613 (grub_dma_free): Likewise.
5614 (grub_dma_get_virt): Likewise.
5615 (grub_dma_get_phys): Likewise.
5616 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5617 (grub_ohci_pci_iter): Use dma32_alloc.
5618 (grub_ohci_transfer): Likewise.
5619 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5620 (grub_usb_bulk_readwrite): Likewise.
5621 * include/grub/pci.h: Add declarations.
5622
5623 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 CS5536 support.
5626
5627 * bus/cs5536.c: New file.
5628 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5629 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5630 (cs5536_mod_SOURCES): New variable.
5631 (cs5536_mod_CFLAGS): Likewise.
5632 (cs5536_mod_LDFLAGS): Likewise.
5633 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5634 machine/pci.h.
5635 (kernel_img_SOURCES): Add bus/cs5536.c.
5636 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5637 usb_keyboard.mod.
5638 (usb_mod_SOURCES): New variable.
5639 (usb_mod_CFLAGS): New variable.
5640 (usb_mod_LDFLAGS): New variable.
5641 (usbtest_mod_SOURCES): New variable.
5642 (usbtest_mod_CFLAGS): New variable.
5643 (usbtest_mod_LDFLAGS): New variable.
5644 (ohci_mod_SOURCES): New variable.
5645 (ohci_mod_CFLAGS): New variable.
5646 (ohci_mod_LDFLAGS): New variable.
5647 (usbms_mod_SOURCES): New variable.
5648 (usbms_mod_CFLAGS): New variable.
5649 (usbms_mod_LDFLAGS): New variable.
5650 (usb_keyboard_mod_SOURCES): New variable.
5651 (usb_keyboard_mod_CFLAGS): New variable.
5652 (usb_keyboard_mod_LDFLAGS): New variable.
5653 * include/grub/smbus.h: New file.
5654 * include/grub/cs5536.h: New file.
5655
5656 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5657
5658 * util/grub.d/00_header.in: Add safety check to make sure that
5659 ${locale_dir} exists before trying to probe it.
5660
5661 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5662
5663 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5664 per the GNU Coding Standards; this is now too obscure to be worth
5665 documenting.
5666 (QNX): Likewise.
5667 (chainloader): Remove cross-reference to `SCO UnixWare'.
5668
5669 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * docs/grub.texi (Chain-loading): New section.
5672 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5673 adjusted for GRUB 2.
5674 (SCO UnixWare): Likewise.
5675 (QNX): Likewise.
5676 (chainloader): Add reference to `Block list syntax'.
5677 (drivemap): New section.
5678 (parttool): New section.
5679
5680 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5681
5682 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5683 the grub shell'.
5684 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5685 (Installing GRUB using grub-install): Remove reference to the grub
5686 shell; mention `grub-mkimage' and `grub-setup' instead.
5687 (Invoking grub-install): Likewise.
5688 (Interface): Add reference to `Menu entry editor'.
5689 (serial): Remove `--device' option.
5690
5691 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5692
5693 * docs/grub.texi (Configuration): New section, documenting
5694 configuration file generation using grub-mkconfig. I've left a slot
5695 for documenting the full shell scripting format but have not yet
5696 started on writing that up.
5697 (Invoking grub-mkconfig): New section.
5698
5699 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5700
5701 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5702 (GNU GRUB manual): Likewise.
5703 (General commands): Update description of `terminfo' for GRUB 2.
5704
5705 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5706
5707 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5708 (GRUB_MOD_INIT): Fix capitalisation.
5709 * docs/grub.texi (Command-line and menu entry commands): Document
5710 gettext and gptsync commands.
5711
5712 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
5713
5714 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5715 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5716
5717 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
5718
5719 Add btrfs probing support, currently only in the single-device case.
5720
5721 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5722 function.
5723 (grub_guess_root_device): Call find_root_device_from_mountinfo
5724 before looking in /dev.
5725
5726 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5729 GRUB_DISK_SIZE_UNKNOWN.
5730 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5731
5732 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
5733
5734 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5735 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5736 corrupted or not synced properly.
5737
5738 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5741 Reported by: Seth Goldberg.
5742
5743 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5746 addition of dest.
5747 Reported by: Seth Goldberg.
5748
5749 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5752 Reported by: Seth Goldberg.
5753
5754 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5757 64-bit address as signed on MIPS.
5758
5759 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
5760
5761 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5762 to the empty string.
5763
5764 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5765
5766 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5767
5768 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5769 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5770 * kern/misc.c (__enable_execute_stack): Disable on
5771 GRUB_MACHINE_EMU.
5772
5773 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
5774
5775 Make grub-probe work with symbolic links under /dev/mapper as well
5776 as with real block devices. The Linux world seems to be (at best)
5777 in transition here, and GRUB shouldn't get caught in the middle.
5778
5779 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5780 /dev/mapper.
5781
5782 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
5783
5784 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5785 input files (in which case exit zero).
5786
5787 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
5788
5789 * kern/emu/misc.c (canonicalize_file_name): realpath can still
5790 return NULL for various reasons even if it has a maximum-length
5791 buffer: for example, there might be a symlink loop, or the path
5792 might exceed PATH_MAX. If this happens, return NULL.
5793
5794 2010-05-27 Robert Millan <rmh@gnu.org>
5795
5796 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
5797 partmap module to handle cross-partmap setups.
5798 Reported by Orestes Mas. Gràcies!
5799
5800 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
5801
5802 * util/grub-mkrescue.in: Initialise override_dir rather than
5803 assuming that it's unset or empty in the environment.
5804
5805 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
5806
5807 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
5808 variable index into p_index to suppress a warning with -Wshadow.
5809
5810 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
5811
5812 * INSTALL: Added flex >= 2.5.35 requirement.
5813
5814 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
5817
5818 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 cmostest support.
5821
5822 * commands/i386/cmostest.c: New file.
5823 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
5824 (cmostest_mod_SOURCES): New variable.
5825 (cmostest_mod_CFLAGS): Likewise.
5826 (cmostest_mod_LDFLAGS): Likewise.
5827 * conf/i386-pc.rmk: Likewise.
5828 * docs/grub.texi (Vendor power-on keys): New section.
5829 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
5830 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
5831 and GRUB_BUTTON_CMOS_ADDRESS.
5832 * util/grub.d/00_header.in: Handle powering-on by separate button.
5833
5834 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
5837 Removed drawing_scrollbar argument. All users updated
5838 Fixes #29792.
5839 Reported by Jo Shields
5840
5841 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
5844 buffer since gfxterm handles double repaint.
5845
5846 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
5849 * term/gfxterm.c (real_scroll): Likewise.
5850
5851 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
5854 before calling BIOS.
5855
5856 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * include/grub/i18n.h: Always enable grub_gettext.
5859
5860 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
5863 partition naming style.
5864
5865 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
5866
5867 * util/grub-mkconfig.in: Fix handling of -o so that it works when
5868 not the first option.
5869
5870 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
5871
5872 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
5873
5874 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
5875
5876 * util/misc.c: Move inclusion of <limits.h> to ...
5877 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
5878
5879 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5880
5881 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
5882 Fix merge error in NetBSD code.
5883 (find_partition_start) [__NetBSD__]: Likewise.
5884
5885 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
5886
5887 Fix grub-mkrescue usage unit testing.
5888
5889 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
5890
5891 2010-05-18 Christian Franke <franke@computer.org>
5892
5893 * util/grub.d/10_windows.in: Use path names instead of
5894 drive letters to prevent warning from Cygwin 1.7.
5895 Add drivemap command to menuentry if needed.
5896
5897 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
5898
5899 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
5900 gnumach and gnumach.gz.
5901
5902 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * include/grub/i18n.h (gettext): Inline instead of using #define.
5905 (grub_gettext): Likewise.
5906 (_): Likewise.
5907
5908 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
5911 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
5912 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
5913 (main): Add a slash after pkglibdirroot.
5914
5915 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * util/grub-install.in: Add missing "in" keyword.
5918
5919 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
5922 Reported by: Seth Goldberg.
5923
5924 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
5927
5928 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
5929
5930 * configure.ac: Check for Linux device-mapper support.
5931
5932 * util/hostdisk.c (device_is_mapped): New function.
5933 (find_partition_start): New function, partly broken out from
5934 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
5935 device-mapper support added.
5936 (linux_find_partition): Use find_partition_start.
5937 (convert_system_partition_to_system_disk): Add `st' argument.
5938 Support Linux /dev/mapper/* devices if device-mapper support is
5939 available; only DM-RAID devices are understood at present.
5940 (find_system_device): Add `st' argument. Pass it to
5941 convert_system_partition_to_system_disk.
5942 (grub_util_biosdisk_get_grub_dev): Pass stat result to
5943 find_system_device and convert_system_partition_to_system_disk. Use
5944 find_partition_start.
5945
5946 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
5947 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
5948 * util/deviceiter.c [__linux__]: Define MINOR.
5949 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
5950 * util/mkdevicemap.c (grub_putchar): New function.
5951 (grub_getkey): New function.
5952 (grub_refresh): New function.
5953 (main): Set debug=all if -v -v is used.
5954
5955 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
5956
5957 Fix build with non-GNU libcs.
5958
5959 * util/misc.c (canonicalize_file_name): Move to ...
5960 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
5961 grub_make_system_path_relative_to_its_root.
5962
5963 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
5964
5965 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
5966 we handle finding grub-mkimage. Default to finding grub-mkimage in
5967 ${bindir} with program_transform_name applied, and provide a
5968 --grub-mkimage option to override this.
5969
5970 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 Remove grub-mkisofs.
5973
5974 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
5975 (grub_mkisofs_SOURCES): Removed.
5976 (grub_mkisofs_CFLAGS): Removed.
5977 * util/mkisofs/defaults.h: Removed.
5978 * util/mkisofs/eltorito.c: Likewise.
5979 * util/mkisofs/exclude.h: Likewise.
5980 * util/mkisofs/hash.c: Likewise.
5981 * util/mkisofs/include/: Likewise.
5982 * util/mkisofs/include/fctldefs.h: Likewise.
5983 * util/mkisofs/include/mconfig.h: Likewise.
5984 * util/mkisofs/include/prototyp.h: Likewise.
5985 * util/mkisofs/include/statdefs.h: Likewise.
5986 * util/mkisofs/iso9660.h: Likewise.
5987 * util/mkisofs/joliet.c: Likewise.
5988 * util/mkisofs/match.c: Likewise.
5989 * util/mkisofs/match.h: Likewise.
5990 * util/mkisofs/mkisofs.c: Likewise.
5991 * util/mkisofs/mkisofs.h: Likewise.
5992 * util/mkisofs/msdos_partition.h: Likewise.
5993 * util/mkisofs/multi.c: Likewise.
5994 * util/mkisofs/name.c: Likewise.
5995 * util/mkisofs/rock.c: Likewise.
5996 * util/mkisofs/tree.c: Likewise.
5997 * util/mkisofs/write.c: Likewise.
5998
5999 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 Unify grub-mkimage accross platforms.
6002
6003 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6004 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6005 (grub_mkelfimage_SOURCES): Removed.
6006 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6007 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6008 (bin_UTILITIES): Add grub-mkimage.
6009 (grub_mkimage_SOURCES): New variable.
6010 (kernel_img_HEADERS): Remove machine/kernel.h.
6011 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6012 (pkglib_PROGRAMS): Add kernel.img.
6013 (kernel_img_HEADERS): Add machine/kernel.h.
6014 (kernel_img_FORMAT): Removed.
6015 (bin_UTILITIES): Remove grub-mkimage.
6016 (grub_mkimage_SOURCES): Removed.
6017 (grub_mkimage_CFLAGS): Likewise.
6018 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6019 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6020 (pkglib_PROGRAMS): Add kernel.img.
6021 (bin_UTILITIES): Remove grub-mkimage.
6022 (grub_mkimage_SOURCES): Removed.
6023 (grub_mkimage_CFLAGS): Likewise.
6024 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6025 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6026 (pkglib_PROGRAMS): Add kernel.img.
6027 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6028 (pkglib_PROGRAMS): Add kernel.img.
6029 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6030 (grub_mkimage_SOURCES): Removed.
6031 (grub_mkimage_CFLAGS): Likewise.
6032 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6033 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6034 (pkglib_PROGRAMS): Add kernel.img.
6035 (bin_UTILITIES): Remove grub-mkimage.
6036 (grub_mkimage_SOURCES): Removed.
6037 (grub_mkimage_CFLAGS): Likewise.
6038 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6039 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6040 (grub_mkimage_SOURCES): Removed.
6041 (grub_mkimage_CFLAGS): Likewise.
6042 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6043 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6044 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6045 (grub_pe32_optional_header): ... this.
6046 (grub_pe64_optional_header): ... and this. All users updated.
6047 (GRUB_PE32_PE32_MAGIC): Split into ..
6048 (GRUB_PE32_PE32_MAGIC): .. this.
6049 (GRUB_PE32_PE64_MAGIC): .. and this.
6050 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6051 * include/grub/elf.h (PT_GNU_STACK): New definition.
6052 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6053 * include/grub/i386/efi/kernel.h: Likewise.
6054 * include/grub/i386/kernel.h: Likewise.
6055 * include/grub/i386/pc/kernel.h: Likewise.
6056 * include/grub/i386/qemu/boot.h: Likewise.
6057 * include/grub/mips/kernel.h: Likewise.
6058 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6059 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6060 * include/grub/powerpc/kernel.h: Likewise.
6061 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6062 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6063 * include/grub/sparc64/kernel.h: Likewise.
6064 * include/grub/x86_64/efi/kernel.h: Likewise.
6065 * include/grub/x86_64/kernel.h: Likewise.
6066 * include/grub/offsets.h: New file.
6067 * include/grub/kernel.h (grub_module_info): Split into ...
6068 (grub_module_info32): ... this.
6069 (grub_module_info64): ... and this.
6070 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6071 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6072 (grub_boot_blocklist): Moved from here ...
6073 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6074 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6075 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6076 * include/grub/types.h (grub_target_to_host16): Removed.
6077 (grub_target_to_host32): Likewise.
6078 (grub_target_to_host64): Likewise.
6079 (grub_host_to_target16): Likewise.
6080 (grub_host_to_target32): Likewise.
6081 (grub_host_to_target64): Likewise.
6082 (grub_host_to_target_addr): Likewise.
6083
6084 Support grub-mkrescue for efi, coreboot and qemu.
6085
6086 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6087 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6088 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6089 * util/grub-mkrawimage.c: Moved from here ...
6090 * util/grub-mkimage.c: ... here. All users updated.
6091 (ALIGN_ADDR): Use image_target.
6092 (TARGET_NO_FIELD): New const.
6093 (image_target_desc): New type.
6094 (image_targets): New array.
6095 (grub_target_to_host64): Use image_target.
6096 (grub_target_to_host32): Likewise.
6097 (grub_target_to_host16): Likewise.
6098 (grub_host_to_target64): Likewise.
6099 (grub_host_to_target32): Likewise.
6100 (grub_host_to_target16): Likewise.
6101 (grub_host_to_target_addr): Likewise.
6102 (generate_image): Handle multiimage.
6103 (main): Require -O parameter. All users updated.
6104 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6105 util/efi/grub-mkimage.c
6106 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6107 New option --rom-directory.
6108 Use xorriso.
6109 * util/i386/efi/grub-mkimage.c: Removed.
6110 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6111 (grub_target_to_host32): Likewise.
6112 (grub_target_to_host64): Likewise.
6113 (grub_host_to_target16): Likewise.
6114 (grub_host_to_target32): Likewise.
6115 (grub_host_to_target64): Likewise.
6116 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6117 (grub_target_to_host32): Likewise.
6118 (grub_target_to_host64): Likewise.
6119 (grub_host_to_target16): Likewise.
6120 (grub_host_to_target32): Likewise.
6121 (grub_host_to_target64): Likewise.
6122
6123 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6124
6125 Source tree is reorganized for emu build.
6126
6127 * include/grub/util/console.h: Move from here...
6128 * include/grub/emu/console.h: ...to here.
6129 * include/grub/util/getroot.h: Move from here...
6130 * include/grub/emu/getroot.h: ...to here.
6131 * include/grub/util/hostdisk.h: Move from here...
6132 * include/grub/emu/hostdisk.h: ...to here.
6133 * util/console.c: Move from here...
6134 * kern/emu/console.c: ...to here.
6135 * util/getroot.c: Move from here...
6136 * kern/emu/getroot.c: ...to here.
6137 * util/grub-emu.c: Move from here...
6138 * kern/emu/main.c: ...to here.
6139 * util/hostdisk.c: Move from here...
6140 * kern/emu/hostdisk.c: ...to here.
6141 * util/hostfs.c: Move from here...
6142 * kern/emu/hostfs.c: ...to here.
6143 * util/mm.c: Move from here...
6144 * kern/emu/mm.c: ...to here.
6145 * util/pci.c: Move from here...
6146 * bus/emu/pci.c: ...to here.
6147 * util/sdl.c: Move from here...
6148 * video/emu/sdl.c: ...to here.
6149 * util/time.c: Move from here...
6150 * kern/emu/time.c: ...to here.
6151 * util/usb.c: Move from here...
6152 * bus/usb/emu/usb.c: ...to here.
6153
6154 * include/grub/emu/misc.h: New header for grub-emu functions.
6155 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6156
6157 * conf/any-emu.rmk: Rule updates for above renames.
6158 * conf/common.rmk: Likewise.
6159 * conf/i386-pc.rmk: Likewise.
6160 * conf/i386-qemu.rmk: Likewise.
6161 * conf/mips.rmk: Likewise.
6162 * conf/sparc64-ieee1275.rmk: Likewise.
6163 * conf/x86-efi.rmk: Likewise.
6164
6165 * disk/lvm.h: #include updates for above renames.
6166 * util/grub-mkrelpath.c: Likewise.
6167 * util/grub-probe.c: Likewise.
6168 * util/i386/pc/grub-setup.c: Likewise.
6169 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6170 * kern/emu/console.c: Likewise.
6171 * kern/emu/getroot.c: Likewise.
6172 * kern/emu/hostdisk.c: Likewise.
6173 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6174
6175 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6176 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6177 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6178 * util/misc.c: Remove grub-emu functions.
6179
6180 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Fix gfxmenu crash.
6183 Reported by: Thorsten Grützmacher.
6184
6185 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6186 timeout hook.
6187 (circprog_set_property): Register and unregister timeout hook.
6188 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6189 (label_destroy): Free template. and unregister hook.
6190 (label_set_state): New function.
6191 (label_set_property): Handle templates and hooks.
6192 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6193 timeout hook.
6194 (progress_bar_set_property): Register and unregister timeout hook.
6195 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6196 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6197 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6198 (update_timeout_visit): Removed.
6199 (update_timeouts): New function.
6200 (redraw_timeouts): Likewise.
6201 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6202 (grub_gfxmenu_clear_timeout): Likewise.
6203 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6204 (grub_gfxmenu_timeout_notify): Likewise.
6205 (grub_gfxmenu_timeout_notifications): New external variable.
6206 (grub_gfxmenu_timeout_register): New function.
6207 (grub_gfxmenu_timeout_unregister): Likewise.
6208
6209 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Transform (broken) vga terminal into (working) vga video driver.
6212
6213 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6214 video/i386/pc/vga.c.
6215 * include/grub/video.h (grub_video_driver_id):
6216 Add GRUB_VIDEO_DRIVER_VGA.
6217 * term/i386/pc/vga.c: Renamed to ...
6218 * video/i386/pc/vga.c: ...this
6219 (DEBUG_VGA): Removed.
6220 (CHAR_WIDTH): Likewise.
6221 (CHAR_HEIGHT): Likewise.
6222 (TEXT_WIDTH): Likewise.
6223 (TEXT_HEIGHT): Likewise.
6224 (DEFAULT_FG_COLOR): Likewise.
6225 (DEFAULT_BG_COLOR): Likewise.
6226 (colored_char): Likewise.
6227 (xpos): Likewise.
6228 (ypos): Likewise.
6229 (cursor_state): Likewise.
6230 (fg_color): Likewise.
6231 (bg_color): Likewise.
6232 (text_buf): Likewise.
6233 (page): Likewise.
6234 (font): Likewise.
6235 (framebuffer): New variable.
6236 (set_read_map): Disabled.
6237 (setup): New variable.
6238 (is_target): Likewise.
6239 (grub_vga_mod_init): Likewise.
6240 (grub_vga_mod_fini): Likewise.
6241 (check_vga_mem): Likewise.
6242 (write_char): Likewise.
6243 (write_cursor): Likewise.
6244 (scroll_up): Likewise.
6245 (grub_vga_putchar): Likewise.
6246 (grub_vga_getcharwidth): Likewise.
6247 (grub_vga_getwh): Likewise.
6248 (grub_vga_getxy): Likewise.
6249 (grub_vga_gotoxy): Likewise.
6250 (grub_vga_cls): Likewise.
6251 (grub_vga_setcolorstate): Likewise.
6252 (grub_vga_setcursor): Likewise.
6253 (grub_video_vga_init): New function.
6254 (grub_video_vga_setup): Likewise.
6255 (grub_video_vga_fini): Likewise.
6256 (update_target): Likewise.
6257 (grub_video_vga_blit_bitmap): Likewise.
6258 (grub_video_vga_blit_render_target): Likewise.
6259 (grub_video_vga_set_active_render_target): Likewise.
6260 (grub_video_vga_get_active_render_target): Likewise.
6261 (grub_video_vga_swap_buffers): Likewise.
6262 (grub_video_vga_set_palette): Likewise.
6263 (grub_video_vga_get_info_and_fini): Likewise.
6264 (grub_vga_term): Removed.
6265 (grub_video_vga_adapter): New variable.
6266 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6267 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6268
6269 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * video/readers/jpeg.c: Indented.
6272
6273 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Various jpeg cleanups.
6276
6277 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6278 (grub_jpeg_decode_quan_table): Use sizeof.
6279 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6280
6281 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
6282
6283 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6284 tables. Ignore non-last ac bit.
6285 (grub_jpeg_decode_quan_table): Likewise.
6286
6287 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6290 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6291 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6292 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6293 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6294 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6295
6296 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6299 error.
6300
6301 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6304
6305 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6308 condition.
6309
6310 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6313 part.
6314
6315 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6318 pointers.
6319
6320 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6323
6324 2010-05-01 Christian Franke <franke@computer.org>
6325
6326 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6327 Remove broken Cygwin path conversion.
6328 * util/misc.c: [__CYGWIN__] Add include and define.
6329 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6330 for Cygwin 1.7.
6331 (make_system_path_relative_to_its_root): Simplify loop, replace early
6332 return by break.
6333 [__CYGWIN__] Add conversion to win32 path.
6334 Include "/" case in trailing slash removal.
6335
6336 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6339 Reported by: Seth Goldberg
6340
6341 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * commands/help.c (grub_cmd_help): Fix a typo.
6344 Reported by: Seth Goldberg
6345
6346 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6349 name and add N_.
6350 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6351 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6352 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6353 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6354 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6355 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6356 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6357 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6358 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6359 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6360 * normal/context.c (GRUB_MOD_INIT): Likewise.
6361 * normal/main.c (GRUB_MOD_INIT): Likewise.
6362 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6363 * term/serial.c (GRUB_MOD_INIT): Likewise.
6364 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6365
6366 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6369 extra == 0.
6370
6371 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * commands/iorw.c: New file.
6374 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6375 (iorw_mod_SOURCES): New variable.
6376 (iorw_mod_CFLAGS): Likewise.
6377 (iorw_mod_LDFLAGS): Likewise.
6378
6379 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 Hotkey support
6382
6383 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6384 * normal/main.c (hotkey_aliases): New variable.
6385 (grub_normal_add_menu_entry): Parse "--hotkey".
6386 * normal/menu_text.c (run_menu): Handle hotkeys.
6387
6388 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * kern/i386/coreboot/init.c (grub_machine_init): Call
6391 grub_machine_mmap_init on qemu.
6392
6393 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * boot/i386/qemu/boot.S: Add a missing .code16.
6396
6397 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Use LBIO on coreboot.
6400
6401 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6402 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6403 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6404 New declaration.
6405 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6406 grub_machine_mmap_init on coreboot.
6407 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6408 GRUB_LINUXBIOS_MEMBER_LINK.
6409 (grub_machine_mmap_iterate): Fix declaration.
6410 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6411
6412 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 Split coreboot and multiboot ports.
6415
6416 * conf/i386-multiboot.rmk: New file.
6417 * configure.ac: Add multiboot port.
6418 * include/grub/i386/multiboot/boot.h: New file.
6419 * include/grub/i386/multiboot/console.h: Likewise.
6420 * include/grub/i386/multiboot/init.h: Likewise.
6421 * include/grub/i386/multiboot/kernel.h: Likewise.
6422 * include/grub/i386/multiboot/loader.h: Likewise.
6423 * include/grub/i386/multiboot/memory.h: Likewise.
6424 * include/grub/i386/multiboot/serial.h: Likewise.
6425 * include/grub/i386/multiboot/time.h: Likewise.
6426 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6427 * loader/multiboot.c: Likewise.
6428 * loader/multiboot_mbi2.c: Likewise.
6429 * util/grub-mkrescue.in: Generate multiboot rescue.
6430
6431 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6434
6435 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Merge handling of input and output terminals. Fix a hang.
6438
6439 * commands/terminal.c (abstract_terminal): New struct.
6440 (handle_command): New function. Based on grub_cmd_terminal_input.
6441 (grub_cmd_terminal_input): Use handle_command.
6442 (grub_cmd_terminal_output): Use handle_command.
6443
6444 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6445
6446 Fix comment handling.
6447
6448 * tests/grub_script_comments.in: New testcase.
6449 * conf/tests.rmk: Rules for new testcase.
6450 * script/yylex.l: Updated flex rules.
6451
6452 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6453
6454 * docs/grub.texi (play): Document that zero pitches produce rests.
6455 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6456 if argc is 1.
6457
6458 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6461 autogen issues.
6462
6463 2010-04-26 Christian Franke <franke@computer.org>
6464
6465 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6466 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6467 (grub_get_prefix): Remove function.
6468 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6469 make_system_path_relative_to_its_root ().
6470 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6471
6472 2010-04-24 Christian Franke <franke@computer.org>
6473
6474 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6475 (kernel_img_LDFLAGS): Remove -static-libgcc.
6476
6477 2010-04-24 Christian Franke <franke@computer.org>
6478
6479 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6480 and CHECK_END_SYMBOL if grub-emu is built.
6481 Unset TARGET_OBJ2ELF if grub-emu is built
6482 without module support.
6483
6484 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
6485
6486 Nilfs2 support.
6487
6488 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6489 (grub_fstest_SOURCES): Likewise.
6490 (pkglib_MODULES): Add nilfs2.mod.
6491 (nilfs2_mod_SOURCES): New variable.
6492 (nilfs2_mod_CFLAGS): Likewise.
6493 (nilfs2_mod_LDFLAGS): Likewise.
6494 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6495 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6496 * fs/nilfs2.c: New file.
6497
6498 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6501 is not supported.
6502
6503 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6504
6505 Add grub-mkconfig support for NetBSD.
6506
6507 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6508 * util/grub-mkconfig.in: export new NetBSD specific variables.
6509 * po/POTFILES-shell: added 10_netbsd.in.
6510 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6511
6512 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6513
6514 Fix emu build with grub-emu-pci and grub-emu-modules.
6515
6516 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6517 functions.
6518 * include/grub/libpciaccess.h: New file.
6519 * conf/any-emu.rmk: Update kernel headers for emu build.
6520
6521 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6524
6525 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6528
6529 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6532 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6533 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6534 util/ieee1275/ofpath.c.
6535 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6536 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6537 * include/grub/sparc64/ieee1275/boot.h
6538 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6539 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6540 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6541 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6542 const char *.
6543 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6544 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6545 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6546 install.
6547
6548 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6549
6550 * util/grub-mkconfig.in: Corrected two == equality tests.
6551 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6552 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6553 expect a number appended to it.
6554 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6555 expects a number appended to it.
6556
6557 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6560
6561 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * util/hostdisk.c (make_device_name): Change to new partition naming.
6564
6565 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6568
6569 2010-04-17 Christian Franke <franke@computer.org>
6570
6571 * Makefile.in: Add missing localedir setting.
6572
6573 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
6574
6575 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6576 mistake in r2156. Noticed by Anthony Fok.
6577
6578 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6579 @localedir@.
6580 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6581
6582 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6583
6584 Fix a spurious, uninitialized variable warning.
6585
6586 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6587 Initialize variable, shdr.
6588 (grub_freebsd_load_elfmodule): Likewise.
6589 (grub_freebsd_load_elf_meta): Likewise.
6590
6591 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6592
6593 Fix for escaped dollar in double quoted strings.
6594
6595 * script/yylex.l: Updated flex rules.
6596 * conf/tests.rmk: Rule for new testcase.
6597 * tests/grub_script_dollar.in: New testcase.
6598
6599 2010-04-13 Carles Pina i Estany <carles@pina.cat>
6600 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
6601
6602 Enclose all translated strings in grub.cfg in single quotes, and
6603 escape them appropriately (Ubuntu bug #552921).
6604
6605 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6606 * util/grub.d/10_hurd.in: Use it.
6607 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6608 * util/grub.d/10_linux.in (linux_entry): Likewise.
6609
6610 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Fix cygwin compilation.
6613
6614 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6615 * include/grub/misc.h (__register_frame_info)
6616 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6617 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6618 * kern/misc.c (__register_frame_info)
6619 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6620 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6621
6622 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6625
6626 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 Unify libgcc processing.
6629
6630 * Makefile.in (kernel_img_LDFLAGS): New variable.
6631 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6632 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6633 overwriting.
6634 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6635 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6636 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6637 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6638 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6639 overwriting. Remove -lgcc and -static-libgcc
6640 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6641 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6642 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6643 (kernel_img_LDFLAGS): Append instead of overwriting.
6644 Remove -lgcc and -static-libgcc
6645 * conf/sparc64-ieee1275.rmk: Likewise.
6646 * include/grub/powerpc/libgcc.h: Move to ...
6647 * include/grub/libgcc.h: .. this.
6648 * include/grub/libgcc.h: Don't export most of the function on x86.
6649 (__bswapsi2): New export.
6650 (__bswapdi2): Likewise.
6651 * include/grub/mips/libgcc.h: Removed.
6652 * include/grub/sparc64/libgcc.h: Likewise.
6653
6654 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6657 disk_info_msg (conflicts with gettexting into languages with cases).
6658
6659 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6660
6661 Add grub-probe support for NetBSD.
6662
6663 * util/getroot.c (find_root_device): Convert block device to
6664 character device on NetBSD.
6665 * util/probe.c (probe): Require character device on NetBSD.
6666 * util/hostdisk.c: NetBSD specific headers.
6667 (configure_device_driver): new function to tune device driver
6668 parameters (currently only for NetBSD floppy driver).
6669 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6670 via disklabel ioctl).
6671 (open_device): call configure_device_driver on NetBSD.
6672 (convert_system_partition_to_system_disk): NetBSD specific code.
6673 (device_is_wholedisk): Likewise.
6674 (grub_util_biosdisk_get_grub_dev): Likewise.
6675 (make_device_name): Fixed a typo in bsd_part_str.
6676 * configure.ac: check for opendisk() and getrawpartition() on
6677 NetBSD and set LIBUTIL.
6678 * Makefile.in: add LIBUTIL to LIBS.
6679
6680 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6681
6682 Documentation fix.
6683
6684 * util/grub-script-check.c: Better help message.
6685
6686 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6687
6688 Fix FreeBSD build.
6689
6690 * configure.ac: Flex version check.
6691 * conf/common.rmk: Add -Wno-error to sh.mod.
6692 * script/yylex.l: Remove all #pragma.
6693
6694 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6697 prototype.
6698 Reported by: Seth Goldberg.
6699
6700 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6703 Rename "module" to "module2".
6704 Reported by: Seth Goldberg.
6705
6706 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6709 EXPORT_FUNC.
6710 Reported by: Seth Goldberg.
6711
6712 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * lib/posix_wrap/locale.h: Add missing file.
6715 Reported by: Seth Goldberg.
6716
6717 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 grub-emu module load support.
6720
6721 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6722 NO_DYNAMIC_MODULES switched to this.
6723 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6724 (CFLAGS): Likewise.
6725 * conf/any-emu.rmk: Generate symlist.
6726 (kernel_img_HEADERS): Add util/datetime.h.
6727 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6728 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6729 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6730 kern/$(target_cpu)/cache.S.
6731 * configure.ac (grub-emu-modules): New option.
6732 * genmk.rb: Handle multiple source lists.
6733 * include/grub/sdl.h: New file.
6734 * include/grub/libusb.h: Likewise.
6735 * util/grub-emu.c (main): Hanle (host) root.
6736 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6737 GRUB_ERR_UNKNOWN_DEVICE.
6738 * util/misc.c: Move mm functions to ...
6739 * util/mm.c: ... here. All users updated.
6740
6741 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6744 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6745 missing files.
6746 (maintainer-clean): Remove libgcrypt-grub.
6747
6748 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6751
6752 2010-04-09 EFI Coder <eficoder@hotmail.com>
6753
6754 * normal/menu_text.c (print_message): Clean up the message and show
6755 the Fn information when on EFI
6756 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6757
6758 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6761 All users updated.
6762 * normal/crypto.c (read_crypto_list): Likewise.
6763 * normal/dyncmd.c (read_command_list): Likewise.
6764 * normal/term.c (read_terminal_list): Likewise.
6765 * normal/main.c (read_lists): Use explicit prefix.
6766 (read_lists_hook): Use read_lists.
6767 (grub_normal_execute): Likewise.
6768
6769 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6772 Reported by: Thomas Schmitt.
6773 Add -no-emul-boot to grub-mkisofs parameters.
6774
6775 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * font/font.c: Indented.
6778
6779 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6780
6781 Elif support to GRUB script (by Deepak Vankadaru).
6782
6783 * tests/grub_script_if.in: New testcase.
6784 * conf/tests.rmk: Rule for new testcase.
6785 * script/parser.y: Grammar rules for elif.
6786
6787 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6788
6789 While and until loops support to GRUB script.
6790
6791 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
6792 (grub_script_create_cmdwhile): New function prototype.
6793 (grub_script_execute_cmdwhile): New function prototype.
6794 * script/execute.c (grub_script_execute_cmdwhile): New function.
6795 * script/parser.y (command): New commands.
6796 (whilecmd): New grammar rule.
6797 (untilcmd): New grammar rule.
6798 * script/script.c (grub_script_create_cmdwhile): New function.
6799 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
6800 function.
6801
6802 * tests/grub_script_while1.in: New testcase.
6803 * conf/tests.rmk: Rule for new testcase.
6804
6805 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
6808 as *.jpg.
6809
6810 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
6811
6812 GRUB_BACKGROUND support.
6813
6814 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
6815 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
6816
6817 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Load fonts and modules for gfxmenu in grub-mkconfig.
6820 Idea by: Mario Vazquez
6821
6822 * util/grub.d/00_header.in: Load pf2 and image modules.
6823
6824 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 grub-mkconfig multiple terminal support.
6827
6828 * util/grub-mkconfig.in: Handle multiple terminals correctly.
6829 * util/grub.d/00_header.in: Likewise.
6830
6831 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * Makefile.in: Specify files explicitly instead of using $< and $@ since
6834 we use cd $(srcdir).
6835
6836 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
6837
6838 * util/grub.d/10_linux.in: Only use the first word of
6839 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
6840 spaces in GRUB_DISTRIBUTOR.
6841 * util/grub.d/10_kfreebsd.in: Likewise.
6842 * util/grub.d/10_hurd.in: Likewise.
6843
6844 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
6845
6846 Fix unit testing framework for Qemu 0.12.
6847
6848 * tests/util/grub-shell.in: Remove -serial stdio option.
6849
6850 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 POSIX header file wrappers.
6853
6854 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
6855 equivalents.
6856 * lib/posix_wrap/ctype.h: Likewise.
6857 * lib/posix_wrap/errno.h: Likewise.
6858 * lib/posix_wrap/langinfo.h: Likewise.
6859 * lib/posix_wrap/limits.h: Likewise.
6860 * lib/posix_wrap/localcharset.h: Likewise.
6861 * lib/posix_wrap/stdint.h: Likewise.
6862 * lib/posix_wrap/stdio.h: Likewise.
6863 * lib/posix_wrap/stdlib.h: Likewise.
6864 * lib/posix_wrap/string.h: Likewise.
6865 * lib/posix_wrap/sys/types.h: Likewise.
6866 * lib/posix_wrap/unistd.h: Likewise.
6867 * lib/posix_wrap/wchar.h: Likewise.
6868 * lib/posix_wrap/wctype.h: Likewise.
6869 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
6870 (grub_script.yy.h): Likewise.
6871 * script/yylex.l: Remove POSIX emulation #defines.
6872 * Makefile.in (POSIX_CFLAGS): New variable.
6873 (GNULIB_UTIL_CFLAGS): Likewise.
6874
6875 Regexp support.
6876
6877 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
6878 (regexp_mod_SOURCES): New variable.
6879 (regexp_mod_CFLAGS): Likewise.
6880 (regexp_mod_LDFLAGS): Likewise.
6881 * commands/regexp.c: New file.
6882 * gnulib/regcomp.c: New file. Imported from gnulib.
6883 * gnulib/regex.c: Likewise.
6884 * gnulib/regex_internal.c: Likewise.
6885 * gnulib/regex_internal.h: Likewise.
6886 * gnulib/regexec.c: Likewise.
6887 * gnulib/regex.h: Likewise.
6888
6889 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
6892 unsupported video mode types.
6893
6894 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
6897
6898 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
6901 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
6902
6903 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 Remove unused grub_vga_get_font.
6906
6907 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
6908 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
6909
6910 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6911
6912 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
6913 * include/grub/misc.h: Likewise.
6914
6915 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6916
6917 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
6918 for which failure is fatal.
6919
6920 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6921
6922 * util/grub-install.in: Use mkdir -p to create grub directory.
6923 * util/i386/efi/grub-install.in: Likewise.
6924 * util/ieee1275/grub-install.in: Likewise.
6925
6926 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6927
6928 * Makefile.in (LEX): new variable.
6929
6930 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6931
6932 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
6933 `=' and added double quotes on operands of this equality test.
6934
6935 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * Makefile.in (uninstall): Remove a leftover debug echo.
6938 Reported by: Grégoire Sutre
6939
6940 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 MIPS multiboot2 support.
6943
6944 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
6945 (multiboot2_mod_SOURCES): New variable.
6946 (multiboot2_mod_CFLAGS): Likewise.
6947 (multiboot2_mod_LDFLAGS): Likewise.
6948 (multiboot2_mod_ASFLAGS): Likewise.
6949 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
6950 definition.
6951 (MULTIBOOT_ENTRY_REGISTER): Likewise.
6952 (MULTIBOOT_MBI_REGISTER): Likewise.
6953 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
6954 (MULTIBOOT_ELF32_MACHINE): Likewise.
6955 (MULTIBOOT_ELF64_MACHINE): Likewise.
6956 * include/grub/mips/multiboot.h: New file.
6957 * include/grub/video.h (grub_video_driver_id): New type
6958 GRUB_VIDEO_DRIVER_SM712.
6959 (grub_video_get_info_and_fini): Export.
6960 (grub_video_get_palette): Likewise.
6961 (grub_video_get_driver_id): Likewise.
6962 * include/multiboot2.h: Resynced with spec.
6963 * loader/i386/multiboot.c: Moved from here ...
6964 * loader/multiboot.c: ... here. All users updated.
6965 (grub_multiboot_boot): Use platform-specific macros.
6966 * loader/i386/multiboot_elfxx.c: Moved from here ...
6967 * loader/multiboot_elfxx.c: ... here. All users updated.
6968 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
6969 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
6970 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
6971
6972 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 Import gnulib argp module.
6975
6976 * gnulib/argp-ba.c: New file.
6977 * gnulib/argp-eexst.c: Likewise.
6978 * gnulib/argp-fmtstream.c: Likewise.
6979 * gnulib/argp-fmtstream.h: Likewise.
6980 * gnulib/argp-fs-xinl.c: Likewise.
6981 * gnulib/argp-help.c: Likewise.
6982 * gnulib/argp-namefrob.h: Likewise.
6983 * gnulib/argp-parse.c: Likewise.
6984 * gnulib/argp-pin.c: Likewise.
6985 * gnulib/argp-pv.c: Likewise.
6986 * gnulib/argp-pvh.c: Likewise.
6987 * gnulib/argp-version-etc.c: Likewise.
6988 * gnulib/argp-version-etc.h: Likewise.
6989 * gnulib/argp-xinl.c: Likewise.
6990 * gnulib/argp.h: Likewise.
6991
6992 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * kern/device.c (grub_device_iterate): Clear errors after failed
6995 opening device.
6996
6997 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7000 returned by firmware.
7001
7002 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7005 compilation on coreboot and qemu
7006
7007 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 * include/multiboot2.h: Resync with spec.
7010
7011 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Multiboot2 tag support
7014
7015 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7016 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7017 Remove loader/multiboot_loader.c.
7018 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7019 (grub_multiboot2_real_boot): Likewise.
7020 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7021 (grub_get_multiboot_mmap_count): New proto.
7022 (grub_fill_multiboot_mmap): Likewise.
7023 (grub_multiboot_set_video_mode): Likewise.
7024 (grub_multiboot_set_console): Likewise.
7025 (grub_multiboot_load): Likewise.
7026 (grub_multiboot_load_elf): Likewise.
7027 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7028 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7029 * include/multiboot.h: Resynced with specification.
7030 * include/multiboot2.h: Resynced with specification.
7031 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7032 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7033 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7034 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7035 users updated.
7036 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7037 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7038 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7039 Removed.
7040 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7041 Moved from here...
7042 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7043 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7044 Moved from here...
7045 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7046 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7047 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7048 All users updated.
7049 * loader/i386/multiboot_mbi2.c: New file.
7050
7051 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 Resync with gnulib.
7054
7055 * Makefile.in (GNULIB_CFLAGS): New variable.
7056 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7057 (grub_script_check_CFLAGS): New variable.
7058 * gnulib/alloca.h: Resync with gnulib.
7059 * gnulib/error.c: Likewise.
7060 * gnulib/error.h: Likewise.
7061 * gnulib/fnmatch.c: Likewise.
7062 * gnulib/fnmatch_loop.c: Likewise.
7063 * gnulib/getdelim.c: Likewise.
7064 * gnulib/getline.c: Likewise.
7065 * gnulib/getopt.c: Likewise.
7066 * gnulib/getopt1.c: Likewise.
7067 * gnulib/getopt_int.h: Likewise.
7068 * gnulib/gettext.h: Likewise.
7069 * gnulib/progname.c: Likewise.
7070 * gnulib/progname.h: Likewise.
7071
7072 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7073
7074 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7075 which is the case with --disabled-nls.
7076
7077 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7078 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7079 * util/misc.c: Likewise.
7080 * util/mkisofs/mkisofs.c: Likewise.
7081 * util/mkisofs/mkisofs.h: Likewise.
7082
7083 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Simplify Apple CC support.
7086
7087 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7088 Add 0 byte at the end not to have a symbol with empty target.
7089 * mmap/i386/pc/mmap_helper.S: Likewise.
7090 * genmk.rb: Ignore errors 2030 and 2050.
7091 * kern/i386/pc/startup.S: Use LOCAL when possible.
7092
7093 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7094
7095 Testcase and the fix for final semicolon on cmdline.
7096
7097 * tests/grub_script_final_semicolon.in: New testcase.
7098 * conf/tests.rmk: Rules for the new testcase.
7099 * script/parser.y: Grammar fix.
7100
7101 2010-03-26 BVK Chaitanya <bvk@localhost>
7102
7103 Blank lines testcase for GRUB script.
7104
7105 * tests/grub_script_blanklines.in: New testcase.
7106 * conf/tests.rmk: Rules for the new testcase.
7107
7108 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 Don't use __FILE__.
7111
7112 * genmk.rb: Add -DGRUB_FILE to all C targets.
7113 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7114 * include/grub/list.h: Likewise.
7115 * include/grub/misc.h: Likewise.
7116 * include/grub/mm.h: Likewise.
7117 * include/grub/test.h: Likewise.
7118 * kern/mm.c: Likewise.
7119 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7120
7121 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 Sunpc partitions support.
7124
7125 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7126 (grub_fstest_SOURCES): Likewise.
7127 (pkglib_MODULES): Add part_sunpc.mod.
7128 (part_sunpc_mod_SOURCES): New variable.
7129 (part_sunpc_mod_CFLAGS): Likewise.
7130 (part_sunpc_mod_LDFLAGS): Likewise.
7131 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7132 * partmap/sunpc.c: New file.
7133
7134 2010-03-26 BVK Chaitanya <bvk@localhost>
7135
7136 For loop support to GRUB script.
7137
7138 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7139 (grub_script_create_cmdfor): New function prototype.
7140 (grub_script_execute_cmdfor): New function prototype.
7141 * script/execute.c (grub_script_execute_cmdfor): New function.
7142 * script/parser.y (command): New for command.
7143 (forcmd): New grammar rule.
7144 * script/script.c (grub_script_create_cmdfor): New function.
7145 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7146 function.
7147 * tests/grub_script_for1.in: New testcase.
7148 * conf/tests.rmk: Rules for new testcase.
7149
7150 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 Nested partitions
7153
7154 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7155 'partition' is NULL, grub_partition_get_start already does that.
7156 * commands/loadenv.c (check_blocklists): Likewise.
7157 (write_blocklists): Likewise.
7158 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7159 (grub_fstest_SOURCES): Likewise.
7160 (pkglib_MODULES): Add part_bsd.mod.
7161 (part_bsd_mod_SOURCES): New variable.
7162 (part_bsd_mod_CFLAGS): Likewise.
7163 (part_bsd_mod_LDFLAGS): Likewise.
7164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7165 (grub_emu_SOURCES): Likewise.
7166 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7167 * include/grub/bsdlabel.h: New file.
7168 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7169 'get_name'.
7170 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7171 (grub_partition_map_list): New variable.
7172 (grub_partition_map_register): Inline.
7173 (grub_partition_map_unregister): Likewise.
7174 (FOR_PARTITION_MAPS): New macro.
7175 (grub_partition_map_iterate): Removed.
7176 (grub_partition_get_start): Handle nested partitions.
7177 * include/grub/msdos_partition.h: Remove bsd-related entries.
7178 (grub_pc_partition): Remove.
7179 * kern/disk.c (grub_disk_close): Free partition data.
7180 (grub_disk_adjust_range): Handle nested partitions.
7181 * kern/partition.c (grub_partition_map_probe): New function.
7182 (grub_partition_probe): Parse name to number, handle subpartitions.
7183 (get_partmap): New function.
7184 (grub_partition_iterate): Handle subpartitions.
7185 (grub_partition_get_name): Likewise.
7186 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7187 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7188 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7189 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7190 Set 'number'.
7191 (acorn_partition_map_probe): Remove.
7192 (acorn_partition_map_get_name): Likewise.
7193 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7194 Set 'number'.
7195 Set 'index' to 0 since there can be only one partition entry per sector.
7196 (amiga_partition_map_probe): Remove.
7197 (amiga_partition_map_get_name): Likewise.
7198 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7199 Set 'number'.
7200 Set 'offset' and 'index' to real positions of partitions.
7201 (apple_partition_map_probe): Remove.
7202 (apple_partition_map_get_name): Likewise.
7203 * partmap/bsdlabel.c: New file.
7204 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7205 Set 'number'.
7206 Allocate 'data' so it can be correctly freed.
7207 Set 'index' to offset inside sector.
7208 (gpt_partition_map_probe): Remove.
7209 (gpt_partition_map_get_name): Likewise.
7210 * partmap/msdos.c (grub_partition_parse): Remove.
7211 (pc_partition_map_iterate): Don't force raw access.
7212 Set 'number'.
7213 Make 'ext_offset' a local variable.
7214 (pc_partition_map_probe): Remove.
7215 (pc_partition_map_get_name): Remove.
7216 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7217 Set 'number'.
7218 (sun_partition_map_probe): Remove.
7219 (sun_partition_map_get_name): Likewise.
7220 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7221 (grub_pcpart_type): Likewise.
7222 * util/hostdisk.c (open_device): Handle new numbering scheme.
7223 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7224 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7225 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7226 * util/grub-install.in: Insert all subpartition modules.
7227 * util/ieee1275/grub-install.in: Likewise.
7228
7229 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7230
7231 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7232 grammar.
7233
7234 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
7235
7236 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7237
7238 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
7239
7240 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7241 match where 'make install' puts them.
7242 * util/i386/efi/grub-install.in: Likewise.
7243
7244 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
7245
7246 * .bzrignore: Add gentrigtables, grub-script-check,
7247 grub_script_check_init.c, grub_script_check_init.h, and
7248 trigtables.c.
7249
7250 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * kern/parser.c: Indented.
7253
7254 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7257
7258 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7261 alpha_mask_size == 0 case.
7262
7263 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7264
7265 GRUB shell lexer and parser improvements.
7266
7267 * conf/any-emu.rmk: Build rule updates.
7268 * conf/common.rmk: Likewise.
7269 * conf/i386-coreboot.rmk: Likewise.
7270 * conf/i386-efi.rmk: Likewise.
7271 * conf/i386-ieee1275.rmk: Likewise.
7272 * conf/i386-pc.rmk: Likewise.
7273 * conf/powerpc-ieee1275.rmk: Likewise.
7274 * conf/x86_64-efi.rmk: Likewise.
7275
7276 * configure.ac: Configure check for flex.
7277
7278 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7279 types.
7280 (grub_lexer_param): Struct member updates.
7281 (grub_parser_param): Likewise.
7282 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7283 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7284 (grub_script_lexer_init): Prototype update.
7285 (grub_script_lexer_record_start): Likewise.
7286 (grub_script_lexer_record_stop): Likewise.
7287 (grub_script_lexer_yywrap): New function prototype.
7288 (grub_script_lexer_fini): Likewise.
7289 (grub_script_execute_argument_to_string): Removed by...
7290 (grub_script_execute_argument_to_argv): ...better version.
7291
7292 * script/execute.c (ROUND_UPTO): New macro.
7293 (grub_script_execute_cmdline): Out of memory fixes.
7294 (grub_script_execute_menuentry): Likewise.
7295 (grub_script_execute_argument_to_string): Removed. Update all
7296 users by...
7297 (grub_script_execute_argument_to_argv): ...better version.
7298 * script/function.c (grub_script_function_create): Use
7299 grub_script_execute_argument_to_argv instead of
7300 grub_script_execute_argument_to_string.
7301
7302 * script/lexer.c (check_varstate): Removed.
7303 (check_textstate): Removed.
7304 (grub_script_lexer_record_start): Likewise.
7305 (grub_script_lexer_record_stop): Likewise.
7306 (recordchar): Replaced with...
7307 (grub_script_lexer_record): ...new function.
7308 (nextchar): Removed.
7309 (grub_script_lexer_init): Rewritten.
7310 (grub_script_yylex): Rewritten.
7311 (append_newline): New function.
7312 (grub_script_lexer_yywrap): New function.
7313 (grub_script_lexer_fini): New function.
7314 (grub_script_yyerror): Sets error flag.
7315
7316 * script/yylex.l: New file.
7317 (grub_lexer_yyfree): Wrapper for flex yyffre.
7318 (grub_lexer_yyalloc): Likewise.
7319 (grub_lexer_yyrealloc): Likewise.
7320 * script/parser.y: Refactored.
7321
7322 * script/script.c (grub_script_arg_add): Out of memory fixes.
7323 (grub_script_add_arglist): Likewise.
7324 (grub_script_create_cmdline): Likewise.
7325 (grub_script_create_cmdmenu): Likewise.
7326 (grub_script_add_cmd): Likewise.
7327 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7328 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7329 unnecessary code.
7330
7331 * tests/grub_script_echo1.in: New testcase.
7332 * tests/grub_script_vars1.in: New testcase.
7333 * tests/grub_script_echo_keywords.in: New testcase.
7334
7335 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Remove some redundancy in build system.
7338
7339 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7340 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7341 (TARGET_LDFLAGS): Add -nostdlib.
7342 (TARGET_IMG_LDFLAGS): Likewise.
7343 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7344 anything since mmap isn't available.
7345 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7346 Add util/time.c.
7347 (pkglib_MODULES): Remove reboot.mod.
7348 (reboot_mod_SOURCES): Removed.
7349 (reboot_mod_CFLAGS): Likewise.
7350 (reboot_mod_LDFLAGS): Likewise.
7351 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7352 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7353 (DEFSYMFILES): Add kernel_syms.lst.
7354 (kernel_img_HEADERS): Add common headers.
7355 (symlist.c): New target.
7356 (kernel_syms.lst): Likewise.
7357 (pkglib_MODULES): Add memdisk.mod.
7358 (memdisk_mod_SOURCES): New variable.
7359 (memdisk_mod_CFLAGS): Likewise.
7360 (memdisk_mod_LDFLAGS): Likewise.
7361 (pkglib_MODULES): Add reboot.mod.
7362 (reboot_mod_SOURCES): New variable.
7363 (reboot_mod_CFLAGS): Likewise.
7364 (reboot_mod_LDFLAGS): Likewise.
7365 (pkglib_MODULES): Add date.mod.
7366 (date_mod_SOURCES): New variable.
7367 (date_mod_CFLAGS): Likewise.
7368 (date_mod_LDFLAGS): Likewise.
7369 (pkglib_MODULES): Add datehook.mod.
7370 (datehook_mod_SOURCES): New variable.
7371 (datehook_mod_CFLAGS): Likewise.
7372 (datehook_mod_LDFLAGS): Likewise.
7373 (pkglib_MODULES): Add lsmmap.mod.
7374 (lsmmap_mod_SOURCES): New variable.
7375 (lsmmap_mod_CFLAGS): Likewise.
7376 (lsmmap_mod_LDFLAGS): Likewise.
7377 (pkglib_MODULES): Add boot.mod.
7378 (boot_mod_SOURCES): New variable.
7379 (boot_mod_CFLAGS): Likewise.
7380 (boot_mod_LDFLAGS): Likewise.
7381 * conf/i386-coreboot.rmk: Removed redundant parts.
7382 * conf/i386-ieee1275.rmk: Likewise.
7383 * conf/i386-pc.rmk: Likewise.
7384 * conf/mips-yeeloong.rmk: Likewise.
7385 * conf/mips.rmk: Likewise.
7386 * conf/powerpc-ieee1275.rmk: Likewise.
7387 * conf/sparc64-ieee1275.rmk: Likewise.
7388 * conf/x86_64-efi.rmk: Likewise.
7389 * conf/i386-coreboot.rmk: Moved qemu parts ..
7390 * conf/i386-qemu.rmk: ... here
7391 * conf/i386-efi.rmk: Moved common parts to...
7392 * conf/x86-efi.rmk: ... here.
7393 * conf/i386.rmk: Added modules common to all x86 variants.
7394 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7395 * disk/memdisk.c: Remove grub/machine/kernel.h.
7396 * gensymlist.sh.in: Include symbol.h.
7397 * hook/datehook.c: Correct module name.
7398 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7399 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7400 * include/grub/i386/efi/serial.h: New file.
7401 * include/grub/x86_64/efi/serial.h: Likewise.
7402 * util/time.c: Likewise.
7403 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7404
7405 2010-03-14 Colin King <colin.king@ubuntu.com>
7406 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
7407
7408 Shrink the pre-partition-table part of boot.img by eight bytes.
7409
7410 * boot/i386/pc/boot.S (ERR): New macro.
7411 (chs_mode): Use ERR.
7412 (geometry_error): Likewise.
7413 (hd_probe_error): Remove. This is only used once, so we wrwite
7414 it inline instead.
7415 (read_error): Instead of printing read_error_string, just set up
7416 %si and fall through to ...
7417 (error_message): ... this new function, also used by ERR.
7418
7419 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
7420
7421 Speed up consecutive hostdisk operations on the same device.
7422
7423 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7424 (grub_util_biosdisk_open): Initialise disk->data.
7425 (struct linux_partition_cache): New structure.
7426 (linux_find_partition): Cache partition start positions; these are
7427 expensive to compute on every read and write.
7428 (open_device): Cache open file descriptor in disk->data, so that we
7429 don't have to reopen it and flush the buffer cache for consecutive
7430 operations on the same device.
7431 (grub_util_biosdisk_close): New function.
7432 (grub_util_biosdisk_dev): Set `close' member.
7433
7434 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7435 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7436 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7437 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7438 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7439
7440 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 Compile parts of grub-emu as modules.
7443
7444 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7445 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7446 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7447 (all-local): Add $(GRUB_EMU).
7448 (install-local): Install $(GRUB_EMU).
7449 (uninstall): Uninstall $(GRUB_EMU).
7450 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7451 * kern/dl.c: Likewise.
7452 * commands/sleep.c: Not include machine/time.h.
7453 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7454 (COMMON_CFLAGS): Likewise.
7455 (sbin_UTILITIES): Remove grub-emu.
7456 (grub_emu_SOURCES): Removed.
7457 (kernel_img_RELOCATABLE): New variable.
7458 (pkglib_PROGRAMS): Add kernel.img.
7459 (kernel_img_SOURCES): New variable
7460 (kernel_img_CFLAGS): Likewise.
7461 (kernel_img_LDFLAGS): Likewise.
7462 (TARGET_NO_STRIP): Likewise.
7463 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7464 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7465 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7466 (grub-emu): New target.
7467 (GRUB_EMU): New variable.
7468 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7469 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7470 * loader/xnu.c: Likewise.
7471 * include/grub/pci.h: Likewise.
7472 * genemuinit.sh: New file.
7473 * genemuinitheader.sh: Likewise.
7474 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7475 Support TARGET_NO_DYNAMIC_MODULES.
7476 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7477 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7478 * disk/loopback.c: Likewise.
7479 * font/font_cmd.c: Likewise.
7480 * partmap/acorn.c: Likewise.
7481 * partmap/amiga.c: Likewise.
7482 * partmap/apple.c: Likewise.
7483 * partmap/gpt.c: Likewise.
7484 * partmap/msdos.c: Likewise.
7485 * partmap/sun.c: Likewise.
7486 * parttool/msdospart.c: Likewise.
7487 * term/gfxterm.c: Likewise.
7488 * video/bitmap.c: Likewise.
7489 * video/readers/jpeg.c: Likewise.
7490 * video/readers/png.c: Likewise.
7491 * video/readers/tga.c: Likewise.
7492 * video/video.c: Likewise.
7493 * util/grub-emu.c (read_command_list): Removed.
7494 (main): Don't call util_init_nls.
7495 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7496 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7497
7498 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7501 date.mod, datehook.mod.
7502 (datetime_mod_SOURCES): New variable.
7503 (datetime_mod_CFLAGS): Likewise.
7504 (datetime_mod_LDFLAGS): Likewise.
7505 (date_mod_SOURCES): Likewise.
7506 (date_mod_CFLAGS): Likewise.
7507 (date_mod_LDFLAGS): Likewise.
7508 (datehook_mod_SOURCES): Likewise.
7509 (datehook_mod_CFLAGS): Likewise.
7510 (datehook_mod_LDFLAGS): Likewise.
7511 * conf/sparc64-ieee1275.rmk: Likewise.
7512 * lib/ieee1275/datetime.c: New file.
7513
7514 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7517 (ieee1275_fb_mod_SOURCES): New variable.
7518 (ieee1275_fb_mod_CFLAGS): Likewise.
7519 (ieee1275_fb_mod_LDFLAGS): Likewise.
7520 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7521 New proto.
7522 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7523 (HEAP_MAX_ADDR): Likewise.
7524 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7525 type.
7526 Correct stop condition.
7527 (grub_ieee1275_devices_iterate): New function.
7528 * video/ieee1275.c: New file.
7529
7530 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7533
7534 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7535 as scratch.
7536 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7537 SCRATCH_PAD_DISKBOOT as scratch.
7538 (bootit): Pass Openfirmware pointer in %o4.
7539 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7540 of 0x200000.
7541 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7542 with util/grub-mkrawimage.c.
7543 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7544 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7545 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7546 (grub_aout_load) [GRUB_UTIL]: Likewise.
7547 * include/grub/kernel.h (grub_modules_get_end): New proto.
7548 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7549 (SCRATCH_PAD_BOOT): New definition.
7550 (SCRATCH_PAD_DISKBOOT): Likewise.
7551 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7552 * include/grub/sparc64/ieee1275/ieee1275.h
7553 (grub_ieee1275_original_stack): New variable
7554 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7555 New definition
7556 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7557 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7558 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7559 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7560 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7561 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7562 (grub_platform_image_format_t): New type.
7563 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7564 * kern/main.c (grub_modules_get_end)
7565 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7566 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7567 (codestart): Switch stacks.
7568 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7569 variable.
7570 (grub_heap_init): Use grub_modules_get_end.
7571 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7572 stack.
7573 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7574 (main): Likewise.
7575 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7576
7577 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
7578
7579 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7580
7581 2010-03-08 Matt Kraai <kraai@ftbfs.org>
7582
7583 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7584 bug #559005).
7585
7586 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * genmoddep.awk: Output all missing symbols and not only first.
7589
7590 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * NEWS: Put the date of 1.98 release.
7593
7594 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7597 ft2build.h.
7598
7599 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7600
7601 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7602 completition in the middle of string.
7603
7604 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * util/grub-mkrescue.in: Use mktemp with explicit template.
7607
7608 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7611
7612 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7615 right pointer.
7616
7617 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 Fix FreeBSD compilation.
7620
7621 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7622 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7623
7624 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7627
7628 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7631
7632 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7635
7636 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7637
7638 Support relative image path in theme file.
7639
7640 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7641 (image_set_property): Handle theme_dir and relative path.
7642
7643 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * configure.ac: Alias amd64 to x86_64.
7646
7647 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * NEWS: mention multiboot on EFI.
7650
7651 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * kern/main.c (grub_load_modules): Handle errors from init functions of
7654 embeded modules.
7655
7656 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * normal/autofs.c (autoload_fs_module): Handle errors.
7659
7660 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 Disable linux.mod on qemu-mips since it's not functional and leads
7663 to compilation failure.
7664
7665 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7666 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7667 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7668 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7669 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7670 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7671 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7672 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7673 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7674 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7675 Reported by: BVK Chaitanya
7676
7677 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7678
7679 * INSTALL: Add gettext as a dependency and add qemu to a new section
7680 "Prerequisites for make-check".
7681
7682 2010-03-04 Christian Franke <franke@computer.org>
7683
7684 * util/grub-pe2elf.c: Add missing include "progname.h".
7685
7686 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * normal/crypto.c (read_crypto_list): Fix a typo.
7689 Reported by: Seth Goldberg.
7690
7691 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
7694 Reported by: Seth Goldberg.
7695
7696 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7699 ascii.bitmaps.
7700
7701 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * genmk.rb: Remove terminal*.lst in make clean.
7704 Reported by: Seth Goldberg.
7705
7706 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * util/i386/efi/grub-install.in: Copy gettext files.
7709
7710 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7713
7714 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 Wait for user entry basing on presence of output rather than on errors.
7717
7718 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7719 (grub_install_newline_hook): Likewise.
7720 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7721 * normal/menu.c (show_menu): Check line_counter to determine presence
7722 of output.
7723 * normal/term.c (grub_normal_line_counter): New variable.
7724 (grub_normal_get_line_counter): New function.
7725 (grub_install_newline_hook): Likewise.
7726
7727 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7730
7731 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * configure.ac: Update version to 1.98.
7734
7735 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * util/grub.d/10_linux.in (linux_entry): Don't default to
7738 gfxpayload=keep if Linux doesn't support video handover.
7739
7740 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 Don't compile video modules on yeeloong since video subsystem is part
7743 of kernel.
7744
7745 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7746 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7747 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7748 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7749 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7750 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7751 * include/grub/bitmap_scale.h: Likewise.
7752 * include/grub/bufio.h: Likewise.
7753 * include/grub/font.h: Likewise.
7754 * include/grub/gfxterm.h: Likewise.
7755 * include/grub/video.h: Likewise.
7756 * include/grub/vbe.h: Don't include video_fb.h.
7757 * video/i386/pc/vbe.c: Include video_fb.h.
7758 * commands/i386/pc/vbetest.c: Include video.h.
7759
7760 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7761
7762 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7763 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7764 default entry if GRUB_SAVEDEFAULT=true. This allows using
7765 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7766 saving a new default on every boot.
7767
7768 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7771 * normal/term.c (read_terminal_list): Likewise.
7772 * normal/main.c (grub_normal_init_page): Likewise.
7773 (grub_normal_read_line_real): Likewise.
7774
7775 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7778 memory leak.
7779 Reported by: Seth Goldberg.
7780
7781 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7782
7783 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7784 duplicate declaration of `start'.
7785
7786 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
7789 filename.
7790 Reported by: Georgy Buranov
7791
7792 2010-02-20 Carles Pina i Estany <carles@pina.cat>
7793
7794 * util/grub-mkrawimage.c (usage): Change string formatting to
7795 improve gettext.
7796
7797 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7798
7799 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
7800 backspace keys.
7801
7802 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
7805 Reported by: Michael Suchanek.
7806
7807 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
7808
7809 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
7810 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
7811
7812 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Remove any reference to non-free fonts.
7815
7816 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
7817 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
7818 uses non-free components.
7819 * font/font.c (grub_font_get_name): Remove example name.
7820 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
7821 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7822 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
7823 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
7824
7825 2010-02-16 Georgy Buranov <gburanov@gmail.com>
7826
7827 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
7828
7829 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
7832 Double divisor.
7833 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
7834 features.
7835 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
7836
7837 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * gensymlist.sh.in: Use TARGET_CC instead of CC.
7840
7841 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7842
7843 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
7844 * docs/grub.texi (Command-line and menu entry commands): Document play
7845 command.
7846
7847 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7848
7849 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
7850 parse arguments as inline tempo and notes. Move code for playing notes
7851 to...
7852 (play): ... new function.
7853
7854 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7855
7856 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
7857 grub_uint16_t instead of short.
7858 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
7859 disk from little endian to cpu endianness.
7860
7861 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
7862
7863 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
7864 GRUB_TICKS_PER_SECOND instead of 120.
7865
7866 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
7869 escape sequence after \e.
7870
7871 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
7874 non-ASCII characters.
7875
7876 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
7879 set root in single quotes to prevent \, from being unescaped.
7880
7881 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 Prevent unknown commands from stopping menuentry execution.
7884
7885 * script/execute.c (grub_script_execute_cmdline): Print error after
7886 unknown command.
7887
7888 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
7891 Reported by: Pavel Pisa.
7892
7893 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
7896
7897 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 Merge grub_ieee1275_map_physical into grub_map and rename to
7900 grub_ieee1275_map
7901
7902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
7903 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
7904 Remove.
7905 * kern/ieee1275/openfw.c (grub_map): Rename to ...
7906 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
7907 necessary.
7908 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
7909
7910 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
7913 opening and not after.
7914
7915 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
7918 constants.
7919
7920 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
7923 (alloc_phys): Use ALIGN_UP instead of align_addr.
7924
7925 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
7928
7929 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
7932
7933 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
7936 verbose dprintf.
7937
7938 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 Fix over-4GiB seek on sparc64.
7941
7942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
7943 Replace pos_i and pos_lo with pos. All users updated.
7944 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7945 New constant.
7946 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7947 Likewise.
7948 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
7949 and pos_lo.
7950
7951 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * util/grub-mkrawimage.c (main): Call set_program_name.
7954
7955 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 Properly align 64-bit targets.
7958
7959 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
7960 (generate_image): Use ALIGN_ADDR.
7961
7962 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 Properly create cross-endian images.
7965
7966 * include/grub/types.h (grub_host_to_target_addr): New macro
7967 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
7968
7969 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
7972
7973 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
7976
7977 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
7978 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
7979 (grub_linux_boot): Divide by 64K when on VESA.
7980
7981 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 Support GRUB_GFXPAYLOAD_LINUX.
7984
7985 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
7986 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
7987
7988 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
7991 to show messages instead of discarding them.
7992 Process errors after executing command and not before. Keep old method
7993 too as precaution.
7994
7995 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * configure.ac: Check for ft2build.h.
7998
7999 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8002
8003 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * genkernsyms.sh.in: Use TARGET_CC.
8006
8007 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
8008
8009 * NEWS: Update.
8010
8011 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * include/grub/multiboot2.h: Remove leftover file.
8014 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8015 * include/grub/partition.h [GRUB_UTIL]: Likewise.
8016
8017 2010-02-07 Yves Blusseau <blusseau@zetam.org>
8018
8019 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
8020
8021 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 Fix warnings in grub-emu when compiling with maximum warning options.
8024
8025 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8026 (grub_arch_modules_addr): Return 0 and not NULL.
8027 * util/misc.c (ENABLE_RELOCATABLE): New definition.
8028 (xstrdup): Use newstr instead of dup.
8029 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8030 of disk to dsk to avoid shadowing.
8031 (find_free_slot): Fix prototype.
8032 * util/getroot.c (grub_util_is_dmraid): Make static.
8033 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8034 Add missing prototype.
8035 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
8036
8037 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8040 appropriately.
8041
8042 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8045 code out.
8046
8047 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8050 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8051 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8052 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8053 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8054 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8055
8056 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * include/grub/err.h (grub_err_printf): Don't export.
8059
8060 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8063
8064 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8067 * kern/misc.c (grub_gettext_dummy): Make static.
8068
8069 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8072 by non-valid ones.
8073 * kern/term.c (grub_putchar): Likewise.
8074
8075 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8078 buggy hook call and memory leak.
8079
8080 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8083
8084 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8087
8088 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8091 modevar.
8092 Return grub_errno on allocation error.
8093
8094 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8097
8098 2010-02-06 Yves Blusseau <blusseau@zetam.org>
8099
8100 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8101 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8102
8103 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8106 non-pxe disk.
8107 (grub_pxefs_open): Likewise.
8108
8109 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8110
8111 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8112 * util/grub.d/10_kfreebsd.in: Likewise.
8113 * util/grub.d/10_linux.in: Likewise.
8114
8115 2010-02-06 Colin D Bennett <colin@gibibit.com>
8116
8117 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8118 (gfxmenu_mod_SOURCES): New variable.
8119 (gfxmenu_mod_CFLAGS): Likewise.
8120 (gfxmenu_mod_LDFLAGS): Likewise.
8121 * include/grub/term.h (grub_term_set_current_output): Declare
8122 argument as const.
8123 * docs/gfxmenu-theme-example.txt: New file.
8124 * gfxmenu/gfxmenu.c: Likewise.
8125 * gfxmenu/gui_box.c: Likewise.
8126 * gfxmenu/gui_canvas.c: Likewise.
8127 * gfxmenu/gui_circular_progress.c: Likewise.
8128 * gfxmenu/gui_image.c: Likewise.
8129 * gfxmenu/gui_label.c: Likewise.
8130 * gfxmenu/gui_list.c: Likewise.
8131 * gfxmenu/gui_progress_bar.c: Likewise.
8132 * gfxmenu/gui_string_util.c: Likewise.
8133 * gfxmenu/gui_util.c: Likewise.
8134 * gfxmenu/icon_manager.c: Likewise.
8135 * gfxmenu/model.c: Likewise.
8136 * gfxmenu/named_colors.c: Likewise.
8137 * gfxmenu/theme_loader.c: Likewise.
8138 * gfxmenu/view.c: Likewise.
8139 * gfxmenu/widget-box.c: Likewise.
8140 * include/grub/gfxmenu_model.h: Likewise.
8141 * include/grub/gfxmenu_view.h: Likewise.
8142 * include/grub/gfxwidgets.h: Likewise.
8143 * include/grub/gui.h: Likewise.
8144 * include/grub/gui_string_util.h: Likewise.
8145 * include/grub/icon_manager.h: Likewise.
8146
8147 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 Agglomerate scrolling in gfxterm.
8150
8151 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8152 (grub_virtual_screen_setup): Initialise 'total_screen'.
8153 (write_char): Split to ...
8154 (paint_char): ... this ...
8155 (write_char): ... and this.
8156 (paint_char): Handle delayed scrolling.
8157 (draw_cursor): Likewise.
8158 (scroll_up): Split to ...
8159 (real_scroll): ... this ...
8160 (scroll_up): ... and this.
8161 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8162 characters.
8163 (grub_gfxterm_refresh): Call real_scroll.
8164
8165 2010-02-06 Colin D Bennett <colin@gibibit.com>
8166
8167 * include/grub/misc.h (grub_iscntrl): New inline function.
8168 (grub_isalnum): Likewise.
8169 (grub_strtol): Likewise.
8170
8171 2010-02-06 Colin D Bennett <colin@gibibit.com>
8172
8173 * normal/menu_text.c (get_entry_number): Move from here ...
8174 * normal/menu.c (get_entry_number): ... moved here.
8175 * include/grub/menu.h (grub_menu_get_default_entry_index):
8176 New prototype.
8177 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8178 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8179 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8180 (grub_menu_viewer_should_return): Likewise.
8181 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8182 * normal/menu_text.c (run_menu): Enable menu switching.
8183 * normal/menu_viewer.c (should_return): New variable.
8184 (menu_viewer_changed): Likewise.
8185 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8186 (grub_menu_viewer_should_return): New function.
8187 (menuviewer_write_hook): Likewise.
8188 (grub_menu_viewer_init): Likewise.
8189
8190 2010-02-06 Colin D Bennet <colin@gibibit.com>
8191 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Support for gfxterm in a window.
8194
8195 * include/grub/gfxterm.h: New file.
8196 * include/grub/video.h (struct grub_video_rect): New declaration.
8197 (grub_video_rect_t): Likewise.
8198 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8199 (refcount): New variable.
8200 (render_target): Likewise.
8201 (window): Likewise.
8202 (repaint_callback): Likewise.
8203 (grub_virtual_screen_setup): Use 'render_target'.
8204 (init_window): New function.
8205 (grub_gfxterm_init_window): Likewise.
8206 (grub_gfxterm_init): Check reference counter.
8207 Use init_window.
8208 (destroy_window): New function.
8209 (grub_gfxterm_destroy_window): Likewise.
8210 (grub_gfxterm_fini): Check reference counter.
8211 Use destroy_window.
8212 (redraw_screen_rect): Restore viewport.
8213 Use 'render_target' and 'window'.
8214 Call 'repaint_callback'.
8215 (write_char): Use 'render_target'.
8216 (draw_cursor): Likewise.
8217 (scroll_up): Restore viewport.
8218 Use 'render_target' and 'window'.
8219 Call 'repaint_callback'.
8220 (grub_gfxterm_cls): Likewise.
8221 (grub_gfxterm_refresh): Use 'window'.
8222 (grub_gfxterm_set_repaint_callback): New function.
8223 (grub_gfxterm_background_image_cmd): Use 'window'.
8224 (grub_gfxterm_get_term): New function.
8225 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8226
8227 2010-02-06 Colin D Bennett <colin@gibibit.com>
8228
8229 Bitmap scaling support.
8230
8231 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8232 (bitmap_scale_mod_SOURCES): New variable.
8233 (bitmap_scale_mod_CFLAGS): Likewise.
8234 (bitmap_scale_mod_LDFLAGS): Likewise.
8235 * include/grub/bitmap_scale.h: New file.
8236 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8237 (background_image_cmd_options): New variable.
8238 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8239 (cmd): Rename and change type to ...
8240 (background_image_cmd_handle): ... this. All users updated.
8241 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8242 * video/bitmap_scale.c: New file.
8243
8244 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 SDL support.
8247
8248 * Makefile.in (LIBSDL): New variable.
8249 (enable_grub_emu_sdl): Likewise.
8250 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8251 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8252 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8253 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8254 * util/sdl.c: New file.
8255
8256 2010-02-06 Colin D Bennett <colin@gibibit.com>
8257 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 Double buffering support.
8260
8261 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8262 * include/grub/video.h: Update comment.
8263 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8264 New type.
8265 (grub_video_fb_doublebuf_blit_init): New prototype.
8266 * term/gfxterm.c (scroll_up): Support double buffering.
8267 (grub_gfxterm_refresh): Likewise.
8268 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8269 (grub_video_fb_doublebuf_blit_init): Likewise.
8270 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8271 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8272 'displayed_page', 'render_page' and 'update_screen'.
8273 (grub_video_vbe_fini): Free offscreen buffer.
8274 (doublebuf_pageflipping_commit): New function.
8275 (doublebuf_pageflipping_update_screen): Likewise.
8276 (doublebuf_pageflipping_init): Likewise.
8277 (double_buffering_init): Likewise.
8278 (grub_video_vbe_setup): Enable doublebuffering.
8279 (grub_video_vbe_swap_buffers): Implement.
8280 (grub_video_vbe_set_active_render_target): Handle double buffering.
8281 (grub_video_vbe_get_active_render_target): Likewise.
8282 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8283 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8284 (grub_video_vbe_enable_double_buffering): Likewise.
8285 (grub_video_vbe_swap_buffers): Use update_screen.
8286 (grub_video_set_mode): Use double buffering.
8287
8288 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8289
8290 * maintainance/gentrigtables.py: Remove.
8291 * lib/trig.c: Likewise.
8292
8293 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8294
8295 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8296 `trigtables.c'.
8297 (trigtables.c): New rule.
8298 (gentrigtables): Likewise.
8299 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8300
8301 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8302
8303 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8304 integer constants.
8305
8306 2010-02-06 Colin D Bennet <colin@gibibit.com>
8307
8308 Trigonometry support.
8309
8310 * include/grub/trig.h: New file.
8311 * lib/trig.c: Likewise.
8312 * maintainance/gentrigtables.py: Likewise.
8313 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8314 (trig_mod_SOURCES): New variable.
8315 (trig_mod_CFLAGS): Likewise.
8316 (trig_mod_LDFLAGS): Likewise.
8317
8318 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8321 disk devices.
8322
8323 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8326 error.
8327
8328 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * util/hostdisk.c (open_device): Don't use partition device when reading
8331 before the partition.
8332 (grub_util_biosdisk_read): Don't read from partition and before the
8333 partition in single operation.
8334 (grub_util_biosdisk_write): Don't write to partition and before the
8335 partition in single operation.
8336
8337 2010-02-03 Torsten Landschoff <torsten@debian.org>
8338
8339 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8340 last sectors.
8341
8342 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8345 CDROM reads.
8346 (grub_biosdisk_write): Refuse to write to CDROM.
8347
8348 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8351
8352 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * font/font.c (find_glyph): Check that bmp_idx is available before
8355 using it.
8356 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8357 with (font == NULL).
8358
8359 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
8360
8361 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8362
8363 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8364
8365 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8366 * util/grub-script-check.c (getline): Fix empty lines case.
8367
8368 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8369
8370 * Makefile.in (check): Exit with fail status when one of the tests
8371 fails.
8372 * tests/example_functional_test.c (example_test): Fix reversed assert.
8373 * tests/example_unit_test.c (example_test): Likewise.
8374
8375 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
8376
8377 * util/grub.d/10_linux.in: This script does not use any of the
8378 contents of gettext.sh, only the external command `gettext', so stop
8379 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8380 the same prefix as GRUB.)
8381 * util/grub.d/10_kfreebsd.in: Likewise.
8382
8383 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8386 of the line.
8387
8388 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8391 last sectors.
8392
8393 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8396 having a 4KiB and not 32KiB buffer size.
8397
8398 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8399
8400 * util/hostfs.c: Include `<errno.h>'.
8401 (grub_hostfs_read): Handle errors from fseeko() and fread().
8402
8403 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8404
8405 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8406 loop when using read hooks on files whose size isn't sector-aligned.
8407
8408 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8409
8410 Remove unused parameter.
8411
8412 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8413 (grub_iso9660_open): Remove initialization of `data->length'.
8414
8415 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8416
8417 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8418 memleak conditions.
8419
8420 2010-01-27 Carles Pina i Estany <carles@pina.cat>
8421
8422 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8423 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8424
8425 2010-01-26 Carles Pina i Estany <carles@pina.cat>
8426
8427 * util/bin2h.c (usage): Fix warning (space after backslash).
8428
8429 2010-01-26 Carles Pina i Estany <carles@pina.cat>
8430
8431 * font/font.c: Include `grub/fontformat.h.
8432 Remove font file format constants.
8433 (grub_font_load): Use the new macros.
8434 * include/grub/fontformat.h: New file.
8435 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8436 (write_font_pf2): Use the new macros.
8437
8438 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8439
8440 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8441 does.
8442
8443 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8444
8445 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8446
8447 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8448 (_start): Macroify `0x7F'.
8449
8450 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8451 (make_install_device): Use "(pxe)" as fallback prefix when booting
8452 via PXE.
8453
8454 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * configure.ac: Reset LIBS after check for libgcc symbols.
8457
8458 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
8459
8460 * util/hostdisk.c (open_device): Add trailing newline to debug
8461 message.
8462
8463 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8464
8465 * configure.ac: Check for `limits.h'.
8466 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8467
8468 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8469
8470 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8471 capitalize error strings.
8472
8473 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8474
8475 * util/grub.d/10_hurd.in: Add a recovery mode.
8476
8477 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * configure.ac: Check for libgcc symbols with -nostdlib.
8480
8481 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8482
8483 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8484
8485 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8488 stack since heap may be unavailable at that point.
8489 (grub_ofconsole_gotoxy): Likewise.
8490
8491 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * configure.ac: Check for _restgpr_14_x.
8494 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8495 and _savegpr_* prototypes.
8496
8497 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8498
8499 Use generic grub_reboot() for i386-efi.
8500
8501 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8502 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8503 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8504
8505 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8508 presence of "prefix" variable as it breaks when normal.mod is
8509 embedded.
8510
8511 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8514 stack since heap is unavailable at that point.
8515
8516 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8519 (grub_freebsd_bootinfo): Rewritten.
8520 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8521
8522 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8525
8526 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8527
8528 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8529 domain now.
8530
8531 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
8532
8533 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8534 around for handling "/" to the correct fix. Fix a memory leak. Use
8535 xstrdup instead of strdup.
8536
8537 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8540
8541 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8544
8545 * font/font.c (struct grub_font): New member 'bmp_idx'.
8546 (font_init): Initialise 'bmp_idx'.
8547 (load_font_index): Fill 'bmp_idx'.
8548 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8549
8550 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8553 unnecessary calls.
8554
8555 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 Move context handling out of the kernel.
8558
8559 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8560 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8561 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8562 * conf/i386-efi.rmk: Likewise.
8563 * conf/i386-ieee1275.rmk: Likewise.
8564 * conf/i386-pc.rmk: Likewise.
8565 * conf/powerpc-ieee1275.rmk: Likewise.
8566 * conf/sparc64-ieee1275.rmk: Likewise.
8567 * conf/x86_64-efi.rmk: Likewise.
8568 * include/grub/env.h: Include grub/menu.h.
8569 (grub_env_var_type): Removed.
8570 (grub_env_var): Replaced field 'type' with 'global'.
8571 (grub_env_find): New prototype.
8572 (grub_env_context_open): Remove EXPORT_FUNC.
8573 (grub_env_context_close): Likewise.
8574 (grub_env_export): Likewise.
8575 (grub_env_set_data_slot): Removed.
8576 (grub_env_get_data_slot): Likewise.
8577 (grub_env_unset_data_slot): Likewise.
8578 (grub_env_unset_menu): New prototype.
8579 (grub_env_set_menu): Likewise.
8580 (grub_env_get_menu): Likewise.
8581 * include/grub/env_private.h: New file.
8582 * include/grub/normal.h (grub_context_init): New prototype.
8583 (grub_context_fini): Likewise.
8584 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8585 * normal/context.c (grub_cmd_export): ... to here.
8586 * kern/env.c: Include env_private.h.
8587 (HASHSZ): Moved to include/grub/env_private.h.
8588 (grub_env_context): Likewise.
8589 (grub_env_sorted_var): Likewise.
8590 (current_context): Renamed from this ...
8591 (grub_current_context): ...to this. 'static' removed. All users updated.
8592 (grub_env_find): Removed 'static'.
8593 (grub_env_context_open): Moved to normal/context.c.
8594 (grub_env_context_close): Likewise.
8595 (grub_env_export): Likewise.
8596 (mangle_data_slot_name): Removed.
8597 (grub_env_set_data_slot): Likewise.
8598 (grub_env_get_data_slot): Likewise.
8599 (grub_env_unset_data_slot): Likewise.
8600 * kern/main.c (grub_set_root_dev): Don't export root.
8601 It will be done later.
8602 (grub_main): Don't export prefix.
8603 It will be done later.
8604 * normal/context.c: New file.
8605 * normal/main.c (free_menu): Use grub_env_unset_menu.
8606 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8607 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8608 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8609 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8610
8611 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 setpci support.
8614
8615 * commands/setpci.c: New file.
8616 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8617 (setpci_mod_SOURCES): New variable.
8618 (setpci_mod_CFLAGS): Likewise.
8619 (setpci_mod_LDFLAGS): Likewise.
8620
8621 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 Byte-addressable PCI configuration space.
8624
8625 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8626 dword address.
8627 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8628 GRUB_PCI_REG_CACHELINE.
8629 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8630 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8631 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8632 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8633 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8634 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8635 grub_pci_make_address.
8636 (lock_rom_area): Likewise.
8637 * commands/lspci.c (grub_lspci_iter): Use macroses
8638 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8639 of grub_pci_make_address.
8640 * disk/ata.c (grub_ata_pciinit): Likewise.
8641 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8642 (GRUB_PCI_REG_VENDOR): Likewise.
8643 (GRUB_PCI_REG_DEVICE): Likewise.
8644 (GRUB_PCI_REG_COMMAND): Likewise.
8645 (GRUB_PCI_REG_STATUS): Likewise.
8646 (GRUB_PCI_REG_REVISION): Likewise.
8647 (GRUB_PCI_REG_CLASS): Likewise.
8648 (GRUB_PCI_REG_CACHELINE): Likewise.
8649 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8650 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8651 (GRUB_PCI_REG_BIST): Likewise.
8652 (GRUB_PCI_REG_ADDRESSES): Likewise.
8653 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8654 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8655 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8656 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8657 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8658 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8659 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8660 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8661 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8662 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8663 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8664 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8665 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8666 (GRUB_PCI_REG_MIN_GNT): Likewise.
8667 (GRUB_PCI_REG_MAX_LAT): Likewise.
8668 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8669 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8670 * video/efi_uga.c (find_framebuf): Likewise.
8671 * video/sm712.c (grub_video_sm712_setup): Likewise.
8672 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8673 space.
8674
8675 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8676
8677 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8678 can be reliably determined to be supported.
8679
8680 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8681
8682 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8683 that VESA is supported.
8684 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8685 supported.
8686
8687 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8690
8691 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8692
8693 * util/misc.c (make_system_path_relative_to_its_root): Work around
8694 special-casing of "/", as previous incarnation of this routine did.
8695
8696 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 Fix any-emu compilation.
8699
8700 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8701 * grub_bin2h_SOURCES: New variable.
8702
8703 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8704
8705 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8706
8707 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8708
8709 * util/grub.d/00_header.in: Fix handling of locale_dir.
8710
8711 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8714 as possible unifont location (Gentoo).
8715 Reported by: Alexander Brüning
8716
8717 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Don't try to generate lists for kernel.img.
8720
8721 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8722 (pkglib_MODULES): Remove kernel.img.
8723 (kernel_img_EXPORTS): Removed.
8724 (kernel_img_RELOCATABLE): New variable.
8725 * conf/x86_64-efi.rmk: Likewise.
8726 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8727
8728 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8731 grub_xasprintf or grub_snprintf.
8732 (grub_vsprintf): Likewise.
8733 (grub_snprintf): New proto.
8734 (grub_vsnprintf): Likewise.
8735 (grub_xasprintf): Likewise.
8736 (grub_xvasprintf): Likewise.
8737 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8738 (grub_sprintf): Removed.
8739 (grub_vsnprintf): New function.
8740 (grub_snprintf): Likewise.
8741 (grub_xvasprintf): Likewise.
8742 (grub_xasprintf): Likewise.
8743 (grub_vsprintf): Renamed to ...
8744 (grub_vsnprintf_real): ...this. New argument max_len.
8745
8746 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8747
8748 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8749 fix grub-script-check warning.
8750
8751 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * include/grub/font.h (grub_font_load): Fix prototype.
8754
8755 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8758
8759 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * include/grub/x86_64/at_keyboard.h: New file.
8762
8763 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * loader/mips/linux.c: Include missing grub/i18n.h.
8766
8767 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8768
8769 * normal/menu.c (notify_execution_failure): Clarify error message.
8770
8771 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8772
8773 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8774 return value (and revert all return statements). Update users.
8775
8776 2010-01-20 Dan Merillat <debian@dan.merillat.org>
8777
8778 * kern/device.c (grub_device_iterate): Allocate new part_ent
8779 structure based on sizeof (*p) rather than sizeof (p->next), to
8780 account for structure padding.
8781
8782 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8783 disk is NULL, which might happen for LVM physical volumes with no
8784 LVM signature.
8785
8786 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8787
8788 * loader/mips/linux.c (grub_cmd_initrd)
8789 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
8790
8791 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8792
8793 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
8794 (grub_video_video_init, grub_video_bitmap_init)
8795 (grub_font_manager_init, grub_term_gfxterm_init)
8796 (grub_at_keyboard_init): New extern declarations.
8797 (grub_machine_init): Initialize gfxterm and at_keyboard.
8798
8799 * kern/main.c (grub_main): Revert grub_printf delay kludge.
8800
8801 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
8802 `gfxterm.mod' into core image.
8803
8804 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8805 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8806 (kernel_img_FORMAT): Copy to ...
8807
8808 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8809 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8810 (kernel_img_FORMAT): ... here, and ...
8811
8812 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8813 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8814 (kernel_img_FORMAT): ... here.
8815
8816 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
8817 and input (at_keyboard) terminals in kernel.
8818 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
8819
8820 (pkglib_MODULES): Remove `pci.mod'.
8821 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
8822 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
8823 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8824 (at_keyboard_mod_LDFLAGS): Remove variables.
8825
8826 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
8827
8828 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
8829
8830 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
8831
8832 * include/grub/mips/libgcc.h: Only export symbols for functions
8833 that libgcc provides.
8834
8835 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 MIPS support.
8838
8839 * bus/bonito.c: New file.
8840 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
8841 GRUB_PCI_NUM_DEVICES.
8842 * term/i386/pc/serial.c: Move to ...
8843 * term/serial.c: ... here. All users updated.
8844 * util/i386/pc/grub-mkimage.c: Move to ...
8845 * util/grub-mkrawimage.c: ... here. All users updated.
8846 * term/i386/pc/at_keyboard.c: Move to ...
8847 * term/at_keyboard.c: ... here. All users updated.
8848 * conf/mips-qemu-mips.rmk: New file.
8849 * conf/mips-yeeloong.rmk: Likewise.
8850 * conf/mips.rmk: Likewise.
8851 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
8852 mipsel-qemu-mips.
8853 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
8854 to port addresses.
8855 (grub_ata_pciinit): Support CS5536.
8856 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
8857 * font/font_cmd.c (loadfont_command): Open file before passing it to
8858 grub_font_load.
8859 (pseudo_file_read): New function.
8860 (pseudo_file_close): Likewise.
8861 (pseudo_fs): New structure.
8862 (load_font_module): New function.
8863 (GRUB_MOD_INIT(font_manager)): Load embedded font.
8864 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
8865 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
8866 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
8867 * include/grub/i386/at_keyboard.h: Split into ...
8868 * include/grub/at_keyboard.h: ... this ...
8869 * include/grub/i386/at_keyboard.h: ... and this.
8870 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
8871 New prototype.
8872 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
8873 updated.
8874 (grub_elf64_size): Likewise.
8875 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
8876 filename.
8877 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
8878 * include/grub/i386/coreboot/serial.h: Rewritten.
8879 * include/grub/i386/ieee1275/serial.h: Include
8880 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
8881 * include/grub/i386/pc/serial.h: Moved from here ...
8882 * include/grub/serial.h: ... to here. All users updated.
8883 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
8884 (GRUB_PCI_NUM_BUS): Likewise.
8885 (GRUB_PCI_NUM_DEVICES): Likewise.
8886 (grub_pci_device_map_range): Add missing volatile keyword.
8887 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
8888 * include/grub/mips/at_keyboard.h: New file.
8889 * include/grub/mips/cache.h: Likewise.
8890 * include/grub/mips/io.h: Likewise.
8891 * include/grub/mips/kernel.h: Likewise.
8892 * include/grub/mips/libgcc.h: Likewise.
8893 * include/grub/mips/pci.h: Likewise.
8894 * include/grub/mips/qemu-mips/boot.h: Likewise.
8895 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8896 * include/grub/mips/qemu-mips/loader.h: Likewise.
8897 * include/grub/mips/qemu-mips/memory.h: Likewise.
8898 * include/grub/mips/qemu-mips/serial.h: Likewise.
8899 * include/grub/mips/qemu-mips/time.h: Likewise.
8900 * include/grub/mips/relocator.h: Likewise.
8901 * include/grub/mips/time.h: Likewise.
8902 * include/grub/mips/types.h: Likewise.
8903 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
8904 * include/grub/mips/yeeloong/boot.h: Likewise.
8905 * include/grub/mips/yeeloong/kernel.h: Likewise.
8906 * include/grub/mips/yeeloong/loader.h: Likewise.
8907 * include/grub/mips/yeeloong/memory.h: Likewise.
8908 * include/grub/mips/yeeloong/pci.h: Likewise.
8909 * include/grub/mips/yeeloong/serial.h: Likewise.
8910 * include/grub/mips/yeeloong/time.h: Likewise.
8911 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
8912 * kern/elf.c (grub_elf32_size): New parameter. All users
8913 updated.
8914 (grub_elf64_size): Likewise.
8915 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
8916 Load modules before saying "Welcome to GRUB!".
8917 Call grub_refresh after saying "Welcome to GRUB!".
8918 * kern/mips/cache.S: New file.
8919 * kern/mips/cache_flush.S: Likewise.
8920 * kern/mips/dl.c: Likewise.
8921 * kern/mips/init.c: Likewise.
8922 * kern/mips/qemu-mips/init.c: Likewise.
8923 * kern/mips/startup.S: Likewise.
8924 * kern/mips/yeeloong/init.c: Likewise.
8925 * kern/term.c (grub_putcode): Handle NULL terminal.
8926 (grub_getcharwidth): Likewise.
8927 (grub_getkey): Likewise.
8928 (grub_checkkey): Likewise.
8929 (grub_getkeystatus): Likewise.
8930 (grub_getxy): Likewise.
8931 (grub_getwh): Likewise.
8932 (grub_gotoxy): Likewise.
8933 (grub_cls): Likewise.
8934 (grub_setcolorstate): Likewise.
8935 (grub_setcolor): Likewise.
8936 (grub_getcolor): Likewise.
8937 (grub_refresh): Likewise.
8938 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
8939 (write_jump): Add hatch nop.
8940 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
8941 * lib/mips/setjmp.S: New file.
8942 * loader/mips/linux.c: Likewise.
8943 * term/i386/pc/at_keyboard.c: Move from here ...
8944 * term/at_keyboard.c: ... to here.
8945 * term/i386/pc/serial.c: Moved from here ...
8946 * term/serial.c: ... to here. All users updated.
8947 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
8948 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
8949 (serial_translate_key_sequence): Avoid deadlock.
8950 (grub_serial_getkey): Handle backspace.
8951 (grub_serial_putchar): Fix newline handling.
8952 * util/i386/pc/grub-mkimage.c: Move from here ...
8953 * util/grub-mkrawimage.c: ... to here. All users updated.
8954 (generate_image): New parameters 'font_path' and 'format'.
8955 Support embedding font.
8956 Use grub_host_to_target* instead of grub_cpu_to_le*.
8957 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
8958 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
8959 (options): New option "--font".
8960 (usage): Likewise.
8961 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
8962 (main): Handle "--font".
8963 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
8964 (grub_virtual_screen_setup): Set bg_color_display.
8965 (redraw_screen_rect): Use bg_color_display instead of incorrect
8966 bg_color.
8967 (grub_gfxterm_cls): Likewise.
8968 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
8969 Support embedding config file.
8970 (add_segments): Likewise.
8971 (options): New option "--config".
8972 (main): Handle "--config".
8973 * video/sm712.c: New file.
8974
8975 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8976
8977 Fix parallel builds.
8978
8979 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
8980 font.c depend on ascii.h).
8981
8982 2010-01-12 Carles Pina i Estany <carles@pina.cat>
8983
8984 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
8985
8986 2010-01-11 Carles Pina i Estany <carles@pina.cat>
8987
8988 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
8989 By default: disabled.
8990 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
8991 parameter.
8992
8993 2010-01-10 Carles Pina i Estany <carles@pina.cat>
8994
8995 * font/font.c: Update copyright years.
8996 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
8997
8998 2010-01-10 Carles Pina i Estany <carles@pina.cat>
8999
9000 * font/font.c: Include `ascii.h'.
9001 (ASCII_BITMAP_SIZE): New macro.
9002 (ascii_font_glyph): Define.
9003 (ascii_glyph_lookup): New function.
9004 (grub_font_get_string_width): Change comment. If glyph not found, use
9005 ascii_glyph_lookup.
9006 (grub_font_get_glyph_with_fallback): If glyph not available returns
9007 ascii_glyph_lookup.
9008 * util/grub-mkfont.c (file_formats): New enum.
9009 (options): Add `ascii-bitmaps' new option.
9010 (usage): Add `asii-bitmaps' new option.
9011 (write_font_ascii_bitmap): New function.
9012 (write_font): Rename to ...
9013 (write_font_p2): ... this. Remove print_glyphs call.
9014 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9015 used. Call print_glyphs.
9016 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9017
9018 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9019
9020 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9021 (grub_bin2h_SOURCES): New variable.
9022 * util/bin2h.c: New file.
9023
9024 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * include/multiboot.h: Resynced with spec.
9027 * include/multiboot2.h: Likewise.
9028 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9029 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9030
9031 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9032
9033 * include/grub/term.h (grub_term_register_input,
9034 grub_term_register_output): Check return of terminal init()
9035 routines, and abort if errors are raised.
9036
9037 * commands/terminal.c: Update copyright year.
9038
9039 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9040
9041 * commands/terminal.c (grub_cmd_terminal_input)
9042 (grub_cmd_terminal_output): Check return of terminal init()
9043 routines, and abort if errors are raised.
9044
9045 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * include/grub/i386/bsd.h: Fix include pathes.
9048
9049 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Add missing *BSD copyright headers.
9052
9053 * include/grub/aout.h: Add BSD licence.
9054 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9055 * include/grub/i386/freebsd_linker.h: ... here,
9056 * include/grub/i386/freebsd_reboot.h: ... here,
9057 * include/grub/i386/netbsd_bootinfo.h: ... here,
9058 * include/grub/i386/netbsd_reboot.h: ... here,
9059 * include/grub/i386/openbsd_bootarg.h: ... here,
9060 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9061 licence to each file.
9062
9063 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9064
9065 * acinclude.m4: Remove `nop' assembly instruction; it's not
9066 implemented by all architectures.
9067
9068 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9069
9070 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9071 ELILO. This is no longer necessary.
9072
9073 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9074
9075 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9076
9077 * util/grub-script-check.c: grub-script-check tool.
9078 * conf/common.rmk: Make rules for grub-script-check.
9079
9080 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9081
9082 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9083 spotting it back in 2008. Shame on me for forgetting he did.
9084
9085 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9086
9087 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9088
9089 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9090 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9091 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9092 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9093 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9094 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9095
9096 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9097
9098 * include/grub/test.h: Add license header.
9099 * tests/example_functional_test.c: Likewise.
9100 * tests/example_unit_test.c: Likewise.
9101 * tests/lib/functional_test.c: Likewise.
9102 * tests/lib/test.c: Likewise.
9103 * tests/lib/unit_test.c: Likewise.
9104
9105 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 Use flag-based instead of hook-based video mode selection and "auto"
9108 keyword.
9109
9110 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9111 (grub_video_set_mode): Changed prototype. All users updated.
9112 (grub_video_check_mode_flag): New inline function.
9113 * video/video.c (parse_modespec): New function.
9114 (grub_video_set_mode): Parse flags and keywords.
9115
9116 2010-01-17 Carles Pina i Estany <carles@pina.cat>
9117
9118 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9119 fprintf call.
9120
9121 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9122
9123 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9124
9125 2010-01-16 Carles Pina i Estany <carles@pina.cat>
9126
9127 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9128 string.
9129 * util/grub-emu.c (usage): Likewise.
9130 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9131 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9132 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9133 * util/i386/pc/grub-setup.c (usage): Likewise.
9134
9135 2010-01-16 Carles Pina i Estany <carles@pina.cat>
9136
9137 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9138 the message.
9139 (grub_util_info): Likewise.
9140 (grub_util_error): Likewise.
9141 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9142 and/or new lines in `grub_util_warna', `grub_util_info',
9143 `grub_util_error' calls.
9144 * util/getroot.c: Likewise.
9145 * util/grub-editenv.c: Likewise.
9146 * util/grub-emu.c: Likewise.
9147 * util/grub-fstest.c: Likewise.
9148 * util/grub-mkdevicemap.c: Likewise.
9149 * util/grub-mkfont.c: Likewise.
9150 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9151 * util/grub-mkrelpath.c: Likewise.
9152 * util/grub-pe2elf.c: Likewise.
9153 * util/grub-probe.c: Likewise.
9154 * util/hostdisk.c: Likewise.
9155 * util/i386/efi/grub-mkimage.c: Likewise.
9156 * util/i386/pc/grub-mkimage.c: Likewise.
9157 * util/i386/pc/grub-setup.c: Likewise.
9158 * util/ieee1275/ofpath.c: Likewise.
9159 * util/mkisofs/eltorito.c: Likewise.
9160 * util/mkisofs/rock.c: Likewise.
9161 * util/mkisofs/write.c: Likewise.
9162 * util/raid.c: Likewise.
9163 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9164 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9165
9166 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 Enable multiboot on non-pc.
9169
9170 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9171 multiboot.mod and multiboot2.mod to ...
9172 * conf/i386.rmk (pkglib_MODULES): ... here.
9173 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9174 Moved to ...
9175 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9176 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9177 Moved to ...
9178 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9179 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9180 Moved to ...
9181 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9182 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9183 Moved to ...
9184 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9185 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9186 relocator.mod.
9187 (ata_mod_SOURCES): Removed.
9188 (ata_mod_CFLAGS): Likewise.
9189 (ata_mod_LDFLAGS): Likewise.
9190 (relocator_mod_SOURCES): Removed.
9191 (relocator_mod_CFLAGS): Likewise.
9192 (relocator_mod_ASFLAGS): Likewise.
9193 (relocator_mod_LDFLAGS): Likewise.
9194 Include i386.mk.
9195 * include/grub/x86_64/multiboot.h: New file.
9196 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9197 Terminate EFI.
9198
9199 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 Video multiboot support.
9202
9203 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9204 New prototype.
9205 * include/multiboot.h: Resynced with multiboot specification.
9206 * include/multiboot2.h: Likewise.
9207 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9208 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9209 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9210 (HAS_VGA_TEXT): Likewise.
9211 (accepts_video): New variable.
9212 (grub_multiboot_set_accepts_video): New function.
9213 (grub_multiboot_get_mbi_size): Account for video structures.
9214 (set_video_mode): New function.
9215 (retrieve_video_parameters): Likewise.
9216 (grub_multiboot_make_mbi): Fill video fields.
9217
9218 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 Video driver ids.
9221
9222 * include/grub/video.h (grub_video_driver_id): New type.
9223 (grub_video_adapter): New member 'id'. All users updated.
9224 (grub_video_get_driver_id): New proto.
9225 * video/video.c (grub_video_get_driver_id): New function.
9226
9227 2010-01-14 Carles Pina i Estany <carles@pina.cat>
9228
9229 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9230 `var=val'.
9231
9232 2010-01-14 Carles Pina i Estany <carles@pina.cat>
9233
9234 * normal/cmdline.c (print_completion): Gettextizze.
9235
9236 2001-01-14 Carles Pina i Estany <carles@pina.cat>
9237
9238 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9239
9240 2010-01-14 Carles Pina i Estany <carles@pina.cat>
9241
9242 * gettext/gettext.c (grub_gettext_translate): Push and pop
9243 grub_errno.
9244 (grub_gettext_delete_list): Change comment style.
9245 * kern/err.c (grub_error): Gettextizze.
9246 (grub_fatal): Gettextizze.
9247
9248 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9249
9250 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9251 (grub_linux16_real_boot): ... this.
9252 * kern/i386/loader.S: Likewise.
9253 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9254 (grub_linux16_boot): New function. Switches to text mode and calls
9255 grub_linux16_real_boot().
9256
9257 * loader/i386/bsd.c: Include `<grub/video.h>'.
9258 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9259 text mode before calling grub_unix_real_boot().
9260
9261 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9262 (grub_multiboot_boot): Switch to text mode before calling
9263 grub_relocator32_boot().
9264
9265 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9266 (grub_chainloader_boot): Switch to text mode before calling
9267 grub_chainloader_real_boot().
9268
9269 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9270 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
9271
9272 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9273 non-empty value.
9274
9275 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9276 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
9277
9278 * util/grub.d/00_header.in: Define a "savedefault" function for use
9279 in menu entries.
9280 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9281
9282 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9283 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
9284
9285 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9286 saved_entry if boot_once is unset.
9287 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9288 previous saved entry (i.e. grub-reboot).
9289
9290 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
9291
9292 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9293
9294 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
9295
9296 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9297 `var=val'.
9298 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9299
9300 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
9301
9302 * util/grub-reboot.in: Fix --version output.
9303 * util/grub-set-default.in: Likewise.
9304
9305 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
9306
9307 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9308 blocks.
9309
9310 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
9311
9312 * util/grub.d/00_header.in: Quote the value assigned to `default',
9313 in case it contains spaces.
9314
9315 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
9316
9317 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9318 `save_default_entry' call from the macosx case to the linux case.
9319
9320 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9321 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
9322
9323 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9324 in `chosen' environment variable.
9325 * normal/menu_text.c (get_entry_number): Check if the variable
9326 matches the title of a menu entry.
9327 (run_menu): Pass menu to get_entry_number.
9328
9329 * util/grub-reboot.in: New file.
9330 * util/grub-set-default.in: New file.
9331 * conf/common.rmk (grub-reboot): New utility.
9332 (grub-set-default): New utility.
9333
9334 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9335 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9336 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9337 move it to `saved_entry' for the next boot. Load environment on
9338 initialisation.
9339 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9340 * util/grub.d/10_hurd.in: Likewise.
9341 * util/grub.d/10_linux.in (linux_entry): Likewise.
9342 * util/grub.d/10_windows.in: Likewise.
9343 * util/grub.d/30_os-prober.in: Likewise.
9344
9345 * util/grub-install.in: Create environment block.
9346 * util/i386/efi/grub-install.in: Likewise.
9347 * util/ieee1275/grub-install.in: Likewise.
9348 * util/sparc64/ieee1275/grub-install.in: Likewise.
9349
9350 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9351
9352 Unit testing framework for GRUB.
9353
9354 * Makefile.in: Test framework build rules for 'make check'.
9355 * conf/tests.rmk: Build rules for individual tests and framework.
9356
9357 * include/grub/test.h: Header file for whitebox tests.
9358 * tests/lib/functional_test.c: Framework support for whitebox
9359 functional tests.
9360 * tests/lib/test.c: Common whitebox testing code for unit and
9361 functional tests.
9362 * tests/lib/unit_test.c: Framework support for whitebox unit
9363 tests.
9364
9365 * tests/util/grub-shell-tester.in: Support utility for grub-script
9366 tests.
9367 * tests/util/grub-shell.in: Utility to execute grub-script
9368 commands in a Qemu instance.
9369
9370 * tests/example_functional_test.c: Example whitebox functional
9371 test.
9372 * tests/example_grub_script_test.in: Example grub-script test.
9373 * tests/example_scripted_test.in: Example scripted test.
9374 * tests/example_unit_test.c: Example whitebox unit test.
9375
9376 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9379 Add loader/i386/multiboot_mbi.c.
9380 (multiboot2_mod_SOURCES): Likewise.
9381 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9382 (multiboot2_mod_SOURCES): Likewise.
9383 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9384 (grub_multiboot_make_mbi): Likewise.
9385 (grub_multiboot_free_mbi): Likewise.
9386 (grub_multiboot_init_mbi): Likewise.
9387 (grub_multiboot_add_module): Likewise.
9388 (grub_multiboot_set_bootdev): Likewise.
9389 * loader/i386/multiboot.c (mbi): Removed.
9390 (mbi_dest): Likewise.
9391 (alloc_mbi): New variable.
9392 (grub_multiboot_payload_size): Removed. All users updated.
9393 (grub_multiboot_pure_size): New variable.
9394 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9395 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9396 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9397 (grub_fill_multiboot_mmap): Likewise.
9398 (grub_multiboot_get_bootdev): Likewise.
9399 (grub_multiboot): Use multiboot_mbi functions.
9400 * loader/i386/multiboot_mbi.c: New file.
9401
9402 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9405 it would result in module crash.
9406
9407 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9410 (grub_ofconsole_getwh): Split to ...
9411 (grub_ofconsole_getwh): ... this.
9412 (grub_ofconsole_dimensions): ...and this.
9413 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9414
9415 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9416
9417 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9418
9419 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * loader/i386/pc/multiboot2.c: Removed stalled file.
9422
9423 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9426 Reported by: Grégoire Sutre
9427
9428 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9429
9430 * util/misc.c (canonicalize_file_name): New function.
9431 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9432 instead of realpath().
9433
9434 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
9435
9436 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9437 and make it clearer that it's optional. Based on confusion
9438 witnessed on IRC.
9439
9440 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9443 in premature implicit newline.
9444
9445 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9448 which resulted in garbled command line at the end of screen.
9449
9450 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9451
9452 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9453 initialization with similar approach as with other Linux loaders.
9454
9455 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9456
9457 Fix i386-ieee1275 build.
9458
9459 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9460 and grub_term_height() for video_{width,height} initialization.
9461
9462 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9463
9464 Fix grub-emu build.
9465
9466 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9467
9468 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9469 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9470
9471 Support for multiple terminals.
9472
9473 * Makefile.in (pkglib_DATA): terminal.lst.
9474 (terminal.lst): New target.
9475 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9476 (GRUB_MOD_INIT(handler)): Likewise.
9477 (GRUB_MOD_FINI(handler)): Likewise.
9478 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9479 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9480 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9481 (grub_cmd_sleep): Use grub_term_save_pos.
9482 * commands/terminal.c: New file.
9483 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9484 commands/terminal.c and lib/charset.c.
9485 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9486 (pkglib_MODULES): Add terminal.mod.
9487 (terminal_mod_SOURCES): New variable.
9488 (terminal_mod_CFLAGS): Likewise.
9489 (terminal_mod_LDFLAGS): Likewise.
9490 * genhandlerlist.sh: Don't handle terminals.
9491 * genmk.rb: Generate terminal-*.lst.
9492 * genterminallist.sh: New file.
9493 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9494 (grub_is_valid_utf8): Likewise.
9495 (grub_utf8_to_ucs4_alloc): Likewise.
9496 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9497 (grub_menu_register_viewer): Changed argument.
9498 (grub_menu_try_text): New proto.
9499 (grub_gfxmenu_try_hook): New declaration.
9500 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9501 (grub_menu_init_page): Additional argument term.
9502 (grub_normal_init_page): Likewise.
9503 (grub_cmdline_get): Arguments simplified.
9504 (grub_utf8_to_ucs4_alloc): Removed.
9505 (grub_print_ucs4): Additional argument term.
9506 (grub_getstringwidth): Likewise.
9507 (grub_print_message_indented): Likewise.
9508 (grub_menu_text_register_instances): New proto.
9509 (grub_show_menu): Likewise.
9510 (read_terminal_list): Likewise.
9511 (grub_set_more): Likewise.
9512 * include/grub/parser.h: Include handler.h.
9513 * include/grub/reader.h: Rewritten.
9514 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9515 (GRUB_TERM_WIDTH): Changed to function.
9516 (GRUB_TERM_HEIGHT): Likewise.
9517 (GRUB_TERM_BORDER_WIDTH): Likewise.
9518 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9519 (GRUB_TERM_NUM_ENTRIES): Likewise.
9520 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9521 (GRUB_TERM_CURSOR_X): Likewise.
9522 (grub_term_input_class): Likewise.
9523 (grub_term_output_class): Likewise.
9524 (grub_term_outputs_disabled): New declaration.
9525 (grub_term_inputs_disabled): Likewise.
9526 (grub_term_outputs): Likewise.
9527 (grub_term_inputs): Likewise.
9528 (grub_term_register_input): Rewritten.
9529 (grub_term_register_output): Likewise.
9530 (grub_term_unregister_input): Likewise.
9531 (grub_term_unregister_output): Likewise.
9532 (FOR_ACTIVE_TERM_INPUTS): New macro.
9533 (FOR_DISABLED_TERM_INPUTS): Likewise.
9534 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9535 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9536 * include/grub/terminfo.h: Add oterm argument to all protypes.
9537 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9538 Use grub_rescue_run.
9539 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9540 All users updated.
9541 * kern/reader.c: Removed. All users updated.
9542 * kern/rescue_reader.c (grub_rescue_init): Removed.
9543 (grub_rescue_reader): Likewise.
9544 (grub_register_rescue_reader): Likewise.
9545 (grub_rescue_run): New function based on kern/reader.c.
9546 * kern/term.c: Adapted for multiterm.
9547 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9548 (grub_is_valid_utf8): Likewise.
9549 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9550 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9551 right terminal.
9552 * loader/i386/linux.c (grub_linux_boot): Likewise.
9553 * normal/auth.c (grub_username_get): New function.
9554 (grub_auth_check_authentication): Use grub_username_get.
9555 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9556 * normal/color.c: Adapt for multiterm.
9557 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9558 (grub_normal_init_page): Additional argument term.
9559 (read_lists): Call read_terminal_lists.
9560 (grub_enter_normal_mode): Call grub_cmdline_run.
9561 Handle grub_normal_exit_level.
9562 (grub_cmd_normal): Make reentrant.
9563 (grub_cmd_normal_exit): New function.
9564 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9565 * normal/menu.c: Adapt for multiterm.
9566 * normal/menu_entry.c: Likewise.
9567 * normal/menu_text.c: Likewise.
9568 * normal/menu_viewer.c: Removed. All users updated.
9569 * normal/term.c: New file.
9570 * util/console.c: Change order of includes to workaround a bug in
9571 ncurses headers.
9572 * term/terminfo.c: New argument oterm on all exported functions.
9573 All users updated.
9574 * util/grub-editenv.c (grub_term_input_class): Removed.
9575 (grub_term_output_class): Likewise.
9576
9577 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9578
9579 Make loader output a bit more user-friendly.
9580
9581 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9582 is being loaded. Likewise for the Hurd.
9583
9584 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9585 that kernel of FreeBSD ${version} is being loaded.
9586
9587 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9588 grub_dprintf().
9589 (grub_cmd_initrd): Likewise.
9590 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9591 that Linux ${version} is being loaded. Likewise for initrd.
9592
9593 2010-01-09 Carles Pina i Estany <carles@pina.cat>
9594
9595 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9596
9597 2010-01-08 Carles Pina i Estany <carles@pina.cat>
9598
9599 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9600 (GRUB_MOD_INIT): Gettextizze.
9601 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9602 (GRUB_MOD_INIT): Gettextizze.
9603 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9604 (grub_cmd_linux): Capitalise Linux.
9605 (GRUB_MOD_INIT): Gettextizze.
9606 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9607 (grub_cmd_linux): Capitalise Linux.
9608 (GRUB_MOD_INIT): Gettextizze.
9609 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9610 (grub_cmd_linux): Capitalise Linux.
9611 (GRUB_MOD_INIT): Gettextizze.
9612 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9613 (GRUB_MOD_INIT): Gettextizze.
9614 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9615 (grub_cmd_linux): Capitalise Linux.
9616 (GRUB_MOD_INIT): Gettextizze.
9617 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9618 (grub_cpu_xnu_init): Gettextizze.
9619 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9620 (GRUB_MOD_INIT): Gettextizze.
9621 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9622 (GRUB_MOD_INIT): Gettextizze.
9623 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9624 (grub_linux_load64): Capitalise Linux.
9625 (GRUB_MOD_INIT): Gettextizze.
9626 * loader/xnu.c: Include `<grub/i18n.h>'.
9627 (GRUB_MOD_INIT): Gettextizze.
9628 * po/POTFILES: Add `loader/efi/appleloader.c',
9629 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9630 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9631 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9632 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9633 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9634 and `loader/xnu.c'.
9635
9636 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9637
9638 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9639
9640 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9641
9642 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9643 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9644 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9645
9646 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9647
9648 Reset Multiboot 2 support. New loader implements the draft in
9649 /branches/multiboot2 and shares as much code as possible with the
9650 production Multiboot 1 implementation.
9651
9652 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9653 * loader/multiboot2.c: Likewise.
9654 * loader/i386/multiboot_helper.S: Likewise.
9655 * include/multiboot2.h: Replace with latest version from the draft
9656 in /branches/multiboot2.
9657
9658 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9659 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9660 and `loader/multiboot2.c'.
9661 (pkglib_MODULES): Add `multiboot2.mod'.
9662 (multiboot2_mod_SOURCES): New variable.
9663 (multiboot2_mod_LDFLAGS): Likewise.
9664 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9665
9666 * conf/i386-pc.rmk: Likewise.
9667
9668 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9669 (multiboot_mod_SOURCES): Remove variable.
9670 (multiboot_mod_LDFLAGS): Likewise.
9671 (multiboot_mod_CFLAGS): Likewise.
9672
9673 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9674 `<multiboot2.h>' instead of `<multiboot.h>'.
9675 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9676 (MULTIBOOT_HEADER_MAGIC): New macros.
9677
9678 * loader/multiboot_loader.c (module_version_status): Remove variable.
9679 (find_multi_boot2_header): Remove function.
9680 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9681 logic. Always check for the Multiboot version we're compiling for.
9682 (grub_cmd_module_loader): Likewise.
9683 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9684 command instead of `multiboot'.
9685
9686 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9687
9688 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9689 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9690 all users.
9691
9692 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9693 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 Fix breakage introduced with previous commit.
9696
9697 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9698 commands.
9699 * normal/handler.c (read_handler_list): Revert part of previous commit
9700 affecting this file.
9701 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9702 (grub_normal_execute): ... here.
9703
9704 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9705
9706 Merge prefix-redefinition-fix branch.
9707
9708 * normal/autofs.c (read_fs_list): Make function capable of being
9709 run multiple times, gracefuly replacing the previous data
9710 structures.
9711 * normal/dyncmd.c (read_command_list): Likewise.
9712 * normal/handler.c (read_handler_list): Likewise.
9713 * normal/main.c (read_lists): New function. Calls all the
9714 list reading functions.
9715 (grub_normal_execute): Use read_lists() instead of calling all
9716 list reading functions explicitly. Register read_lists() as a
9717 variable hook attached to ${prefix}.
9718
9719 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 Merge crypto branch.
9722
9723 * Makefile.in (pkglib_DATA): Add crypto.lst.
9724 (crypto.lst): New target.
9725 * commands/hashsum.c: New file.
9726 * commands/password.c (check_password): Use grub_crypto_memcmp.
9727 * commands/password_pbkdf2.c: New file.
9728 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9729 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9730 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9731 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9732 -I$(srcdir)/lib/libgcrypt_wrap.
9733 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9734 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9735 password_pbkdf2.mod.
9736 (crypto_mod_SOURCES): New variable.
9737 (crypto_mod_CFLAGS): Likewise.
9738 (crypto_mod_LDFLAGS): Likewise.
9739 (hashsum_mod_SOURCES): New variable.
9740 (hashsum_mod_CFLAGS): Likewise.
9741 (hashsum_mod_LDFLAGS): Likewise.
9742 (pbkdf2_mod_SOURCES): New variable.
9743 (pbkdf2_mod_CFLAGS): Likewise.
9744 (pbkdf2_mod_LDFLAGS): Likewise.
9745 (password_pbkdf2_mod_SOURCES): New variable.
9746 (password_pbkdf2_mod_CFLAGS): Likewise.
9747 (password_pbkdf2_mod_LDFLAGS): Likewise.
9748 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9749 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9750 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9751 Include conf/gcry.rmk.
9752 * include/grub/auth.h: Rewritten.
9753 * include/grub/crypto.h: New file.
9754 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9755 * include/grub/normal.h (read_crypto_list): New prototype.
9756 * lib/crypto.c: New file.
9757 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9758 * lib/pbkdf2.c: Likewise.
9759 * normal/auth.c (grub_auth_strcmp): Removed.
9760 (grub_iswordseparator): Likewise.
9761 (grub_auth_strword): Likewise.
9762 (is_authenticated): Use grub_strword.
9763 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9764 and grub_strword. Pass entered password to authentication callback.
9765 * normal/crypto.c: New file.
9766 * normal/main.c: Call read_crypto_list.
9767 * util/grub-mkpasswd-pbkdf2.c: New file.
9768 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9769
9770 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 Fix descent and ascent calculation.
9773
9774 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9775 (options): New option "asce".
9776 (usage): Likewise.
9777 (add_char): Ignore invalid glyphs for descent calculation.
9778 Calculate ascent from actual content.
9779 (print_glyphs): Use 'asce'.
9780 (write_font): Likewise. Allow ascent override.
9781 (main): Handle "asce" option.
9782
9783 2010-01-06 Carles Pina i Estany <carles@pina.cat>
9784
9785 * kern/err.c: Include `<grub/i18n.h>'.
9786 (grub_print_error): Add full stop. Gettextizze.
9787 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
9788 (grub_bsd_load_elf): Capitalise ELF.
9789 (grub_cmd_freebsd_loadenv): Add `s' in error string.
9790 (grub_cmd_freebsd_module): Likewise.
9791 (grub_cmd_freebsd_module_elf): Likewise.
9792 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
9793
9794 2010-01-06 Carles Pina i Estany <carles@pina.cat>
9795
9796 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
9797 * commands/search_file.c (HELP_MESSAGE): New macro.
9798 * commands/search_label.c (HELP_MESSAGE): Likewise.
9799 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
9800 * po/POTFILES: Add `commands/search_file.c',
9801 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
9802 `commands/search.c'.
9803
9804 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9805
9806 * config.rpath: Update from Gnulib.
9807
9808 2010-01-05 Yves Blusseau <blusseau@zetam.org>
9809
9810 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
9811
9812 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
9813
9814 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
9815
9816 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
9817
9818 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
9819 arguments to fread so that we get a return value in bytes, rather
9820 than something that will normally be rounded down to 0.
9821 Adjust error handling to avoid producing garbage when size_t is not
9822 the same size as long long.
9823
9824 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
9825
9826 * util/mkisofs/write.c (padblock_write): Check return value of
9827 fread.
9828
9829 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9830
9831 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
9832 floppy images now.
9833
9834 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
9835
9836 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9837
9838 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
9839 instead of manual alignment.
9840 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
9841 verbose). Avoid attempts to read past end of the device
9842 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
9843 but GRUB_DISK_CACHE_SIZE may exceed that).
9844
9845 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9846
9847 * commands/crc.c (grub_cmd_crc): Abort on read errors.
9848 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
9849 it to upper layer.
9850
9851 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
9854 New constant.
9855 (grub_efi_piwg_device_path): New structure
9856 (grub_efi_piwg_device_path_t): New type.
9857 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
9858 (devpath_1): Transform to a structure. All users updated.
9859 (devpath_2): Likewise.
9860 (devpath_3): Likewise.
9861 (devpath_4): Likewise.
9862 (devpath_5): Likewise.
9863
9864 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * loader/efi/appleloader.c: Restored. Update all users.
9867
9868 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9869
9870 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
9871
9872 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
9873 (struct boot_blocklist): Move from here ...
9874 * include/grub/i386/pc/boot.h [ASM_FILE]
9875 (struct grub_boot_blocklist): ... to here. Update all users.
9876 (setup): Only initialize `start' member of `first_block'
9877 structure. Add assert() calls to verify the other members.
9878
9879 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
9880 (generate_image): Fix broken blocklist length initialization.
9881 Add assert() call to verify blocklist `segment' field.
9882
9883 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9884
9885 * loader/efi/appleloader.c: Remove. Update all users.
9886
9887 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9888
9889 * boot/i386/pc/boot.S: Update copyright year.
9890 * boot/i386/pc/cdboot.S: Likewise.
9891 * boot/i386/pc/diskboot.S: Likewise.
9892 * boot/i386/pc/lnxboot.S: Likewise.
9893 * boot/i386/pc/pxeboot.S: Likewise.
9894 * bus/pci.c: Likewise.
9895 * commands/cmp.c: Likewise.
9896 * commands/help.c: Likewise.
9897 * commands/hexdump.c: Likewise.
9898 * commands/i386/pc/halt.c: Likewise.
9899 * commands/i386/pc/play.c: Likewise.
9900 * commands/i386/pc/vbeinfo.c: Likewise.
9901 * commands/ls.c: Likewise.
9902 * commands/test.c: Likewise.
9903 * disk/dmraid_nvidia.c: Likewise.
9904 * disk/i386/pc/biosdisk.c: Likewise.
9905 * disk/ieee1275/nand.c: Likewise.
9906 * disk/ieee1275/ofdisk.c: Likewise.
9907 * disk/lvm.c: Likewise.
9908 * disk/raid.c: Likewise.
9909 * disk/raid6_recover.c: Likewise.
9910 * disk/scsi.c: Likewise.
9911 * fs/affs.c: Likewise.
9912 * fs/cpio.c: Likewise.
9913 * fs/ext2.c: Likewise.
9914 * fs/hfs.c: Likewise.
9915 * fs/iso9660.c: Likewise.
9916 * fs/ntfs.c: Likewise.
9917 * fs/sfs.c: Likewise.
9918 * fs/udf.c: Likewise.
9919 * fs/ufs.c: Likewise.
9920 * fs/xfs.c: Likewise.
9921 * gencmdlist.sh: Likewise.
9922 * genmk.rb: Likewise.
9923 * include/grub/disk.h: Likewise.
9924 * include/grub/efi/api.h: Likewise.
9925 * include/grub/efi/efi.h: Likewise.
9926 * include/grub/efi/pe32.h: Likewise.
9927 * include/grub/elf.h: Likewise.
9928 * include/grub/fs.h: Likewise.
9929 * include/grub/i386/at_keyboard.h: Likewise.
9930 * include/grub/i386/pc/memory.h: Likewise.
9931 * include/grub/i386/pc/vbe.h: Likewise.
9932 * include/grub/i386/pci.h: Likewise.
9933 * include/grub/i386/tsc.h: Likewise.
9934 * include/grub/ieee1275/ieee1275.h: Likewise.
9935 * include/grub/ntfs.h: Likewise.
9936 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
9937 * include/grub/sparc64/libgcc.h: Likewise.
9938 * include/grub/symbol.h: Likewise.
9939 * include/grub/types.h: Likewise.
9940 * include/multiboot2.h: Likewise.
9941 * io/gzio.c: Likewise.
9942 * kern/device.c: Likewise.
9943 * kern/disk.c: Likewise.
9944 * kern/efi/efi.c: Likewise.
9945 * kern/efi/mm.c: Likewise.
9946 * kern/elf.c: Likewise.
9947 * kern/file.c: Likewise.
9948 * kern/i386/dl.c: Likewise.
9949 * kern/i386/pc/init.c: Likewise.
9950 * kern/i386/pc/startup.S: Likewise.
9951 * kern/ieee1275/ieee1275.c: Likewise.
9952 * kern/ieee1275/init.c: Likewise.
9953 * kern/main.c: Likewise.
9954 * kern/mm.c: Likewise.
9955 * kern/powerpc/dl.c: Likewise.
9956 * kern/sparc64/dl.c: Likewise.
9957 * kern/x86_64/dl.c: Likewise.
9958 * lib/hexdump.c: Likewise.
9959 * loader/efi/appleloader.c: Likewise.
9960 * loader/i386/ieee1275/linux.c: Likewise.
9961 * loader/i386/pc/chainloader.c: Likewise.
9962 * loader/i386/pc/linux.c: Likewise.
9963 * loader/i386/pc/multiboot2.c: Likewise.
9964 * loader/ieee1275/multiboot2.c: Likewise.
9965 * loader/multiboot2.c: Likewise.
9966 * loader/multiboot_loader.c: Likewise.
9967 * loader/powerpc/ieee1275/linux.c: Likewise.
9968 * normal/completion.c: Likewise.
9969 * normal/menu_entry.c: Likewise.
9970 * partmap/apple.c: Likewise.
9971 * util/grub.d/10_hurd.in: Likewise.
9972 * util/hostfs.c: Likewise.
9973 * video/readers/png.c: Likewise.
9974
9975 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
9976
9977 * include/grub/misc.h (GNUC_PREREQ): New macro.
9978 (ATTRIBUTE_ERROR): New macro.
9979 * include/grub/list.h (grub_bad_type_cast_real): Use
9980 ATTRIBUTE_ERROR.
9981
9982 2010-01-03 Carles Pina i Estany <carles@pina.cat>
9983
9984 * normal/menu_text.c (print_message): Change messages.
9985
9986 2010-01-03 Carles Pina i Estany <carles@pina.cat>
9987
9988 * normal/menu_entry.c (store_completion): Gettextizze.
9989
9990 2010-01-03 Carles Pina i Estany <carles@pina.cat>
9991
9992 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
9993
9994 2010-01-03 Carles Pina i Estany <carles@pina.cat>
9995
9996 * po/POTFILES: Sort correctly.
9997
9998 2010-01-03 Carles Pina i Estany <carles@pina.cat>
9999
10000 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10001 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10002 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10003 full stop.
10004 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10005 summary. Gettextizze the strings.
10006 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10007 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10008 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10009 full stop.
10010 (GRUB_MOD_INIT): Remove command name from summary.
10011 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10012 summary.
10013 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10014 * term/i386/pc/serial.c (options): Add full stops.
10015 (GRUB_MOD_INIT): Remove command name from the summary.
10016
10017 2010-01-03 Carles Pina i Estany <carles@pina.cat>
10018
10019 * commands/acpi.c: Gettextizze help strings and/or options. Include
10020 `grub/i18n.h' if needed.
10021 * commands/blocklist.c: Likewise.
10022 * commands/boot.c: Likewise.
10023 * commands/cat.c: Likewise.
10024 * commands/cmp.c: Likewise.
10025 * commands/configfile.c: Likewise.
10026 * commands/crc.c: Likewise.
10027 * commands/date.c: Likewise.
10028 * commands/echo.c: Likewise.
10029 * commands/efi/fixvideo.c: Likewise.
10030 * commands/efi/loadbios.c: Likewise.
10031 * commands/gptsync.c: Likewise.
10032 * commands/halt.c: Likewise.
10033 * commands/handler.c: Likewise.
10034 * commands/hdparm.c: Likewise.
10035 * commands/hexdump.c: Likewise.
10036 * commands/i386/cpuid.c: Likewise.
10037 * commands/i386/pc/drivemap.c: Likewise.
10038 * commands/i386/pc/halt.c: Likewise.
10039 * commands/i386/pc/pxecmd.c: Likewise.
10040 * commands/i386/pc/vbeinfo.c: Likewise.
10041 * commands/i386/pc/vbetest.c: Likewise.
10042 * commands/ieee1275/suspend.c: Likewise.
10043 * commands/keystatus.c: Likewise.
10044 * commands/loadenv.c: Likewise.
10045 * commands/ls.c: Likewise.
10046 * commands/lsmmap.c: Likewise.
10047 * commands/lspci.c: Likewise.
10048 * commands/memrw.c: Likewise.
10049 * commands/minicmd.c: Likewise.
10050 * commands/parttool.c: Likewise.
10051 * commands/password.c: Likewise.
10052 * commands/probe.c: Likewise.
10053 * commands/read.c: Likewise.
10054 * commands/reboot.c: Likewise.
10055 * commands/search.c: Likewise.
10056 * commands/sleep.c: Likewise.
10057 * commands/test.c: Likewise.
10058 * commands/true.c: Likewise.
10059 * commands/usbtest.c: Likewise.
10060 * commands/videotest.c: Likewise.
10061 * commands/xnu_uuid.c: Likewise.
10062 * disk/loopback.c: Likewise.
10063 * hello/hello.c: Likewise.
10064 * loader/i386/bsd.c: Likewise.
10065 * term/i386/pc/serial.c: Likewise.
10066 * po/POTFILES: Add new files.
10067
10068 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
10069
10070 * term/i386/pc/at_keyboard.c
10071 (keyboard_controller_wait_untill_ready): Rename to ...
10072 (keyboard_controller_wait_until_ready): ... this. Update all users.
10073
10074 2010-01-01 Carles Pina i Estany <carles@pina.cat>
10075
10076 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10077 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10078 string using string width.
10079 * normal/menu_text.c (grub_print_message_indented): Use
10080 grub_print_spaces and not print_spaces.
10081 (print_timeout): Likewise.
10082 (print_spaces): Move to...
10083 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10084
10085 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10086
10087 Import from Gnulib.
10088
10089 * gnulib/getdelim.c: New file.
10090 * gnulib/getline.c: Likewise.
10091
10092 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10093
10094 * include/grub/list.h (grub_assert_fail): Removed.
10095 (grub_bad_type_cast_real): New function.
10096 (grub_bad_type_cast): New macro.
10097 (GRUB_AS_LIST): Use grub_bad_type_cast.
10098 (GRUB_AS_LIST_P): Likewise.
10099 (GRUB_AS_NAMED_LIST): Likewise.
10100 (GRUB_AS_NAMED_LIST_P): Likewise.
10101 (GRUB_AS_PRIO_LIST): Likewise.
10102 (GRUB_AS_PRIO_LIST_P): Likewise.
10103 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
10104
10105 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10108 Fix syntax error.
10109
10110 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10111
10112 * configure.ac: Check for TARGET_CFLAGS initialization before we
10113 initialize it ourselves (sigh).
10114 Move a few modifications to TARGET_CFLAGS to be unconditional
10115 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10116 eh_frame)
10117
10118 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10119 * term/i386/pc/at_keyboard.c
10120 (keyboard_controller_wait_untill_ready): Likewise.
10121 (keyboard_controller_led): Rename `led_status' paramter to avoid
10122 name conflict.
10123
10124 2009-12-28 Carles Pina i Estany <carles@pina.cat>
10125
10126 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10127 quotes.
10128
10129 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10132
10133 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * normal/menu_text.c (grub_print_message_indented): Prevent
10136 past-the-end-of-array dereference.
10137
10138 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10141 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10142
10143 2009-12-27 Carles Pina i Estany <carles@pina.cat>
10144
10145 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10146 * normal/main.c (grub_normal_read_line): Remove a space from the
10147 default prompt.
10148
10149 2009-12-27 Carles Pina i Estany <carles@pina.cat>
10150
10151 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10152 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10153 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10154 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10155 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10156 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10157 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10158
10159 2009-12-26 Carles Pina i Estany <carles@pina.cat>
10160
10161 * video/readers/jpeg.c (cmd): Declare.
10162 (grub_cmd_jpegtest): Use `grub_command_t' type.
10163 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10164 Assign to `cmd'.
10165 (GRUB_MOD_FINI): Use `cmd' to unregister.
10166 * video/readers/png.c (cmd): Declare.
10167 (grub_cmd_pngtest): Use `grub_command_t' type.
10168 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10169 Assign to `cmd'.
10170 (GRUB_MOD_FINI): Use `cmd' to unregister.
10171 * video/readers/tga.c (cmd): Declare.
10172 (grub_cmd_tgatest): Use `grub_command_t' type.
10173 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10174 Assign to `cmd'.
10175 (GRUB_MOD_FINI): Use `cmd' to unregister.
10176
10177 2009-12-26 Carles Pina i Estany <carles@pina.cat>
10178
10179 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10180 stops.
10181 * kern/corecmd.c (grub_register_core_commands): Likewise.
10182 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10183 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10184 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10185 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10186 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10187 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10188 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10189 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10190 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10191 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10192 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10193 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10194 * normal/handler.c (insert_handler): Likewise.
10195 * normal/main.c (GRUB_MOD_INIT): Likewise.
10196 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10197
10198 2009-12-26 Carles Pina i Estany <carles@pina.cat>
10199
10200 * commands/help.c (grub_cmd_help): Print the command name before the
10201 summary.
10202 (GRUB_MOD_INIT): Remove command name from the summary.
10203 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
10204 string as summary.
10205 * lib/arg.c (find_long): Print the command name before the summary.
10206 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10207 summary.
10208 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10209 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10210 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10211 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10212 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10213 * commands/date.c (GRUB_MOD_INIT): Likewise.
10214 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10215 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10216 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10217 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10218 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10219 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10220 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10221 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10222 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10223 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10224 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10225 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10226 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10227 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10228 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10229 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10230 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10231 * commands/password.c (GRUB_MOD_INIT): Likewise.
10232 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10233 * commands/read.c (GRUB_MOD_INIT): Likewise.
10234 * commands/search.c (GRUB_MOD_INIT): Likewise.
10235 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10236 * commands/test.c (GRUB_MOD_INIT): Likewise.
10237 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10238 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10239 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10240 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10241 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10242 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10243 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10244 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10245 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10246 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10247 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10248 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10249 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10250 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10251
10252 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 Use search command for preliminar UUID search.
10255
10256 * commands/search.c: Split into ...
10257 * commands/search_wrap.c: ...this
10258 * commands/search.c: ...and this.
10259 * commands/search_file.c: New file.
10260 * commands/search_label.c: New file.
10261 * commands/search_uuid.c: New file.
10262 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10263 Add commands/search_wrap.c, commands/search_file.c,
10264 commands/search_label.c and commands/search_uuid.c.
10265 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10266 (search_mod_SOURCES): Set to commands/search_wrap.c.
10267 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10268 search_label.mod.
10269 (search_fs_file_mod_SOURCES): New variable.
10270 (search_fs_file_mod_CFLAGS): Likewise.
10271 (search_fs_file_mod_LDFLAGS): Likewise.
10272 (search_label_mod_SOURCES): Likewise.
10273 (search_label_mod_CFLAGS): Likewise.
10274 (search_label_mod_LDFLAGS): Likewise.
10275 (search_fs_uuid_mod_SOURCES): New variable.
10276 (search_fs_uuid_mod_CFLAGS): Likewise.
10277 (search_fs_uuid_mod_LDFLAGS): Likewise.
10278 (fs_file_mod_SOURCES): Removed.
10279 (fs_file_mod_CFLAGS): Likewise.
10280 (fs_file_mod_LDFLAGS): Likewise.
10281 (fs_uuid_mod_SOURCES): Removed.
10282 (fs_uuid_mod_CFLAGS): Likewise.
10283 (fs_uuid_mod_LDFLAGS): Likewise.
10284 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10285 Set to util/grub-install.in.
10286 * disk/fs_file.c: Removed.
10287 * disk/fs_uuid.c: Likewise.
10288 * include/grub/search.h: New file.
10289 * util/grub-install.in: Handle sparc64.
10290 Create and use load.cfg.
10291 * util/sparc64/ieee1275/grub-install.in: Removed.
10292
10293 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10296 Ignore return status if CF is cleared.
10297 (grub_biosdisk_get_diskinfo_standard): Likewise.
10298
10299 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10300
10301 * term/i386/pc/at_keyboard.c
10302 (keyboard_controller_wait_untill_ready): New function.
10303 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10304 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10305 for keyboard polling, rather than duplicate the same loop. This
10306 saves a few bytes in code size.
10307
10308 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 Support for (pxe[:server[:gateway]]) syntax and
10311 use environment variable for PXE.
10312
10313 * commands/i386/pc/pxecmd.c (options): Removed.
10314 (print_ip): Removed.
10315 (grub_cmd_pxe): Removed
10316 (grub_cmd_pxe_unload): New function.
10317 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10318 (grub_pxe_your_ip): Made static.
10319 (grub_pxe_default_server_ip): Likewise.
10320 (grub_pxe_default_gateway_ip): Likewise.
10321 (grub_pxe_blksize): Likewise.
10322 (parse_ip): New function.
10323 (grub_pxe_open): Support server and gateway specification.
10324 (grub_pxe_close): Free disk->data.
10325 (grub_pxefs_open): Use disk->data.
10326 (grub_pxefs_read): Likewise.
10327 (grub_env_write_readonly): New function.
10328 (set_mac_env): Likewise.
10329 (set_env_limn_ro): Likewise.
10330 (parse_dhcp_vendor): Likewise.
10331 (grub_pxe_detect): Set the environment variables.
10332 (set_ip_env): New function.
10333 (write_ip_env): Likewise.
10334 (grub_env_write_pxe_default_server): Likewise.
10335 (grub_env_write_pxe_default_gateway): Likewise.
10336 (grub_env_write_pxe_blocksize): Likewise.
10337 (GRUB_MOD_INIT(pxe)): Set environment variables.
10338 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10339 (grub_pxe_mac_addr_t): ... this. All users updated.
10340 (grub_pxe_your_ip): Removed.
10341 (grub_pxe_server_ip): Likewise.
10342 (grub_pxe_gateway_ip): Likewise.
10343 (grub_pxe_blksize): Likewise.
10344
10345 2009-12-25 Carles Pina i Estany <carles@pina.cat>
10346
10347 * commands/help.c: Include `<grub/i18n.h>'.
10348 (grub_cmd_help): Gettextizze.
10349 (GRUB_MOD_INIT): Likewise.
10350 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10351 (GRUB_MOD_INIT): Gettextizze.
10352 * commands/search.c: Include `<grub/i18n.h>'.
10353 (options): Gettextizze.
10354 (GRUB_MOD_INIT): Gettextizze.
10355 * lib/arg.c: Include `<grub/i18n.h>'.
10356 (help_options): Gettextizze.
10357 (find_long): Likewise.
10358 (grub_arg_show_help): Likewise.
10359 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10360 (read_command_list): Gettextizze.
10361 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
10362 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
10363
10364 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10365
10366 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10367 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10368 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10369 (led_status): New variable.
10370 (keyboard_controller_led): New function.
10371 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10372 update led status for caps lock, num lock and scroll lock.
10373
10374 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
10375
10376 * util/hostdisk.c (open_device): Fix a comment.
10377
10378 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10379
10380 * util/grub-install.in (host_os): New variable.
10381 * util/i386/efi/grub-install.in (host_os): Likewise.
10382
10383 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10384
10385 * util/mkisofs/write.c (padblock_write): Abort when given an
10386 excedingly large embed image, instead of silently truncating it.
10387
10388 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10389
10390 * include/multiboot.h: Indentation fixes.
10391
10392 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10393
10394 * include/multiboot.h (struct multiboot_aout_symbol_table)
10395 (struct multiboot_elf_section_header_table): New structure
10396 declarations (stolen from GRUB Legacy).
10397 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10398 table information.
10399
10400 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10401 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10402 type aliases.
10403
10404 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10405
10406 * include/multiboot.h: Make comments src2texi-friendly.
10407
10408 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10409
10410 For consistency with [multiboot]/docs/boot.S.
10411
10412 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10413 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10414 (MULTIBOOT_MAGIC2): Rename from this ...
10415 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10416
10417 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10418
10419 * include/multiboot.h: Remove `<grub/types.h>'.
10420 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10421 types. Update all users.
10422
10423 2009-12-25 Carles Pina i Estany <carles@pina.cat>
10424
10425 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10426 `couldn't' and `can not' by `cannot'.
10427 * commands/i386/pc/drivemap.c: Likewise.
10428 * disk/ata.c: Likewise.
10429 * disk/ieee1275/nand.c: Likewise.
10430 * fs/affs.c: Likewise.
10431 * fs/fat.c: Likewise.
10432 * fs/hfs.c: Likewise.
10433 * fs/hfsplus.c: Likewise.
10434 * fs/iso9660.c: Likewise.
10435 * fs/jfs.c: Likewise.
10436 * fs/minix.c: Likewise.
10437 * fs/reiserfs.c: Likewise.
10438 * fs/sfs.c: Likewise.
10439 * fs/udf.c: Likewise.
10440 * fs/ufs.c: Likewise.
10441 * fs/xfs.c: Likewise.
10442 * loader/powerpc/ieee1275/linux.c: Likewise.
10443 * loader/sparc64/ieee1275/linux.c: Likewise.
10444 * util/grub-probe.c: Likewise.
10445 * util/misc.c: Likewise.
10446
10447 2009-12-24 Carles Pina i Estany <carles@pina.cat>
10448
10449 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10450 grub_errno calls.
10451 * commands/acpi.c: Likewise.
10452 * commands/blocklist.c: Likewise.
10453 * commands/efi/loadbios.c: Likewise.
10454 * commands/i386/pc/drivemap.c: Likewise.
10455 * commands/loadenv.c: Likewise.
10456 * commands/memrw.c: Likewise.
10457 * commands/password.c: Likewise.
10458 * commands/videotest.c: Likewise.
10459 * disk/ata.c: Likewise.
10460 * disk/ata_pthru.c: Likewise.
10461 * disk/dmraid_nvidia.c: Likewise.
10462 * disk/ieee1275/nand.c: Likewise.
10463 * disk/ieee1275/ofdisk.c: Likewise.
10464 * disk/loopback.c: Likewise.
10465 * disk/lvm.c: Likewise.
10466 * disk/mdraid_linux.c: Likewise.
10467 * disk/raid.c: Likewise.
10468 * disk/raid6_recover.c: Likewise.
10469 * disk/scsi.c: Likewise.
10470 * efiemu/main.c: Likewise.
10471 * efiemu/mm.c: Likewise.
10472 * efiemu/pnvram.c: Likewise.
10473 * efiemu/symbols.c: Likewise.
10474 * font/font.c: Likewise.
10475 * fs/cpio.c: Likewise.
10476 * fs/hfsplus.c: Likewise.
10477 * fs/iso9660.c: Likewise.
10478 * fs/jfs.c: Likewise.
10479 * fs/minix.c: Likewise.
10480 * fs/ntfs.c: Likewise.
10481 * fs/ntfscomp.c: Likewise.
10482 * fs/reiserfs.c: Likewise.
10483 * fs/ufs.c: Likewise.
10484 * fs/xfs.c: Likewise.
10485 * gettext/gettext.c: Likewise.
10486 * include/grub/auth.h: Likewise.
10487 * kern/elf.c: Likewise.
10488 * kern/file.c: Likewise.
10489 * kern/ieee1275/init.c: Likewise.
10490 * kern/ieee1275/mmap.c: Likewise.
10491 * kern/ieee1275/openfw.c: Likewise.
10492 * kern/powerpc/dl.c: Likewise.
10493 * kern/sparc64/dl.c: Likewise.
10494 * lib/arg.c: Likewise.
10495 * loader/i386/bsd.c: Likewise.
10496 * loader/i386/bsdXX.c: Likewise.
10497 * loader/i386/efi/linux.c: Likewise.
10498 * loader/i386/efi/xnu.c: Likewise.
10499 * loader/i386/ieee1275/linux.c: Likewise.
10500 * loader/i386/linux.c: Likewise.
10501 * loader/i386/multiboot.c: Likewise.
10502 * loader/i386/pc/linux.c: Likewise.
10503 * loader/i386/pc/multiboot2.c: Likewise.
10504 * loader/i386/xnu.c: Likewise.
10505 * loader/ieee1275/multiboot2.c: Likewise.
10506 * loader/macho.c: Likewise.
10507 * loader/machoXX.c: Likewise.
10508 * loader/multiboot2.c: Likewise.
10509 * loader/multiboot_loader.c: Likewise.
10510 * loader/powerpc/ieee1275/linux.c: Likewise.
10511 * loader/sparc64/ieee1275/linux.c: Likewise.
10512 * loader/xnu.c: Likewise.
10513 * loader/xnu_resume.c: Likewise.
10514 * mmap/i386/pc/mmap.c: Likewise.
10515 * normal/menu_viewer.c: Likewise.
10516 * partmap/acorn.c: Likewise.
10517 * partmap/amiga.c: Likewise.
10518 * partmap/apple.c: Likewise.
10519 * script/lexer.c: Likewise.
10520 * term/gfxterm.c: Likewise.
10521 * term/i386/pc/serial.c: Likewise.
10522 * term/i386/pc/vga.c: Likewise.
10523 * term/ieee1275/ofconsole.c: Likewise.
10524 * term/terminfo.c: Likewise.
10525 * video/bitmap.c: Likewise.
10526 * video/efi_gop.c: Likewise.
10527 * video/efi_uga.c: Likewise.
10528 * video/fb/video_fb.c: Likewise.
10529 * video/i386/pc/vbe.c: Likewise.
10530 * video/readers/tga.c: Likewise.
10531 * video/video.c: Likewise.
10532
10533 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
10534
10535 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10536 * commands/lspci.c: Likewise.
10537 * commands/probe.c: Likewise.
10538 * commands/xnu_uuid.c: Likewise.
10539 * conf/i386-coreboot.rmk: Likewise.
10540 * conf/i386-efi.rmk: Likewise.
10541 * conf/i386-ieee1275.rmk: Likewise.
10542 * conf/i386-pc.rmk: Likewise.
10543 * conf/powerpc-ieee1275.rmk: Likewise.
10544 * conf/sparc64-ieee1275.rmk: Likewise.
10545 * conf/x86_64-efi.rmk: Likewise.
10546 * fs/i386/pc/pxe.c: Likewise.
10547 * gettext/gettext.c: Likewise.
10548 * include/grub/efi/graphics_output.h: Likewise.
10549 * include/grub/i386/pc/memory.h: Likewise.
10550 * kern/env.c: Likewise.
10551 * kern/i386/qemu/startup.S: Likewise.
10552 * lib/i386/pc/biosnum.c: Likewise.
10553 * lib/i386/relocator.c: Likewise.
10554 * lib/i386/relocator_asm.S: Likewise.
10555 * lib/relocator.c: Likewise.
10556 * loader/i386/bsd.c: Likewise.
10557 * loader/i386/multiboot.c: Likewise.
10558 * loader/i386/pc/chainloader.c: Likewise.
10559 * loader/i386/xnu.c: Likewise.
10560 * loader/xnu.c: Likewise.
10561 * normal/main.c: Likewise.
10562 * normal/menu_text.c: Likewise.
10563 * util/getroot.c: Likewise.
10564 * util/grub-mkconfig_lib.in: Likewise.
10565 * util/grub.d/00_header.in: Likewise.
10566 * util/i386/pc/grub-mkimage.c: Likewise.
10567 * util/mkisofs/eltorito.c: Likewise.
10568 * util/mkisofs/exclude.h: Likewise.
10569 * util/mkisofs/hash.c: Likewise.
10570 * util/mkisofs/iso9660.h: Likewise.
10571 * util/mkisofs/joliet.c: Likewise.
10572 * util/mkisofs/mkisofs.c: Likewise.
10573 * util/mkisofs/mkisofs.h: Likewise.
10574 * util/mkisofs/multi.c: Likewise.
10575 * util/mkisofs/name.c: Likewise.
10576 * util/mkisofs/rock.c: Likewise.
10577 * util/mkisofs/tree.c: Likewise.
10578 * util/mkisofs/write.c: Likewise.
10579 * video/efi_gop.c: Likewise.
10580
10581 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10584 size counting.
10585
10586 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
10587
10588 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10589 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10590
10591 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10594 (GRUB_MOD_INIT(memrw)): Update help line.
10595
10596 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10599 Use grub_extcmd_t. All users updated.
10600 (options): New variable.
10601 (grub_cmd_read): Restructure for readability. Support "-v" option.
10602 (grub_cmd_write): Restructure for readability.
10603
10604 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
10605
10606 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10607
10608 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
10609
10610 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10611 with the actual contents of the correspondending make variable.
10612 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10613 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10614 specifying `*.lst' and `efiemu??.o'
10615
10616 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
10617
10618 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10619 after function name.
10620 Noticed by Rene Engelhard <rene@debian.org>.
10621
10622 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10625 (options): New variable.
10626 (iospace): Likewise.
10627 (grub_lspci_iter): List IO spaces if "-i" was given.
10628 (grub_cmd_lspci): Parse options.
10629 (GRUB_MOD_INIT(lspci)): Use extcmd.
10630 (GRUB_MOD_FINI(lspci)): Likewise.
10631
10632 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
10633
10634 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10635 `function' keyword.
10636 Patch by Tony Mancill <tmancill@debian.org>.
10637
10638 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10641 (grub_uhci_portstatus): Likewise.
10642 (grub_uhci_portstatus): Add necessary delay.
10643 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
10644
10645 2009-12-21 Carles Pina i Estany <carles@pina.cat>
10646
10647 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10648 (GRUB_MOD_INIT): Likewise.
10649 * commands/boot.c (GRUB_MOD_INIT): Likewise.
10650 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10651 * commands/echo.c (options): Fix capitalizations and/or full stops.
10652 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10653 (enable_rom_area): Likewise.
10654 (GRUB_MOD_INIT): Likewise.
10655 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10656 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10657 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10658 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10659 * commands/hexdump.c (options): Likewise.
10660 * commands/i386/cpuid.c (options): Likewise.
10661 (GRUB_MOD_INIT): Likewise.
10662 * commands/i386/pc/drivemap.c (options): Likewise.
10663 (GRUB_MOD_INIT): Likewise.
10664 * commands/i386/pc/halt (options): Likewise.
10665 (GRUB_MOD_INIT): Likewise.
10666 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10667 * commands/i386/pc/pxecmd.c (options): Likewise.
10668 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10669 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10670 * commands/keystatus.c (options): Likewise.
10671 (GRUB_MOD_INIT): Likewise.
10672 * commands/loadenv.c (options): Likewise.
10673 * commands/ls.c (options): Likewise.
10674 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10675 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10676 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10677 * commands/parttool.c (helpmsg): Likewise.
10678 * commands/probe.c (options): Likewise.
10679 * commands/read.c (GRUB_MOD_INIT): Likewise.
10680 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10681 * commands/search.c (options): Likewise.
10682 * commands/sleep.c (options): Likewise.
10683 * commands/test.c (GRUB_MOD_INIT): Likewise.
10684 * commands/true.c (GRUB_MOD_INIT): Likewise.
10685 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10686 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10687 * lib/arg.c (help_options): Likewise.
10688 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10689 `$(XGETTEXT)'.
10690 * po/POTFILES: Add `commands/loadenv.c'.
10691
10692 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
10693
10694 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
10695 instead of specifying them explicit.
10696
10697 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10698
10699 * NEWS: Add grub-probe support for GNU/Hurd.
10700
10701 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10702
10703 * NEWS: gettext was added after 1.97.
10704
10705 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10706
10707 * util/mkisofs/msdos_partition.h: New file (based on
10708 include/grub/msdos_partition.h).
10709 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10710 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10711 (ld_options, main): Recognize --protective-msdos-label.
10712 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10713 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10714 (padblock_write): If `use_protective_msdos_label' is set, patch a
10715 protective DOS-style label in the output image.
10716
10717 * util/grub-mkrescue.in: Use --protective-msdos-label.
10718
10719 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10720
10721 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10722 boot.
10723
10724 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10725
10726 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10727 variables.
10728 (ld_options, main): Recognize `--embedded-boot'.
10729 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10730 declarations.
10731 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10732 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10733 (padblock_write): Likewise. Rewrite to support embedded boot image.
10734
10735 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10736 for BIOS-based disk boot instead of only ElTorito.
10737
10738 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10739
10740 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10741 build (not needed for bootstrap).
10742
10743 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10744
10745 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10746 from i386-pc build (not needed for bootstrap).
10747 Rewrite a pair of strings.
10748
10749 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10750
10751 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10752
10753 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10756
10757 2009-12-21 Andreas Born <futur.andy@googlemail.com>
10758
10759 * kern/env.c (grub_env_context_open): Mark exported variable for
10760 reexport.
10761
10762 2009-12-21 Andreas Born <futur.andy@googlemail.com>
10763
10764 * kern/env.c (grub_env_export): Create nonexistent variables before
10765 exporting.
10766
10767 2009-12-20 Carles Pina i Estany <carles@pina.cat>
10768
10769 * include/grub/auth.h: Include `<grub/i18n.h>'.
10770 (GRUB_GET_PASSWORD): Gettextizze string.
10771 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10772 menu_text.c.
10773 (grub_utf8_to_ucs4_alloc): Fix indentation.
10774 (grub_print_ucs4): Likewise.
10775 (grub_getstringwidth): Likewise.
10776 (print_message_indented): New declaration.
10777 * normal/auth.c: Include `<grub/i18n.h>'.
10778 (grub_auth_check_authentication): Gettexttize string.
10779 * normal/cmdline.c: Include `<grub/i18n.h>'.
10780 (grub_cmdline_get): Gettextizze.
10781 * normal/color.c: Include `<grub/i18n.h>'.
10782 (grub_parse_color_name_pair): Gettexttize strings.
10783 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10784 string (use `print_message_indented').
10785 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10786 `include/grub/normal.h'.
10787 (print_message_indented): Renamed to ...
10788 (grub_print_message_indented): ... this. Remove `static' qualifer (now
10789 used in normal/main.c).
10790 (print_message): Use `grub_print_message_indented' instead of
10791 `print_message_indented'.
10792 (print_timeout): Likewise.
10793 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
10794 (grub_normal_print_device_info): Gettexttize strings.
10795 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
10796
10797 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
10800 of arguments. Return number of tokens and not arguments. All users
10801 updated.
10802
10803 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
10806 non-MSDOS paritions.
10807
10808 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * include/grub/types.h (UNUSED): Removed since it conflicts with
10811 NetBSD headers. All users changed to direct __attribute__ ((unused)).
10812 Reported by Grégoire Sutre.
10813
10814 2009-12-19 Carles Pina i Estany <carles@pina.cat>
10815
10816 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
10817 (grub_print_ucs4_alloc): Likewise.
10818 (grub_getstringwidth): Likewise.
10819 * normal/main.c (grub_normal_init_page): Gettextize version string.
10820 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
10821 (getstringwidth): Renamed to ...
10822 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
10823 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
10824 (grub_print_ucs4): Remove `static' qualifer (now used in
10825 normal/main.c).
10826 * po/POTFILES: Add normal/main.c.
10827
10828 2009-12-19 Carles Pina i Estany <carles@pina.cat>
10829
10830 * normal/menu_text.c (STANDARD_MARGIN): New macro.
10831 (print_message_indented): Add `margin_left' and `margin_right'
10832 parameters.
10833 (print_message): Update `print_message_indented' calls. Adds '\n' to the
10834 strings.
10835 (print_timeout): Use `print_message_indented' to print the message.
10836 Deletes `second_stage' parameter.
10837 (run_menu): Update `print_timeout' calls.
10838
10839 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Fix console palette on OpenFirmware.
10842
10843 * term/ieee1275/ofconsole.c (MAX): Removed.
10844 (colors): Redone based on VGA palette.
10845 (grub_ofconsole_setcolor): Discard brightness bit since only 8
10846 colors are supported.
10847 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
10848
10849 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 Fix potential EfiEmu double prepare.
10852
10853 * efiemu/main.c (prepared): New variable
10854 (grub_efiemu_unload): Set prepare to '0'.
10855 (grub_efiemu_prepare): Return if already prepared. Set prepared.
10856
10857 set_virtual_address_map support.
10858
10859 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
10860 prototype.
10861 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
10862 prototype.
10863 (grub_efiemu_crc32): Likewise.
10864 (grub_efiemu_crc64): Likewise.
10865 (grub_efiemu_set_virtual_address_map): Likewise.
10866 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
10867 New definition.
10868 (grub_autoefi_set_virtual_address_map): Likewise.
10869 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
10870 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
10871 Restructure flow to accomodate it.
10872 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
10873 (grub_efiemu_crc): Recompute CRC32.
10874 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
10875 (efiemu_ptv_relocated): ... this. Made global. All users updated.
10876 * efiemu/symbols.c (relocated_handle): New variable.
10877 (grub_efiemu_free_syms): Free relocated_handle.
10878 (grub_efiemu_alloc_syms): Allocate relocated_handle.
10879 (grub_efiemu_write_sym_markers): New function.
10880 (grub_efiemu_set_virtual_address_map): Likewise.
10881
10882 Newer XNU parameters.
10883
10884 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
10885 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
10886 (grub_xnu_fill_devicetree): New prototype.
10887 (grub_xnu_heap_real_start): New variable.
10888 * loader/xnu.c (get_name_ptr): New function.
10889 (grub_xnu_load_driver): Fill namelen and name.
10890
10891 64-bit xnu support.
10892
10893 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
10894 and 'loader/macho64.c'.
10895 * conf/i386-pc.rmk: Likewise.
10896 * conf/x86_64-efi.rmk: Likewise.
10897 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
10898 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
10899 * include/grub/macho.h (grub_macho_segment64): New structure.
10900 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
10901 (grub_macho_size32): ... to this.
10902 (grub_macho32_get_entry_point): Renamed from ...
10903 (grub_macho_get_entry_point32): ... to this.
10904 (grub_macho_contains_macho64): New prototype.
10905 (grub_macho_size64): Likewise.
10906 (grub_macho_get_entry_point64): Likewise.
10907 (grub_macho32_load): Renamed from ...
10908 (grub_macho_load32): ... to this.
10909 (grub_macho32_filesize): Renamed from ...
10910 (grub_macho_filesize32): ... to this.
10911 (grub_macho32_readfile): Renamed from ...
10912 (grub_macho_readfile32): ... to this.
10913 (grub_macho_filesize64): New prototype.
10914 (grub_macho_readfile64): Likewise.
10915 (grub_macho_parse32): Likewise.
10916 (grub_macho_parse64): Likewise.
10917 * loader/macho.c: Split into ...
10918 * loader/machoXX.c: ... and this. Replace 32 with XX.
10919 * loader/macho32.c: New file.
10920 * loader/macho64.c: Likewise.
10921 * loader/xnu.c (grub_xnu_is_64bit): New variable.
10922 (grub_cmd_xnu_kernel): Make 32-bit only.
10923 (grub_cmd_xnu_kernel64): New function.
10924 (grub_xnu_load_driver): Support Mach-O 64.
10925 (grub_cmd_xnu_mkext): Likewise.
10926 * util/grub.d/30_os-prober.in (osx_entry): New function.
10927 Generate entries for 64-bit boot too.
10928
10929 Eliminate ad-hoc tree format in XNU and EfiEmu.
10930
10931 * efiemu/main.c (grub_efiemu_prepare): Update comment.
10932 * efiemu/pnvram.c: Rewritten to use environment variables.
10933 All users updated.
10934
10935 Inline utf16_to_utf8.
10936
10937 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
10938 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
10939 All users updated.
10940 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
10941
10942 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
10943 * commands/usbtest.c (grub_usb_get_string): ... move here.
10944 (usb_print_str): Fix error handling.
10945 * include/grub/usb.h (grub_usb_get_string): Remove.
10946
10947 UTF-8 to UTF-16 transformation.
10948
10949 * conf/common.rmk (pkglib_MODULES): Add charset.mod
10950 (charset_mod_SOURCES): New variable.
10951 (charset_mod_CFLAGS): Likewise.
10952 (charset_mod_LDFLAGS): Likewise.
10953 * include/grub/utf.h: New file.
10954 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
10955
10956 Support for device properties.
10957
10958 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
10959 (grub_xnu_devprop_device_header): Likewise.
10960 (grub_xnu_devprop_device_descriptor): Likewise.
10961 (grub_xnu_devprop_add_device): New prototype.
10962 (grub_xnu_devprop_remove_device): Likewise.
10963 (grub_xnu_devprop_remove_property): Likewise.
10964 (grub_xnu_devprop_add_property_utf8): Likewise.
10965 (grub_xnu_devprop_add_property_utf16): Likewise.
10966 (grub_cpu_xnu_init): Likewise.
10967 (grub_cpu_xnu_fini): Likewise.
10968 (grub_cpu_xnu_unload): Likewise.
10969 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
10970 (property_descriptor): Likewise.
10971 (devices): New variable.
10972 (grub_xnu_devprop_remove_property): New function.
10973 (grub_xnu_devprop_add_device): Likewise.
10974 (grub_xnu_devprop_remove_device): Likewise.
10975 (grub_xnu_devprop_add_property): Likewise.
10976 (grub_xnu_devprop_add_property_utf8): Likewise.
10977 (grub_xnu_devprop_add_property_utf16): Likewise.
10978 (hextoval): Likewise.
10979 (grub_cpu_xnu_fill_devprop): Likewise.
10980 (grub_cmd_devprop_load): Likewise.
10981 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
10982 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
10983 (cmd_devprop_load): New variable.
10984 (grub_cpu_xnu_init): New function.
10985 (grub_cpu_xnu_fini): Likewise.
10986 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
10987 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
10988 (grub_cmd_xnu_devtree): Likewise.
10989 (hextoval): New function.
10990 (unescape): Likewise.
10991 (grub_xnu_fill_devicetree): Likewise.
10992
10993 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
10994 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
10995
10996 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 Workaround for broken ATI VBE.
10999
11000 * video/i386/pc/vbe.c (last_set_mode): New variable.
11001 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11002 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11003 (grub_video_vbe_setup): Don't check for reserved flag.
11004
11005 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
11006
11007 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11008 the `find' command.
11009
11010 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 UUID support for HFS.
11013
11014 * fs/hfs.c (grub_hfs_uuid): New function.
11015 (grub_hfs_fs): New value .uuid.
11016 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11017
11018 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
11019
11020 Fix a segfault with parsing unknown long options.
11021
11022 * util/grub-mkrelpath.c (options): Zero terminate it.
11023
11024 2009-12-13 Carles Pina i Estany <carles@pina.cat>
11025
11026 * include/grub/misc.h (grub_puts): New declaration.
11027 (grub_puts_): Likewise.
11028 * kern/misc.c (grub_puts): New definition.
11029 (grub_puts_): Likewise.
11030
11031 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11032
11033 * util/grub-probe.c (probe): Improve error message.
11034
11035 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11036
11037 * loader/i386/multiboot_elfxx.c
11038 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11039 initialization.
11040
11041 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 Relocator framework
11044
11045 * loader/i386/xnu_helper.S: Removed. All users updated.
11046 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11047 (relocator_mod_SOURCES): New variable.
11048 (relocator_mod_CFLAGS): Likewise.
11049 (relocator_mod_LDFLAGS): Likewise.
11050 (relocator_mod_ASFLAGS): Likewise.
11051 * conf/x86_64.rmk: Likewise.
11052 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11053 (grub_multiboot_payload_entry_offset): Likewise.
11054 (grub_multiboot_forward_relocator): Likewise.
11055 (grub_multiboot_forward_relocator_end): Likewise.
11056 (grub_multiboot_backward_relocator): Likewise.
11057 (grub_multiboot_backward_relocator_end): Likewise.
11058 (grub_multiboot_payload_eip): New variable.
11059 (grub_multiboot_payload_orig): Likewise.
11060 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11061 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11062 * include/grub/i386/memory.h
11063 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11064 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11065 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11066 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11067 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11068 * include/grub/i386/relocator.h: New file.
11069 * include/grub/x86_64/relocator.h: Likewise.
11070 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11071 (XNU_RELOCATOR): New macro.
11072 (grub_xnu_launcher_start): Remove.
11073 (grub_xnu_launcher_end): Likewise.
11074 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11075 (grub_xnu_heap_real_start): Remove.
11076 (grub_xnu_heap_start): Change to void *. All users updated.
11077 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11078 * lib/i386/relocator.c: New file.
11079 * lib/i386/relocator_asm.S: Likewise.
11080 * lib/i386/relocator_backward.S: Likewise.
11081 * lib/mips/relocator.c: Likewise.
11082 * lib/mips/relocator_asm.S: Likewise.
11083 * lib/relocator.c: Likewise.
11084 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11085 (entry): Removed.
11086 (playground): Likewise.
11087 (grub_multiboot_payload_orig): New variable.
11088 (grub_multiboot_payload_dest): Likewise.
11089 (grub_multiboot_payload_size): Likewise.
11090 (grub_multiboot_payload_eip): Likewise.
11091 (grub_multiboot_payload_esp): Likewise.
11092 (grub_multiboot_boot): Use grub_relocator32_boot.
11093 (grub_multiboot_unload): Free relocators.
11094 (grub_multiboot): Setup stack. Use relocators.
11095 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11096 (grub_multiboot_load_elfXX): Use relocators.
11097 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11098 (grub_multiboot_payload_size): Likewise.
11099 (grub_multiboot_payload_dest): Likewise.
11100 (grub_multiboot_payload_entry_offset): Likewise.
11101 (grub_multiboot_forward_relocator): Likewise.
11102 (grub_multiboot_backward_relocator): Likewise.
11103 (grub_multiboot_real_boot): Likewise.
11104 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11105 (grub_xnu_entry_point): Likewise.
11106 (grub_xnu_arg1): Likewise.
11107 (grub_xnu_stack): Likewise.
11108 (grub_xnu_launch): Removed.
11109 (grub_xnu_boot_resume): New function.
11110 (grub_xnu_boot): Use relocators.
11111 * loader/i386/xnu_helper.S: Removed.
11112 * loader/xnu.c (grub_xnu_heap_start): New variable.
11113 (grub_xnu_heap_size): Likewise.
11114 (grub_xnu_heap_malloc): Use relocators.
11115 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11116
11117 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11120 anything.
11121
11122 2009-12-13 Carles Pina i Estany <carles@pina.cat>
11123
11124 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11125 GRUB_ERR_NONE before calling grub_env_set.
11126
11127 2009-12-12 Robert Millan <rmh@aybabtu.com>
11128
11129 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11130 * genmk.rb (video): New variable.
11131 (CLEANFILES, VIDEOFILES): Add #{video}.
11132 (#{video}): New target rule.
11133 * genvideolist.sh: New file.
11134 * Makefile.in (pkglib_DATA): Add video.lst.
11135 (video.lst): New target rule.
11136 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11137 `video.lst'.
11138 * util/grub.d/30_os-prober.in: Replace `vbe' with
11139 ${GRUB_VIDEO_BACKEND}.
11140
11141 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11142
11143 * THANKS: Add David Miller.
11144
11145 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 libpciaccess support.
11148
11149 * Makefile.in (LIBPCIACCESS): New variable.
11150 (enable_grub_emu_pci): Likewise.
11151 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11152 util/pci.c and commands/lspci.c.
11153 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11154 * configure.ac (grub-emu-pci): New option.
11155 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11156 (grub_pci_device_unmap_range): Likewise.
11157 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11158 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11159 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11160 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11161 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11162 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11163 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11164 * include/grub/pciutils.h: New file.
11165 * util/pci.c: Likewise.
11166
11167 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
11168
11169 * util/misc.c: Don't include <errno.h> twice.
11170
11171 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
11172
11173 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11174 name in an error message.
11175 (grub_biosdisk_rw): Likewise.
11176
11177 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Eliminate NTFS 4Gib barrier.
11180
11181 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11182 (read_run_data): Likewise.
11183 (grub_ntfs_read_run_list): Likewise.
11184 (grub_ntfs_read_block): Likewise.
11185 (grub_ntfs_iterate_dir): Likewise.
11186 (read_mft): Likewise.
11187 (read_data): Likewise.
11188 Use COM_LOG_LEN.
11189 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11190 to avoid 64-bit division
11191 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11192 (grub_ntfs_rlst): Use grub_disk_addr_t.
11193
11194 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 Eliminate grub-fstest 4Gib barrier.
11197
11198 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11199 (read_file): Fix error reporting.
11200
11201 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 Eliminate hexdump 4Gib barrier.
11204
11205 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11206 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11207
11208 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11211 Fixes amarsh bug.
11212
11213 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11214
11215 Remove miscellaneous files in distclean target.
11216
11217 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11218
11219 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
11220
11221 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11222 if they're already set. This resolves the conflict between my
11223 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11224 fixing the --grub-probe option again.
11225 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11226 change on 2009-10-06, so that we now once again source
11227 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11228
11229 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11230
11231 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11232 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11233 `util/devicemap.c'.
11234
11235 2009-12-08 Carles Pina i Estany <carles@pina.cat>
11236
11237 * include/grub/misc.h (grub_printf_): New declaration.
11238 * kern/misc.c (grub_printf_): New definition.
11239 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11240 instead of `grub_printf' and `_'.
11241 * normal/menu_entry.c (store_completion): Likewise.
11242 (run): Likewise.
11243 (grub_menu_entry_run): Likewise.
11244 * normal/menu_text.c (grub_wait_after_message): Likewise.
11245 (notify_booting): Likewise.
11246 (notify_fallback): Likewise.
11247 (notify_execution_failure): Likewise.
11248
11249 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
11250
11251 * configure.ac: Check for vasprintf.
11252 * util/misc.c (asprintf): Move allocation from here ...
11253 (vasprintf): ... to here. New function.
11254 (xasprintf): New function.
11255 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11256 prototypes.
11257 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11258 * util/grub-mkfont.c (write_font): Likewise.
11259 * util/grub-probe.c (probe): Likewise.
11260 * util/hostdisk.c (make_device_name): Likewise.
11261
11262 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
11263
11264 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11265 anything even prefixed with 'cdrom' as a cdrom.
11266
11267 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
11268
11269 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11270 mount points.
11271
11272 2009-12-05 Carles Pina i Estany <carles@pina.cat>
11273
11274 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11275 grub_gettext_msg_list.
11276 (grub_gettext_gettranslation_from_position): Return const char *
11277 and not char *.
11278 (grub_gettext_translate): Add the translated strings into a list,
11279 returns from the list if existing there.
11280 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11281 (grub_gettext_delete_list): Delete the list.
11282 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11283 lang environment variable is changed.
11284 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11285
11286 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 Rename kernel.mod to kernel.img.
11289
11290 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11291 (kernel_mod_EXPORTS): Rename to ...
11292 (kernel_img_EXPORTS): ... this.
11293 (kernel_mod_SOURCES): Rename to ...
11294 (kernel_img_SOURCES): ... this.
11295 (kernel_mod_HEADERS): Rename to ...
11296 (kernel_img_HEADERS): ... this. All users updated.
11297 (kernel_mod_CFLAGS): Rename to ...
11298 (kernel_img_CFLAGS): ... this.
11299 (kernel_mod_ASFLAGS): Rename to ...
11300 (kernel_img_ASFLAGS): ... this.
11301 (kernel_mod_LDFLAGS): Rename to ...
11302 (kernel_img_LDFLAGS): ... this.
11303 * conf/x86_64-efi.rmk: Likewise.
11304 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11305 (read_kernel_image): ... this. All users updated.
11306 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11307
11308 2009-12-05 Carles Pina i Estany <carles@pina.cat>
11309
11310 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11311 (print_spaces): New function.
11312 (grub_print_ucs4): New function.
11313 (getstringwidth): New function.
11314 (print_message_indented): New function.
11315 (print_message): Gettexttize strings using print_message_indented.
11316 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11317 width.
11318 (get_entry_number): Gettextize and uses dynamic terminal width.
11319 (notify_booting, notify_fallback, notify_execution_failure):
11320 Gettextize.
11321 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11322 string.
11323 (run): Likewise.
11324 (grub_menu_entry_run): Likewise.
11325 * PO/POTFILES: Add normal/menu_entry.c.
11326
11327 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11330
11331 2009-12-05 Carles Pina i Estany <carles@pina.cat>
11332
11333 * util/grub-install.in: Install gettext .mo files.
11334 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11335
11336 2009-12-05 Carles Pina i Estany <carles@pina.cat>
11337
11338 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11339 grub_dprintf.
11340
11341 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11342
11343 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11344 non-firmware-dependant one in realmode.S takes precedence.
11345
11346 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11347
11348 * commands/halt.c: Replace misc arch-specific headers with
11349 `<grub/misc.h>'.
11350 * commands/reboot.c: Likewise.
11351 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11352 `<grub/misc.h>'.
11353 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11354 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11355 (kernel_img_SOURCES): ... to here.
11356
11357 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11358 * include/grub/i386/pc/init.h: Likewise.
11359 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11360 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11361
11362 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11363
11364 * include/grub/i386/halt.h: Remove.
11365 * include/grub/i386/reboot.h: Likewise.
11366
11367 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11368
11369 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
11370
11371 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11372 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11373 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11374 "progname.h"
11375 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11376 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11377 (usage): Add missing comma in printf.
11378
11379 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11380
11381 Use the same reboot approach on i386 coreboot and qemu as we do on
11382 BIOS.
11383
11384 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11385 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11386 * kern/i386/reboot.c: Remove.
11387 * include/grub/i386/reboot.h (grub_reboot): Export function.
11388 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11389 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11390 0xf000:0xfff0 instead of 0xffff:0x0000.
11391 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11392 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11393
11394 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11395
11396 Fix $srcdir != $objdir build.
11397
11398 * Makefile.in (po/%.po): Rewrite as ...
11399 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11400
11401 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11402
11403 Fix GNU/Hurd grub-install crash.
11404 * util/grub-probe.c (probe): Try to access `path' only when it is not
11405 NULL.
11406
11407 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Correct module naming.
11410
11411 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11412 (GRUB_MOD_INIT(efi_uga)): ... to this
11413 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11414 (GRUB_MOD_FINI(efi_uga)): ... to this
11415 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11416 (GRUB_MOD_INIT(efi_gop)): ... to this
11417 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11418 (GRUB_MOD_FINI(efi_gop)): ... to this
11419
11420 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11421
11422 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11423 translatable.
11424 (usage): Translate `arg' strings using gettext().
11425 Thanks to Jordi Mallach for the suggestion.
11426
11427 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 GOP support. Based on patch from Bean
11430 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11431
11432 * video/efi_gop.c: New file.
11433 * include/grub/efi/graphics_output.h: Likewise.
11434 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11435 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11436 variables.
11437 * conf/x86_64-efi.rmk: Likewise.
11438
11439 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 Rename efi_fb to efi_uga.
11442
11443 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11444 'efi_uga.mod'.
11445 (efi_fb_mod_SOURCES): Rename this ...
11446 (efi_uga_mod_SOURCES): ... to this.
11447 (efi_fb_mod_CFLAGS): Rename this ...
11448 (efi_uga_mod_CFLAGS): ... to this.
11449 (efi_fb_mod_LDFLAGS): Rename this ...
11450 (efi_uga_mod_LDFLAGS): ... to this.
11451 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11452 'efi_uga.mod'.
11453 (efi_fb_mod_SOURCES): Rename this ...
11454 (efi_uga_mod_SOURCES): ... to this.
11455 (efi_fb_mod_CFLAGS): Rename this ...
11456 (efi_uga_mod_CFLAGS): ... to this.
11457 (efi_fb_mod_LDFLAGS): Rename this ...
11458 (efi_uga_mod_LDFLAGS): ... to this.
11459 * video/efi_fb.c: Move this ...
11460 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11461
11462 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11463
11464 * po/README: New file. Explain our PO file workflow.
11465
11466 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11467
11468 * po/ChangeLog: Remove. Move relevant entries back to ...
11469 * ChangeLog: ... here.
11470 * po/ca.po: Remove (now handled by TLP).
11471 * po/id.po: Likewise.
11472 * po/zh_CN.po: Likewise.
11473 * Makefile.in (LINGUAS): Initialize in a way that supports
11474 empty set.
11475
11476 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11477
11478 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11479 reliing on po/LINGUAS.
11480 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11481 (po/%.po): ... this.
11482
11483 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
11484
11485 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11486 (main): Use `program_name' instead of nonexistent `progname'.
11487
11488 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
11489
11490 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11491 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11492
11493 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11494
11495 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11496 commit.
11497 * conf/i386-efi.rmk: Likewise.
11498 * conf/i386-ieee1275.rmk: Likewise.
11499 * conf/powerpc-ieee1275.rmk: Likewise.
11500 * conf/sparc64-ieee1275.rmk: Likewise.
11501 * conf/x86_64-efi.rmk: Likewise.
11502
11503 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
11504
11505 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11506
11507 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
11508
11509 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11510
11511 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11512
11513 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11514 (grub_mkdevicemap_SOURCES): New variable.
11515 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11516 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11517 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11518 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11519 (grub_mkdevicemap_SOURCES): Remove.
11520 * conf/i386-efi.rmk: Likewise.
11521 * conf/i386-ieee1275.rmk: Likewise.
11522 * conf/i386-pc.rmk: Likewise.
11523 * conf/powerpc-ieee1275.rmk: Likewise.
11524 * conf/sparc64-ieee1275.rmk: Likewise.
11525 * conf/x86_64-efi.rmk: Likewise.
11526 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11527 (usage): Fix strings to use `program_name'.
11528 (main): Initialize gettext.
11529 * util/grub-editenv.c: Likewise.
11530 * util/grub-emu.c: Likewise.
11531 * util/grub-fstest.c: Likewise.
11532 * util/grub-mkdevicemap.c: Likewise.
11533 * util/grub-mkfont.c: Likewise.
11534 * util/grub-mkrelpath.c: Likewise.
11535 * util/grub-pe2elf.c: Likewise.
11536 * util/grub-probe.c: Likewise.
11537 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11538 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11539 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11540
11541 * util/misc.c: Include `"progname.h"'.
11542 (progname): Remove variable.
11543 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11544
11545 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
11546
11547 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11548 printf and print a newline after the menuentry header line.
11549 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11550
11551 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
11552
11553 autoconf >= 2.60 support $(localedir).
11554
11555 * INSTALL: Note that autoconf 2.60 is required.
11556 * configure.ac (AC_PREREQ): Bump to 2.60.
11557 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11558 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11559
11560 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11561
11562 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11563 aclocal is run.
11564
11565 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11566
11567 * normal/main.c (grub_normal_read_line): Fix off-by-one
11568 buffer overflow.
11569
11570 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11571
11572 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11573 "parser.grub" in grub_command_execute() call.
11574
11575 2009-11-24 Carles Pina i Estany <carles@pina.cat>
11576
11577 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11578 * conf/i386-efi.rmk: Likewise.
11579 * conf/i386-ieee1275.rmk: Likewise.
11580 * conf/i386-pc.rmk: Likewise.
11581 * conf/powerpc-ieee1275.rmk: Likewise.
11582 * conf/sparc64-ieee1275.rmk: Likewise.
11583 * conf/x86_64-efi.rmk: Likewise.
11584 * gettext/gettex.c: Include <grub/i18n.h>.
11585 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11586 here ...
11587 * include/grub/i18n.h: ... to here
11588 * include/grub/i18n.h: ... to here.
11589 * kern/misc.c: Include <grub/i18n.h>
11590 (grub_gettext_dummy): Move above user.
11591
11592 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11593
11594 * util/Makefile.in (install-local): Convert a `for' into a normal
11595 shell expansion.
11596
11597 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11598
11599 * autogen.sh: Add automake call.
11600 * config.guess: Remove.
11601 * config.sub: Likewise.
11602 * install-sh: Likewise.
11603
11604 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11605
11606 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11607
11608 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11609
11610 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11611 function to a normal shell `for'.
11612
11613 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11614
11615 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11616
11617 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11618
11619 * util/grub-mkrelpath.c: New file.
11620 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11621 (grub_mkrelpath_SOURCES): New variable.
11622 * include/grub/util/misc.h: New function prototype.
11623 * util/misc.c (make_system_path_relative_to_its_root): New function.
11624
11625 * util/grub-mkconfig_lib.in (bindir): New variable.
11626 (grub_mkrelpath): Likewise.
11627 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11628
11629 * util/probe.c (probe): Make the file path relative to its root.
11630 Change a info message to use the GRUB path. Enable again the
11631 check if we can read the file with GRUB facilities.
11632
11633 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11634 to its root.
11635
11636 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11637
11638 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11639 platform.
11640
11641 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11642
11643 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11644 strncmp().
11645
11646 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
11647
11648 * util/getroot.c (grub_util_is_dmraid): New function.
11649 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11650 devices as normal ones, not as LVM.
11651
11652 2009-11-23 Carles Pina i Estany <carles@pina.cat>
11653
11654 * conf/common.rmk: Add grub-gettext_lib target and updates
11655 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11656 LDFLAGS.
11657 * gettext/gettext.c: New file. (Reads mo files).
11658 * include/grub/file.h (grub_file_pread): New prototype.
11659 * include/grub/i18n.h (_): New prototype.
11660 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11661 prototypes.
11662 * kern/misc.c (grub_gettext_dummy): New function.
11663 * normal/menu_text.c: Include <grub/i18n.h>.
11664 * normal/menu_text.c (print_timeout): Gettexttize string.
11665 * normal/menu_text.c (print_message): Gettexttize string.
11666 * po/POTFILES: Add `normal/menu_text.c'.
11667 * po/ca.po: Add new translations.
11668 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11669 gettext module and defines locale_dir and lang in grub.cfg.
11670 * NEWS: Add gettext support.
11671
11672 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11673
11674 * util/hostdisk.c: Include `<grub/i18n.h>'.
11675 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11676 (make_device_name): Rewrite using asprintf.
11677 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11678 (find_system_device): If a device is not found, generate one just
11679 by reusing the OS path name.
11680 (read_device_map): Make it permissible for device.map not to exist.
11681
11682 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11683
11684 * script/sh/execute.c: Move from here ...
11685 * script/execute.c: ... to here. Update all users.
11686 * script/sh/function.c: Move from here ...
11687 * script/function.c: ... to here. Update all users.
11688 * script/sh/lexer.c: Move from here ...
11689 * script/lexer.c: ... to here. Update all users.
11690 * script/sh/main.c: Move from here ...
11691 * script/main.c: ... to here. Update all users.
11692 * script/sh/parser.y: Move from here ...
11693 * script/parser.y: ... to here. Update all users.
11694 * script/sh/script.c: Move from here ...
11695 * script/script.c: ... to here. Update all users.
11696
11697 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11698
11699 * configure.ac: Detect all `emu' platforms. Define
11700 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11701 --enable-grub-emu logic. Disable include/grub/machine
11702 symlink on `emu' platforms.
11703
11704 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11705 * gensymlist.sh.in: Likewise.
11706
11707 * include/grub/i386/coreboot/machine.h: Remove file.
11708 * include/grub/i386/efi/machine.h: Likewise.
11709 * include/grub/i386/ieee1275/machine.h: Likewise.
11710 * include/grub/i386/pc/machine.h: Likewise.
11711 * include/grub/i386/qemu/machine.h: Likewise.
11712 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11713 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11714 * include/grub/x86_64/efi/machine.h: Likewise.
11715
11716 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11717 * commands/halt.c: Likewise.
11718 * commands/reboot.c: Likewise.
11719 * include/grub/autoefi.h: Likewise.
11720 * include/grub/i386/at_keyboard.h: Likewise.
11721 * include/grub/i386/kernel.h: Likewise.
11722 * include/grub/i386/loader.h: Likewise.
11723 * include/grub/i386/pc/memory.h: Likewise.
11724 * kern/dl.c: Likewise.
11725 * kern/i386/coreboot/init.c: Likewise.
11726 * loader/i386/bsd.c: Likewise.
11727 * loader/i386/linux.c: Likewise.
11728 * loader/multiboot_loader.c: Likewise.
11729 * term/i386/pc/serial.c: Likewise.
11730 * term/usb_keyboard.c: Likewise.
11731
11732 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11733 `<grub/machine/machine.h>'
11734 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11735 * util/misc.c: Remove `<grub/machine/machine.h>' and
11736 `<grub/machine/time.h>'.
11737
11738 * Makefile.in (enable_grub_emu): Remove variable.
11739 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11740
11741 * conf/any-emu.rmk: New file.
11742 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11743 (grub_emu_init.c): Move from here ...
11744 * conf/any-emu.rmk: ... to here.
11745
11746 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11747 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11748 * conf/any-emu.rmk: ... to here.
11749
11750 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11751
11752 * include/grub/parser.h (grub_parser_register): Document need
11753 of `name' parameter.
11754 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11755 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11756 "sh" to "grub".
11757
11758 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11759
11760 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11761 `$(XGETTEXT)'.
11762 * include/grub/i18n.h (N_): New macro.
11763 * util/mkisofs/mkisofs.h: Likewise.
11764 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11765 around N_().
11766 (usage): Use gettext() to translate help strings when printing them.
11767
11768 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11769
11770 Based on patch from Bean
11771 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11772
11773 * video/efi_fb.c: New file.
11774 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11775 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11776 variables.
11777 * conf/x86_64-efi.rmk: Likewise.
11778
11779 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11780
11781 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11782 * util/i386/pc/grub-setup.c: Likewise.
11783
11784 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11785
11786 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
11787 <hurd/fs.h>
11788 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
11789 file_get_storage_info to implement grub_guess_root_device.
11790
11791 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
11792
11793 * Makefile.in (target): Use make's builtin $(shell) function
11794 instead of calling directly $(SHELL) to create the locale directories,
11795 inside the $(foreach) function.
11796
11797 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
11798
11799 * util/grub-mkrescue.in: Print an error and usage if output option
11800 has not been given.
11801
11802 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
11803
11804 Patch from Loïc Minier <loic.minier@ubuntu.com>.
11805 * util/grub.d/30_os-prober.in: Cope with Linux entries where
11806 root and /boot are on different devices.
11807
11808 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11809
11810 Fix build for srcdir != objdir.
11811
11812 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
11813 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
11814 $(srcdir).
11815 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
11816 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
11817 reference for input.
11818
11819 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11820
11821 * util/grub-mkrescue.in: Use source directory direcly (without copiing
11822 or hardlinking it). Remove -J option, Joliet is not compatible with
11823 multiple source directories.
11824
11825 2009-11-21 Carles Pina i Estany <carles@pina.cat>
11826 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11827
11828 * util/grub-mkrescue.in: Recognize `--override-directory' option.
11829 (process_input_dir): New function. Process an arbitrary input
11830 directory.
11831 Misc adjustments to support both "override mode" and system-wide mode.
11832
11833 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
11834
11835 * configure.ac (UNIFONT_BDF): Rename to ...
11836 (FONT_SOURCE): ... this. Update all users.
11837
11838 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
11839
11840 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
11841 to the list of unifont files to look for.
11842
11843 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11844
11845 Patch from Joe Auricchio <jauricchio@gmail.com>
11846 * commands/minicmd.c (grub_mini_cmd_clear): New function.
11847 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
11848 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
11849
11850 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
11851
11852 * Makefile.in (install-local): Add a missing backslash.
11853
11854 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
11855
11856 * include/grub/x86_64/io.h: New file.
11857
11858 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11859
11860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
11861 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
11862 Include `"progname.h"'.
11863 (main): Initialize gettext.
11864 * util/i386/pc/grub-setup.c: Gettexttize.
11865 * util/i386/pc/grub-mkimage.c: Likewise.
11866
11867 * Makefile.in (po/*.po): Redefine as ...
11868 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
11869
11870 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
11871
11872 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11873
11874 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
11875 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
11876 (program_name): Remove.
11877 (main): Initialize gettext support.
11878 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
11879 Include `<libintl.h>'.
11880 (_): New macro.
11881
11882 * util/mkisofs/eltorito.c: Gettexttize.
11883 * util/mkisofs/joliet.c: Likewise.
11884 * util/mkisofs/mkisofs.c: Likewise.
11885 * util/mkisofs/multi.c: Likewise.
11886 * util/mkisofs/rock.c: Likewise.
11887 * util/mkisofs/tree.c: Likewise.
11888 * util/mkisofs/write.c: Likewise.
11889
11890 * po/POTFILES: Update with new files.
11891
11892 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11893
11894 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
11895 * util/mkisofs/iso9660.h: Likewise.
11896 * util/mkisofs/joliet.c: Likewise.
11897 * util/mkisofs/mkisofs.c: Likewise.
11898 * util/mkisofs/mkisofs.h: Likewise.
11899 * util/mkisofs/rock.c: Likewise.
11900 * util/mkisofs/tree.c: Likewise.
11901 * util/mkisofs/write.c: Likewise.
11902
11903 * util/mkisofs/eltorito.c (rcsid): Remove.
11904 * util/mkisofs/hash.c: Likewise.
11905 * util/mkisofs/joliet.c: Likewise.
11906 * util/mkisofs/name.c: Likewise.
11907 * util/mkisofs/rock.c: Likewise.
11908 * util/mkisofs/tree.c: Likewise.
11909 * util/mkisofs/write.c: Likewise.
11910
11911 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11912
11913 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
11914 instead of static allocation.
11915 * util/mkisofs/match.h: Likewise.
11916
11917 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11918
11919 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
11920 and `util/grub.d/10_linux.in'.
11921 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
11922 translatable Shell files.
11923
11924 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11925
11926 * Makefile.in ($(srcdir)/aclocal.m4): New target.
11927
11928 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11929
11930 * INSTALL: Document Automake is needed for bootstrap.
11931 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
11932 * util/grub.d/10_kfreebsd.in (bindir): New variable.
11933 Add gettext initialization.
11934 (kfreebsd_entry): Make menuentry output translatable.
11935
11936 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11937
11938 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
11939 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
11940 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
11941 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
11942 (LINGUAS): Auto-generate using `po/LINGUAS'.
11943 * po/LINGUAS: New file.
11944
11945 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11946
11947 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
11948 other things).
11949 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
11950 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
11951 bindtextdomain() calls for gettext initialization.
11952
11953 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11954
11955 * gnulib/progname.c: New file (imported from Gnulib).
11956 * gnulib/progname.h: Likewise.
11957 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11958 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
11959 (usage): Replace `progname' with `program_name'.
11960 (main): Use set_program_name() for program name initialization.
11961
11962 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11963
11964 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
11965 from here ...
11966 * Makefile.in (CPPFLAGS): ... to here.
11967
11968 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11969
11970 * aclocal.m4: Move from here ...
11971 * acinclude.m4: ... to here.
11972 * autogen.sh: Add call to `aclocal'.
11973 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
11974
11975 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11976
11977 * Makefile.in (CLEANFILES): Add `po/*.mo'.
11978 (LINGUAS): New variable.
11979 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
11980 (install-local): Install MO files.
11981 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
11982 * include/grub/i18n.h: New file.
11983 * po/POTFILES: New file.
11984 * po/ca.po: New file.
11985 * util/grub.d/10_linux.in (bindir): New variable.
11986 Add gettext initialization.
11987 (linux_entry): Make menuentry output translatable.
11988 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
11989 (usage): Make --help output translatable.
11990 (main): Initialize gettext.
11991
11992 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11993
11994 * import_gcry.py: New file (written by Vladimir with minor
11995 adjustments).
11996 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
11997 ciphers.
11998 * INSTALL: Document that Python is required for bootstrap.
11999
12000 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12001
12002 Import ciphers from libgcrypt 1.4.4.
12003
12004 * lib/libgcrypt/cipher/ChangeLog
12005 * lib/libgcrypt/cipher/ac.c
12006 * lib/libgcrypt/cipher/arcfour.c
12007 * lib/libgcrypt/cipher/bithelp.h
12008 * lib/libgcrypt/cipher/blowfish.c
12009 * lib/libgcrypt/cipher/camellia-glue.c
12010 * lib/libgcrypt/cipher/camellia.c
12011 * lib/libgcrypt/cipher/camellia.h
12012 * lib/libgcrypt/cipher/cast5.c
12013 * lib/libgcrypt/cipher/cipher.c
12014 * lib/libgcrypt/cipher/crc.c
12015 * lib/libgcrypt/cipher/des.c
12016 * lib/libgcrypt/cipher/dsa.c
12017 * lib/libgcrypt/cipher/ecc.c
12018 * lib/libgcrypt/cipher/elgamal.c
12019 * lib/libgcrypt/cipher/hash-common.c
12020 * lib/libgcrypt/cipher/hash-common.h
12021 * lib/libgcrypt/cipher/hmac-tests.c
12022 * lib/libgcrypt/cipher/md.c
12023 * lib/libgcrypt/cipher/md4.c
12024 * lib/libgcrypt/cipher/md5.c
12025 * lib/libgcrypt/cipher/primegen.c
12026 * lib/libgcrypt/cipher/pubkey.c
12027 * lib/libgcrypt/cipher/rfc2268.c
12028 * lib/libgcrypt/cipher/rijndael-tables.h
12029 * lib/libgcrypt/cipher/rijndael.c
12030 * lib/libgcrypt/cipher/rmd.h
12031 * lib/libgcrypt/cipher/rmd160.c
12032 * lib/libgcrypt/cipher/rsa.c
12033 * lib/libgcrypt/cipher/seed.c
12034 * lib/libgcrypt/cipher/serpent.c
12035 * lib/libgcrypt/cipher/sha1.c
12036 * lib/libgcrypt/cipher/sha256.c
12037 * lib/libgcrypt/cipher/sha512.c
12038 * lib/libgcrypt/cipher/tiger.c
12039 * lib/libgcrypt/cipher/twofish.c
12040 * lib/libgcrypt/cipher/whirlpool.c
12041
12042 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12043
12044 Fix build for systems without error().
12045
12046 * gnulib/error.c: New file (imported from Gnulib).
12047 * gnulib/error.h: Likewise.
12048 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12049 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12050 (this variable is now used by error()).
12051
12052 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
12053
12054 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12055 instead of relying that char is signed.
12056
12057 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12060 blocksize different from specified.
12061 (grub_pxefs_read): Likewise.
12062
12063 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
12064
12065 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12066
12067 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12068 (grub_ata_readwrite): Likewise. Update 2 format strings.
12069 (grub_atapi_read): Likewise.
12070
12071 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12072 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12073 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12074 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12075 (ata_mod_LDFLAGS): Move from here ...
12076 * conf/i386.rmk: ... to here ...
12077 * conf/x86_64-efi.rmk: ... and here.
12078 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12079 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12080
12081 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12082
12083 Relicense multiboot.h, with RMS' blessing.
12084
12085 * include/multiboot.h: Change to X11 license.
12086
12087 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12088
12089 Support --version in grub-mkisofs.
12090
12091 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12092 (OPTION_VERSION): New macro.
12093 (ld_options): Recognize --version.
12094 (usage): Move `program_name' from here ...
12095 (program_name): ... to here. Add `static' qualifier.
12096 (main): Recognize `OPTION_VERSION'.
12097
12098 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
12099
12100 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12101 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12102
12103 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12104
12105 Fix help2man generation for mkisofs.
12106
12107 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12108 (usage): Send output to stdout (rather than stderr).
12109
12110 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12111
12112 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12113 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12114 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12115 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12116 (bin_SCRIPTS): Add `grub-mkfloppy'.
12117 (grub_mkfloppy_SOURCES): New variable.
12118
12119 * util/grub-mkrescue.in: New file.
12120 * util/i386/pc/grub-mkfloppy.in: New file.
12121
12122 * util/i386/coreboot/grub-mkrescue.in: Remove.
12123 * util/i386/pc/grub-mkrescue.in: Remove.
12124
12125 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12126
12127 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12128 from here ...
12129 * include/multiboot.h (struct multiboot_header): ... to here. Update
12130 all users.
12131 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12132 from here ...
12133 * include/multiboot.h (struct multiboot_info): ... to here. Update
12134 all users.
12135 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12136 from here ...
12137 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12138 Update all users.
12139 * include/grub/multiboot.h (struct grub_mod_list): Move
12140 from here ...
12141 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12142 Update all users.
12143
12144 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12145
12146 * include/multiboot2.h (multiboot_word): Rename from this ...
12147 (multiboot2_word): ... to this. Update all users.
12148 (multiboot_header): Rename from this ...
12149 (multiboot2_header): ... to this. Update all users.
12150 (multiboot_tag_header): Rename from this ...
12151 (multiboot2_tag_header): ... to this. Update all users.
12152 (multiboot_tag_start): Rename from this ...
12153 (multiboot2_tag_start): ... to this. Update all users.
12154 (multiboot_tag_name): Rename from this ...
12155 (multiboot2_tag_name): ... to this. Update all users.
12156 (multiboot_tag_module): Rename from this ...
12157 (multiboot2_tag_module): ... to this. Update all users.
12158 (multiboot_tag_memory): Rename from this ...
12159 (multiboot2_tag_memory): ... to this. Update all users.
12160 (multiboot_tag_unused): Rename from this ...
12161 (multiboot2_tag_unused): ... to this. Update all users.
12162 (multiboot_tag_end): Rename from this ...
12163 (multiboot2_tag_end): ... to this. Update all users.
12164
12165 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12166
12167 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12168 this platform we should support Multiboot1 first.
12169
12170 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12171 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12172 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12173
12174 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12175
12176 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12177 of write calls (converting them to fwrite() if they aren't already).
12178 (get_torito_desc): Likewise.
12179 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12180
12181 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12182
12183 * util/i386/pc/grub-install.in: Move from here ...
12184 * util/grub-install.in: ... to here. Update all users.
12185
12186 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
12187
12188 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12189
12190 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12191
12192 Support for El Torito without floppy emulation.
12193
12194 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12195 (init_boot_catalog): Improve error handling.
12196 (get_torito_desc): Don't use floppy emulation unless requested by
12197 user. Patch boot information table when requested via
12198 `-boot-info-table'.
12199 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12200 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12201 (use_boot_info_table): New variables.
12202 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12203 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12204 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12205 `--eltorito-emul-floppy'.
12206 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12207 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12208 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12209 (use_boot_info_table, get_731): New prototypes.
12210 * util/mkisofs/write.c (get_731): New function.
12211
12212 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
12213
12214 Fix the generation of the man page.
12215
12216 * util/pc/i386/grub-install.in: Source
12217 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12218
12219 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12220
12221 Large file support for grub-mkisofs.
12222
12223 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12224 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12225 (session_start): Upgrade type to `uint64_t'. Update all users.
12226 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12227 (struct directory_entry): Upgrade type of `starting_block' and
12228 `size' to `uint64_t'. Update all users.
12229 (struct deferred): Remove unused structure.
12230 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12231 Update all users.
12232 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12233 file is larger than `UINT32_MAX'.
12234 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12235 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12236 return value.
12237 (struct deferred_write): Upgrade type of `extent' and `size' to
12238 `uint64_t'. Update all users.
12239 (last_extent_written): Upgrade type to `uint64_t'. Update all
12240 users.
12241 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12242 Update all users. Upgrade type of `remain' to `int64_t' and
12243 `use' to `size_t'. Use error() to handle fread() errors.
12244 (write_files): Rely on write_one_file() rather than calling
12245 xfwrite() directly.
12246
12247 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
12248
12249 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12250
12251 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12252
12253 * util/mkisofs/fnmatch.c: Remove.
12254 * util/mkisofs/getopt1.c: Likewise.
12255 * util/mkisofs/getopt.c: Likewise.
12256 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12257 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12258 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12259 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12260 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12261
12262 * configure.ac: Detect `mingw32msvc' host_os.
12263 Check for lstat(), getuid() and getgid().
12264
12265 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12266 instances of `u_char' with `uint8_t'.
12267
12268 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12269 [!HAVE_GETUID] (getuid): New function (stub).
12270 [!HAVE_GETGID] (getgid): Likewise.
12271 [!HAVE_LSTAT] (lstat): Likewise.
12272 [!S_IROTH] (S_IROTH): New macro (dummy).
12273 [!S_IRGRP] (S_IRGRP): Likewise.
12274
12275 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12276
12277 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12278 conditional expression).
12279
12280 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12281
12282 Import from Gnulib.
12283
12284 * gnulib/fnmatch.c: New file.
12285 * gnulib/fnmatch.h: Likewise.
12286 * gnulib/fnmatch_loop.c: Likewise.
12287 * gnulib/getopt.c: Likewise.
12288 * gnulib/getopt.h: Likewise.
12289 * gnulib/getopt1.c: Likewise.
12290 * gnulib/getopt_int.h: Likewise.
12291 * gnulib/gettext.h: Likewise.
12292
12293 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12294
12295 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12296 * normal/handler.c (read_handler_list): Likewise.
12297
12298 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12299
12300 Misc cleanup.
12301
12302 * kern/command.c (grub_register_command_prio): Use
12303 grub_zalloc() instead of explicitly zeroing data.
12304 * kern/list.c: Include `<grub/mm.h>'.
12305 (grub_named_list_find): Replace `0' with `NULL'.
12306 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12307 (fs_module_list): Change type to `grub_named_list_t'. Update all
12308 users.
12309 * normal/dyncmd.c (read_command_list): Add space between function
12310 call and parenthesis.
12311 * normal/handler.c (read_handler_list): Likewise.
12312
12313 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12314
12315 * normal/auth.c (punishment_delay): Moved from here ...
12316 (grub_auth_strcmp): ... to here (inside function).
12317
12318 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12319
12320 * include/grub/list.h (struct grub_named_list): Remove `const'
12321 qualifier from `name'.
12322 (struct grub_prio_list): Likewise.
12323
12324 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12325
12326 * normal/auth.c: Include `<grub/time.h>'.
12327 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12328
12329 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12330
12331 * normal/auth.c (punishment_delay): New variable.
12332 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12333 (grub_auth_check_authentication): Punish failed login attempts with
12334 an incremental (2^N) delay.
12335
12336 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12337
12338 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12339 path with $(srcdir).
12340
12341 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12344
12345 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12346
12347 * util/i386/coreboot/grub-mkrescue.in: New file.
12348 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12349 variables.
12350
12351 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12352 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12353 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12354 requirements.
12355 * util/mkisofs/defaults.h: New file.
12356 * util/mkisofs/eltorito.c: Likewise.
12357 * util/mkisofs/exclude.h: Likewise.
12358 * util/mkisofs/fnmatch.c: Likewise.
12359 * util/mkisofs/getopt.c: Likewise.
12360 * util/mkisofs/getopt1.c: Likewise.
12361 * util/mkisofs/hash.c: Likewise.
12362 * util/mkisofs/include/fctldefs.h: Likewise.
12363 * util/mkisofs/include/mconfig.h: Likewise.
12364 * util/mkisofs/include/prototyp.h: Likewise.
12365 * util/mkisofs/include/statdefs.h: Likewise.
12366 * util/mkisofs/iso9660.h: Likewise.
12367 * util/mkisofs/joliet.c: Likewise.
12368 * util/mkisofs/match.c: Likewise.
12369 * util/mkisofs/match.h: Likewise.
12370 * util/mkisofs/mkisofs.c: Likewise.
12371 * util/mkisofs/mkisofs.h: Likewise.
12372 * util/mkisofs/multi.c: Likewise.
12373 * util/mkisofs/name.c: Likewise.
12374 * util/mkisofs/rock.c: Likewise.
12375 * util/mkisofs/tree.c: Likewise.
12376 * util/mkisofs/write.c: Likewise.
12377
12378 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12381 being insecure.
12382
12383 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12384
12385 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12386 `grub-mkimage' (and use $0 when possible).
12387
12388 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12389
12390 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12391 error message for excessively large memory map.
12392
12393 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12394
12395 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12396 executable bit.
12397
12398 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12399
12400 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12401 message for coreboot users.
12402
12403 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12404
12405 Fix build with GNU gold.
12406
12407 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12408 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12409 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12410 link addresses.
12411 * aclocal.m4: Likewise.
12412
12413 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
12414
12415 * configure.ac (AC_PREREQ): Bump to 2.59d.
12416 * INSTALL: Make it more clear when Autoconf and Ruby are
12417 needed and when to run `./autogen.sh'.
12418
12419 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12420
12421 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12422 OSes.
12423
12424 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12425
12426 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12427
12428 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12429
12430 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12431 giving it to GNU Mach.
12432
12433 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12434
12435 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12436 GNU partition number to get internal GRUB partition number.
12437
12438 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12439
12440 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12441 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12442
12443 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12444
12445 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12446 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12447 case.
12448
12449 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
12450
12451 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12452
12453 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12454
12455 Fix build problem.
12456
12457 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12458 `-isystem=$(srcdir)/include'.
12459
12460 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12461
12462 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12463 checked (grub-install doesn't currently rely on it).
12464
12465 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12466
12467 Revert SVN r2660.
12468
12469 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12470 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12471 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12472 * conf/i386-ieee1275.rmk: Likewise.
12473 * conf/i386-pc.rmk: Likewise.
12474 * conf/powerpc-ieee1275.rmk: Likewise.
12475 * conf/sparc64-ieee1275.rmk: Likewise.
12476 * conf/x86_64-efi.rmk: Likewise.
12477
12478 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12479
12480 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12481
12482 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12483
12484 * include/grub/misc.h: Stop checking for APPLE_CC.
12485
12486 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12487
12488 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12489 doesn't cause an infinite call loop.
12490
12491 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
12492
12493 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12494 strings.
12495
12496 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12497
12498 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12499 variable.
12500 * Makefile.in: Likewise.
12501
12502 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12503
12504 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12505
12506 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12507
12508 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12509
12510 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12511
12512 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12513
12514 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12515
12516 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12517 from here ...
12518 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12519
12520 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12521
12522 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12523 in $(MAKEINFO) invocation. This makes it clear in output that
12524 errors are being ignored.
12525
12526 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12527
12528 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12529 from here ...
12530 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12531 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12532 * conf/i386-ieee1275.rmk: Likewise.
12533 * conf/i386-pc.rmk: Likewise.
12534 * conf/powerpc-ieee1275.rmk: Likewise.
12535 * conf/sparc64-ieee1275.rmk: Likewise.
12536 * conf/x86_64-efi.rmk: Likewise.
12537
12538 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
12539
12540 * util/grub-editenv.c (main): If only a command is given, use
12541 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12542 (usage): FILENAME is now optional and has a default.
12543
12544 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
12545
12546 Improve grub-mkconfig performance when there are several menu
12547 entries on a single filesystem.
12548
12549 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12550 prepare_grub_to_access_device.
12551 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12552 * util/grub.d/30_os-prober.in: Likewise.
12553
12554 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12555
12556 * util/grub.d/10_freebsd.in: Remove.
12557 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12558 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12559
12560 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12561
12562 * docs/grub.cfg: Fix example usage of *BSD loaders.
12563
12564 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12565
12566 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12567 grub_util_error() call.
12568
12569 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12570
12571 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12572 `reserved_first_sector' member.
12573 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12574 `reserved_first_sector' to 1.
12575 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12576 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12577 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12578 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12579 filesystems which begin at first sector.
12580 (options): New option --skip-fs-probe.
12581 (main): Handle --skip-fs-probe and pass it to setup().
12582
12583 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12584
12585 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12586 (memset): Fix function prototype.
12587
12588 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12589 2009-10-25 Vasily Averin <vvs@parallels.com>
12590
12591 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12592 `dirent.direntlen == 0'.
12593
12594 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12595
12596 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12597 `cpio'.
12598 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12599
12600 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12601
12602 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12603 `__trampoline_setup' and `__ucmpdi2'.
12604 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12605 that libgcc provides.
12606
12607 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12608
12609 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12610 * include/grub/sparc64/libgcc.h (memset): Likewise.
12611 * include/grub/misc.h (memset, memcmp): New function prototypes.
12612
12613 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12614
12615 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12616 `cpio'.
12617 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12618
12619 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12620
12621 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12622 * docs/grub.cfg: Compensate for recent change in multiboot
12623 loader (since 2009-08-14 it won't pass filename to payload).
12624 * util/grub.d/10_hurd.in: Likewise.
12625
12626 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
12627
12628 * config.guess: Update to latest version from config git
12629 repository.
12630 * config.sub: Likewise.
12631
12632 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12633
12634 Fix build on sparc64.
12635
12636 * configure.ac: Perform checks for libgcc symbols before
12637 adding `-nostdlib' to LDFLAGS.
12638
12639 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 Let user specify OpenBSD root device.
12642
12643 * loader/i386/bsd.c (openbsd_root): New variable.
12644 (openbsd_opts): New option 'root'.
12645 (OPENBSD_ROOT_ARG): New macro.
12646 (grub_openbsd_boot): Use 'openbsd_root'.
12647 (grub_cmd_openbsd): Fill 'openbsd_root'.
12648
12649 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12650
12651 * NEWS: Misc adjustments.
12652
12653 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12656
12657 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12658
12659 * configure.ac: Bump version to 1.97.
12660
12661 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
12662
12663 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12664 -mno-3dnow on x86 architectures. Some toolchains enable these
12665 features by default, but they rely on registers that aren't enabled
12666 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12667
12668 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12669
12670 Make entry text a bit more readable.
12671
12672 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12673
12674 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12677
12678 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12681 operations.
12682
12683 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * configure.ac: Add missing dollar.
12686
12687 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12690
12691 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12692 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12693 exports.
12694 * include/grub/sparc64/libgcc.h: Likewise. Use
12695 preprocessor conditionals.
12696
12697 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12698
12699 * conf/common.rmk (grub-dumpbios): Remove rule.
12700 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12701 * util/grub-dumpbios.in: Remove file.
12702
12703 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12704
12705 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12706 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12707
12708 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12709 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12710 users.
12711
12712 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12713 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12714 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12715 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12716 users.
12717
12718 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12719
12720 * term/tparm.c: Switch to GPLv3.
12721
12722 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12723
12724 * include/grub/i386/cpuid.h: Add header protection.
12725
12726 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12727
12728 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12729
12730 * include/grub/i386/cpuid.h: New file.
12731 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12732 (has_longmode): Rename to ...
12733 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12734 `static' attribute.
12735 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12736 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12737 on a CPU that doesn't implement AMD64 instruction set.
12738
12739 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
12740
12741 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12742 that version.texi is rebuilt on version number changes.
12743
12744 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
12745
12746 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12747 Fixes bug #27602.
12748
12749 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
12750
12751 * util/i386/pc/grub-install.in: Source
12752 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12753 that the --grub-probe option will work.
12754 * util/sparc64/ieee1275/grub-install.in: Likewise.
12755
12756 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12757
12758 * configure.ac: Bump version to 1.97~beta4.
12759
12760 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12761
12762 Resync grub-mkdevicemap in x86_64-efi.
12763
12764 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12765 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12766 `util/devicemap.c'.
12767
12768 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
12769
12770 * util/grub-editenv.c (create_envblk_file): Write new block with a
12771 .new suffix and then rename it into place, to ensure atomic
12772 creation.
12773
12774 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12775
12776 Do not automatically install headers.
12777
12778 * Makefile.in (include_DATA): Remove. Update all users.
12779
12780 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12781
12782 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12783 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12784
12785 * util/osdetect.lua: Remove.
12786 * script/lua/lauxlib.c: Likewise.
12787 * script/lua/ldebug.c: Likewise.
12788 * script/lua/grub_main.c: Likewise.
12789 * script/lua/lauxlib.h: Likewise.
12790 * script/lua/ldebug.h: Likewise.
12791 * script/lua/ltablib.c: Likewise.
12792 * script/lua/liolib.c: Likewise.
12793 * script/lua/lstrlib.c: Likewise.
12794 * script/lua/lualib.h: Likewise.
12795 * script/lua/ldo.c: Likewise.
12796 * script/lua/ldump.c: Likewise.
12797 * script/lua/ldo.h: Likewise.
12798 * script/lua/loslib.c: Likewise.
12799 * script/lua/lundump.c: Likewise.
12800 * script/lua/grub_lib.c: Likewise.
12801 * script/lua/ldblib.c: Likewise.
12802 * script/lua/lundump.h: Likewise.
12803 * script/lua/lmem.c: Likewise.
12804 * script/lua/grub_lib.h: Likewise.
12805 * script/lua/lmathlib.c: Likewise.
12806 * script/lua/lstate.c: Likewise.
12807 * script/lua/ltm.c: Likewise.
12808 * script/lua/lvm.c: Likewise.
12809 * script/lua/lmem.h: Likewise.
12810 * script/lua/lstate.h: Likewise.
12811 * script/lua/ltm.h: Likewise.
12812 * script/lua/ltable.c: Likewise.
12813 * script/lua/lvm.h: Likewise.
12814 * script/lua/llex.c: Likewise.
12815 * script/lua/lgc.c: Likewise.
12816 * script/lua/grub_lua.h: Likewise.
12817 * script/lua/loadlib.c: Likewise.
12818 * script/lua/lfunc.c: Likewise.
12819 * script/lua/lopcodes.c: Likewise.
12820 * script/lua/lparser.c: Likewise.
12821 * script/lua/ltable.h: Likewise.
12822 * script/lua/llex.h: Likewise.
12823 * script/lua/lgc.h: Likewise.
12824 * script/lua/lfunc.h: Likewise.
12825 * script/lua/lbaselib.c: Likewise.
12826 * script/lua/lopcodes.h: Likewise.
12827 * script/lua/lparser.h: Likewise.
12828 * script/lua/lzio.c: Likewise.
12829 * script/lua/linit.c: Likewise.
12830 * script/lua/lobject.c: Likewise.
12831 * script/lua/llimits.h: Likewise.
12832 * script/lua/lstring.c: Likewise.
12833 * script/lua/lzio.h: Likewise.
12834 * script/lua/lapi.c: Likewise.
12835 * script/lua/lcode.c: Likewise.
12836 * script/lua/lua.h: Likewise.
12837 * script/lua/lobject.h: Likewise.
12838 * script/lua/lstring.h: Likewise.
12839 * script/lua/lapi.h: Likewise.
12840 * script/lua/lcode.h: Likewise.
12841 * script/lua/luaconf.h: Likewise.
12842
12843 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
12844
12845 * docs/grub.texi (Command-line and menu entry commands): Document
12846 date and echo commands.
12847
12848 2009-09-24 Pavel Roskin <proski@gnu.org>
12849
12850 * include/grub/kernel.h (struct grub_module_header): Remove
12851 `grub_module_header_types'. Make `type' unsigned. Make `size'
12852 32-bit on all platforms.
12853 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
12854 8-bit field. Use grub_host_to_target32() for `size'.
12855 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
12856 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
12857 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
12858
12859 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12860
12861 Fix "lost keypress" bug in at_keyboard.
12862
12863 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
12864 Checks for readyness of input buffer (without flushing it).
12865 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
12866 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
12867
12868 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12869
12870 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
12871 size check within GRUB_MACHINE_PCBIOS section.
12872
12873 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12874
12875 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
12876 return value.
12877 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
12878 KEYBOARD_ISREADY check.
12879 (grub_at_keyboard_checkkey): Rename to ...
12880 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
12881 Remove gratuitous cast.
12882
12883 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
12884
12885 * configure.ac: Call AC_PROG_MKDIR_P.
12886 * Makefile.in (docs/stamp-vti): Create docs directory. Create
12887 version.texi in $(builddir) rather than $(srcdir).
12888 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
12889 to makeinfo's @include search path.
12890
12891 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
12892
12893 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
12894
12895 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
12896
12897 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
12898 for `*.dpkg-new'.
12899
12900 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
12901
12902 Build info documentation. Some code borrowed from Automake.
12903
12904 * configure.ac: Check for makeinfo.
12905 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
12906 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
12907 docs/version.texi.
12908 (MOSTLYCLEANFILES): Add vti.tmp.
12909 (docs/version.texi, docs/stamp-vti): Update automatically.
12910 (docs/grub.info): Build info documentation. Use --force and ignore
12911 errors for now.
12912 (all-local): Add $(INFOS).
12913 (install-local): Install info files.
12914 (uninstall): Uninstall info files.
12915 * docs/version.texi: Remove from revision control. This file is
12916 automatically generated on build now.
12917 * gendistlist.sh: Add `*.info'.
12918
12919 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
12920
12921 * kern/term.c: Fix indentation.
12922
12923 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
12924
12925 * util/hostdisk.c: Fix a comment.
12926
12927 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
12928
12929 Fix regression introduced in r2539.
12930
12931 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
12932 to 0xA1.
12933
12934 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
12935
12936 * util/grub.d/30_os-prober.in: Don't throw away stderr from
12937 os-prober. Under normal operation, it does not print anything to
12938 stderr; if it does, we need to debug it, and throwing away stderr
12939 makes that excessively difficult.
12940
12941 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
12944
12945 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12946
12947 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
12948 AC_LANG_PROGRAM from autoconf.
12949 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
12950 prototypes (fixes warning).
12951
12952 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
12953 `--disable-werror' was used.
12954
12955 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12956
12957 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
12958 uninitialized `lastaddr'.
12959
12960 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
12963
12964 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
12965
12966 * commands/test.c (get_fileinfo): Return immediately if
12967 grub_fs_probe fails.
12968
12969 2009-09-14 José Martínez <xosemp@gmail.com>
12970
12971 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
12972
12973 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
12974
12975 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
12976 output.
12977
12978 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
12979
12980 * configure.ac: Remove --enable-grub-pe2elf. Only build
12981 grub-pe2elf when needed by the build system itself.
12982 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
12983
12984 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12985
12986 * configure.ac: Bump version to 1.97~beta3.
12987 * docs/version.texi: Likewise.
12988
12989 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12990
12991 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
12992 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
12993 from here ...
12994 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
12995 (grub_linux_setup_video): ... to here (with some adjustments).
12996
12997 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12998
12999 Fix memory corruption issue (spotted by Colin Watson).
13000
13001 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13002 causing returned size to be stored in an incorrect memory location.
13003 Fix use of uninitialized value when storing the returned size.
13004
13005 2009-09-12 Yves Blusseau <blusseau@zetam.org>
13006
13007 Change clean rules to properly remove files
13008
13009 * genmk.rb: add new clean rules
13010 * Makefile.in (clean): add the new targets
13011 (mostlyclean): likewise
13012
13013 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
13014
13015 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13016 to grub_uint64_t.
13017 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13018 non-resident files.
13019
13020 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
13021
13022 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13023 part of bug #27349.
13024
13025 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
13026
13027 * util/grub-mkconfig.in: Make the created config mode 400 and
13028 print a warning if it fails.
13029
13030 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13031
13032 * util/grub.d/40_custom.in: Ask user to type custom entries below
13033 comment, rather than below 'exec tail' line.
13034
13035 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
13036
13037 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13038 visible in grub.cfg.
13039
13040 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
13041
13042 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13043 file.
13044
13045 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
13046
13047 * docs/grub.cfg: Add an example menu entry for memtest86+.
13048
13049 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
13050
13051 * config.guess: Update to latest version from config git.
13052 * config.sub: Likewise.
13053
13054 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
13055
13056 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13057 unknown-command case. Fixes bug #27320.
13058
13059 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
13060
13061 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13062 `help' if the command exists.
13063
13064 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13065
13066 * INSTALL: Require GCC 4.1.3 or later.
13067
13068 2009-09-06 Yves Blusseau <blusseau@zetam.org>
13069
13070 * Makefile.in (RMKFILES): add i386-qemu.rmk
13071 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13072 $(srcdir)/stamp-h.in
13073
13074 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13075
13076 * util/grub-probe.c (probe): Comment out buggy codepath, which
13077 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13078 should be re-enabled after 1.97.
13079
13080 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
13081
13082 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13083 find searches for.
13084
13085 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13088 unnecessary calls to grub_error.
13089
13090 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
13091
13092 * NEWS: Mention `keystatus' and Unicode fonts.
13093
13094 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13095
13096 * configure.ac: Bump version to 1.97~beta2.
13097 * docs/version.texi: Likewise.
13098
13099 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
13100
13101 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13102 containing unwind information in some cases where it previously did
13103 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13104 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13105 discussion.
13106
13107 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13108
13109 Embedding loadenv module into grub-emu
13110
13111 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13112 commands/loadenv.c
13113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13114 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13115 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13117 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13119
13120 2009-09-03 Magnus Granberg <zorry@ume.nu>
13121
13122 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13123 include -fPIE in the default specs.
13124 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13125 to TARGET_CFLAGS.
13126
13127 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
13128
13129 * INSTALL: Note that GNU Bison 2.3 or later is required.
13130
13131 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
13132
13133 * kern/i386/pc/startup.S: Fix typo.
13134
13135 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13138 according to GCS.
13139
13140 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
13141
13142 * docs/grub.texi (Naming convention): Describe one-based partition
13143 numbering.
13144 (Device syntax): Likewise.
13145 (File name syntax): Likewise.
13146 (Block list syntax): Likewise.
13147 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13148 menu.lst.
13149 (File name syntax): Likewise.
13150 (Command-line and menu entry commands): Document acpi, blocklist,
13151 crc, export, insmod, keystatus, ls, set, and unset commands.
13152
13153 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
13154
13155 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13156 to avoid implying that only one of --shift, --ctrl, or --alt may be
13157 used.
13158
13159 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
13160
13161 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13162 rather than comparing against S_IFREG, which will almost never work.
13163
13164 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13167 (write_blocklists): Likewise.
13168
13169 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
13170
13171 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13172 argument to grub_printf.
13173
13174 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
13175
13176 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
13177 non GNU test.
13178
13179 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * kern/file.c (grub_file_read): Spelling fix
13182
13183 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13186 loading of headers in some cases.
13187
13188 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13189
13190 * configure.ac: Bump version to 1.97~beta1.
13191 * docs/version.texi: Likewise.
13192
13193 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * include/grub/i386/xnu.h: Add license header.
13196 include grub/err.h explicitly.
13197
13198 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13199
13200 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13201 to `ufs' in the vfs.root.mountfrom kernel parameter.
13202
13203 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13204
13205 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13206
13207 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13208 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13209
13210 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13211 `ARRAY_SIZE' macro.
13212
13213 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * kern/file.c (grub_file_read): Check offset.
13216 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13217 * fs/jfs.c (grub_jfs_read_file): Likewise.
13218 * fs/ntfs.c (grub_ntfs_read): Likewise.
13219 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13220 * fs/minix.c (grub_minix_read_file): Correct offset check.
13221 * fs/ufs.c (grub_ufs_read_file): Likewise.
13222
13223 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
13224
13225 * term/i386/pc/console.c (bios_data_area): Cast
13226 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13227
13228 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 1-bit optimised blitters.
13231
13232 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13233 prototype.
13234 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13235 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13236 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13237 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13238 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13239 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13240 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13241 function.
13242 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13243 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13244 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13245 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13246 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13247 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13248 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13249 when possible.
13250 * video/video.c (grub_video_get_blit_format): Return
13251 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13252
13253 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
13254
13255 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13256 the first argument to grub_printf.
13257
13258 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
13259 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13260
13261 Add `getkeystatus' terminal method. Add a new `keystatus' command
13262 to query it.
13263
13264 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13265 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13266 modifier key bitmasks.
13267 (struct grub_term_input): Add `getkeystatus' member.
13268 (grub_getkeystatus): Add prototype.
13269 * kern/term.c (grub_getkeystatus): New function.
13270
13271 * include/grub/i386/pc/memory.h
13272 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13273 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13274 Data Area layout.
13275 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13276 (grub_console_term_input): Set `getkeystatus' member.
13277 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13278 constants.
13279 (grub_usb_keyboard_getreport): Likewise.
13280 (grub_usb_keyboard_checkkey): Likewise.
13281 (grub_usb_keyboard_getkeystatus): New function.
13282 (grub_usb_keyboard_term): Set `getkeystatus' member.
13283
13284 * commands/keystatus.c: New file.
13285 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13286 (keystatus_mod_SOURCES): New variable.
13287 (keystatus_mod_CFLAGS): Likewise.
13288 (keystatus_mod_LDFLAGS): Likewise.
13289 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13290 commands/keystatus.c.
13291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13292 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13293 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13296 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13297
13298 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 Split befs.mod and afs.mod into *_be.mod and *.mod
13301
13302 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13303 (grub_fstest_SOURCES): Likewise.
13304 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13305 (afs_be_mod_SOURCES): New variable.
13306 (afs_be_mod_CFLAGS): Likewise.
13307 (afs_be_mod_LDFLAGS): Likewise.
13308 (befs_be_mod_SOURCES): Likewise.
13309 (befs_be_mod_CFLAGS): Likewise.
13310 (befs_be_mod_LDFLAGS): Likewise.
13311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13312 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13313 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13314 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13315 (grub_emu_SOURCES): Likewise.
13316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13317 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13318 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13319 * fs/afs_be.c: New file.
13320 * fs/befs_be.c: New file.
13321 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13322 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13323 (U16): Replaced with ...
13324 (grub_afs_to_cpu16): ...this. All users updated.
13325 (U32): Replaced with ...
13326 (grub_afs_to_cpu32): ...this. All users updated.
13327 (U64): Replaced with ...
13328 (grub_afs_to_cpu64): ...this. All users updated.
13329 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13330 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
13331 (grub_afs_validate_sblock): Check only one endianness.
13332 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13333 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13334 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13335 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13336 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13337 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13338 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13339 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13340
13341 2009-08-26 Bean <bean123ch@gmail.com>
13342
13343 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13344 64-bit number.
13345 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13346 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13347 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13348
13349 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 NetBSD memory map support.
13352
13353 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13354 (grub_netbsd_btinfo_mmap_header): New structure.
13355 (grub_netbsd_btinfo_mmap_entry): Likewise.
13356 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13357
13358 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 Enable bsd.mod on coreboot.
13361
13362 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13363 (bsd_mod_SOURCES): New variable.
13364 (bsd_mod_CFLAGS): Likewise.
13365 (bsd_mod_LDFLAGS): Likewise.
13366 (bsd_mod_ASFLAGS): Likewise.
13367 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13368 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13369
13370 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 Cleanup NetBSD root support.
13373
13374 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13375 grub_bsd_get_device.
13376 Fix typo.
13377
13378 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
13379
13380 * util/grub.d/00_header.in: Move check for the video backend of
13381 gfxterm from here ...
13382 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13383 a suitable video backend.
13384
13385 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 Fix breakage in grub-setup.
13388
13389 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13390 "msdos_partition_map".
13391
13392 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 Fix breakage in normal/auth.c.
13395
13396 * normal/auth.c (grub_iswordseparator): New function.
13397
13398 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13399
13400 Authentication support.
13401
13402 * commands/password.c: New file.
13403 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13404 (password_mod_SOURCES): New variable.
13405 (password_mod_CFLAGS): Likewise.
13406 (password_mod_LDFLAGS): Likewise.
13407 (normal_mod_SOURCES): Add normal/auth.c.
13408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13409 normal/auth.c.
13410 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13412 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13415 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13416 * include/grub/auth.h: New file.
13417 * include/grub/err.h (grub_err_t): New enum value
13418 GRUB_ERR_ACCESS_DENIED.
13419 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13420 'users'.
13421 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13422 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13423 users updated.
13424 * normal/auth.c: New file.
13425 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13426 (grub_cmdline_run): Don't allow to go to command line without
13427 authentication.
13428 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13429 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13430 menuentry without superuser rights.
13431 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13432 user isn't a superuser.
13433
13434 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 Save space by inlining misc.c functions.
13437
13438 * kern/misc.c (grub_iswordseparator): Made static.
13439 * kern/misc.c (grub_strcat): Moved from here ...
13440 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13441 * kern/misc.c (grub_strncat): Moved from here ...
13442 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13443 * kern/misc.c (grub_strcasecmp): Moved from here ...
13444 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13445 * kern/misc.c (grub_strncasecmp): Moved from here ...
13446 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13447 * kern/misc.c (grub_isalpha): Moved from here ...
13448 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13449 * kern/misc.c (grub_isdigit): Moved from here ...
13450 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13451 * kern/misc.c (grub_isgraph): Moved from here ...
13452 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13453 * kern/misc.c (grub_tolower): Moved from here ...
13454 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13455
13456 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * script/sh/function.c (grub_script_function_find): Cut error message
13459 not to flood terminal.
13460 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13461 limit.
13462 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13463
13464 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
13465
13466 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13467 `report' grub_uint8_t *.
13468 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13469 Use a 50-millisecond timeout rather than just repeating
13470 grub_usb_keyboard_getreport 50 times.
13471 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13472
13473 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 Rename *_partition_map to part_*
13476
13477 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13478 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13479 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13480 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13481 All users updated.
13482 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13483 All users updated.
13484 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13485 * util/grub-probe.c (probe_partmap): Don't transform partition name
13486 to get module name.
13487
13488 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 Fix OpenBSD and NetBSD support.
13491
13492 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13493 memory address conflict.
13494 (OPENBSD_MMAP_ACPI): New definition.
13495 (OPENBSD_MMAP_NVS): Likewise.
13496 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13497 and OPENBSD_MMAP_NVS.
13498 Add memory map terminator
13499 Explicit cast when calling grub_unix_real_boot.
13500 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
13501
13502 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 Let user specify NetBSD root device.
13505
13506 * loader/i386/bsd.c (netbsd_root): New variable.
13507 (netbsd_opts): New option 'root'.
13508 (NETBSD_ROOT_ARG): New macro.
13509 (grub_netbsd_boot): Use 'netbsd_root'.
13510 (grub_bsd_unload): Free 'netbsd_root'.
13511 (grub_cmd_netbsd): Fill 'netbsd_root'.
13512
13513 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 Support for 64-bit NetBSD.
13516
13517 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13518 point when booting non-FreeBSD.
13519
13520 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 Support --no-smp and --no-acpi for NetBSD.
13523
13524 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13525 (NETBSD_AB_NOACPI): Likewise.
13526 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13527 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13528
13529 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13532 errors.
13533 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13534 errors. Call grub_error when needed.
13535
13536 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * commands/search.c (search_fs): Try searching without autoload first.
13539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13540 filesystem module explicitly for faster booting.
13541
13542 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
13543
13544 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13545
13546 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
13547
13548 * util/grub.d/30_os-prober.in: Disable os-prober if
13549 `GRUB_DISABLE_OS_PROBER' was set to true.
13550
13551 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13552
13553 * partmap/pc.c: Rename to ...
13554 * partmap/msdos.c: ... this. Update all users.
13555 (grub_pc_partition_map): Rename to ...
13556 (grub_msdos_partition_map): ... this. Update all users.
13557
13558 * parttool/pcpart.c: Rename to ...
13559 * parttool/msdospart.c: ... this. Update all users.
13560
13561 * include/grub/pc_partition.h: Rename to ...
13562 * include/grub/msdos_partition.h: ... this. Update all users.
13563 (grub_pc_partition_bsd_entry): Rename to ...
13564 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13565 (grub_pc_partition_disk_label): Rename to ...
13566 (grub_msdos_partition_disk_label): ... this. Update all users.
13567 (grub_pc_partition_entry): Rename to ...
13568 (grub_msdos_partition_entry): ... this. Update all users.
13569 (grub_pc_partition_mbr): Rename to ...
13570 (grub_msdos_partition_mbr): ... this. Update all users.
13571 (grub_pc_partition): Rename to ...
13572 (grub_msdos_partition): ... this. Update all users.
13573 (grub_pc_partition_is_empty): Rename to ...
13574 (grub_msdos_partition_is_empty): ... this. Update all users.
13575 (grub_pc_partition_is_extended): Rename to ...
13576 (grub_msdos_partition_is_extended): ... this. Update all users.
13577 (grub_pc_partition_is_bsd): Rename to ...
13578 (grub_msdos_partition_is_bsd): ... this. Update all users.
13579
13580 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13581 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13582 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13583 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13584 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13585 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13586 (gpt_mod_LDFLAGS): Rename to ...
13587 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13588 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13589 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13590 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13591 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13592 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13593 (part_gpt_mod_LDFLAGS): ... this.
13594 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13595 `pcpart.mod' to `msdospart.mod'.
13596 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13597 to ...
13598 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13599 (msdospart_mod_LDFLAGS): ... this.
13600
13601 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13604 (openbsd_opts): Likewise.
13605 (netbsd_opts): Likewise.
13606 (freebsd_flags): Added 0 terminator.
13607 (openbsd_flags): Likewise.
13608 (netbsd_flags): Likewise.
13609 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13610 (grub_cmd_freebsd): Transformed into extended command.
13611 (grub_cmd_openbsd): Likewise.
13612 (grub_cmd_netbsd): Likewise.
13613 (cmd_freebsd): Changed type to grub_extcmd_t.
13614 (cmd_openbsd): Likewise.
13615 (cmd_netbsd): Likewise.
13616 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13617 grub_cmd_openbsd as extended commands.
13618 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13619 cmd_netbsd and cmd_openbsd
13620
13621 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13624
13625 2009-08-21 Pavel Roskin <proski@gnu.org>
13626
13627 * Makefile.in (install-local): When checking if a file is in the
13628 build directory, use "test -e" to detect symlinks.
13629
13630 * Makefile.in (install-local): Remove all files in
13631 $(DESTDIR)$(pkglibdir) before installing new files there.
13632
13633 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
13634
13635 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13636 grub-mkelfimage.
13637
13638 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
13639
13640 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13641 explicitly specified by the user.
13642
13643 2009-08-18 Pavel Roskin <proski@gnu.org>
13644
13645 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13646 grub_uint8_t pointer for data.
13647 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13648 Likewise.
13649 * video/fb/fbutil.c: Remove unnecessary casts.
13650
13651 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
13652
13653 VBE cleanup.
13654
13655 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13656 (grub_vbe_set_video_mode): Save active mode info
13657 only after setting the mode.
13658 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13659 second argument.
13660
13661 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
13662
13663 Rename variables for clarity.
13664
13665 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13666 (active_vbe_mode_info): ... this. All users updated.
13667 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13668 All users updated.
13669 (initial_mode): Rename to ...
13670 (initial_vbe_mode): ... this. All users updated.
13671 (mode_in_use): Rename to ..
13672 (vbe_mode_in_use): ... this. All users updated.
13673 (mode_list): Rename to ..
13674 (vbe_mode_list): ... this. All users updated.
13675 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13676 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13677 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13678 'mode_list_size' to 'vbe_mode_list_size'.
13679 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13680 'best_mode_info' to 'best_vbe_mode_info' and
13681 'best_mode' to 'best_vbe_mode'
13682
13683 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
13684
13685 Remove duplicate grub_video_fb_get_video_ptr.
13686
13687 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13688 (grub_video_fb_get_video_ptr): ... this.
13689 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13690 * video/fb/fbutil.c: Add comment about addressing.
13691 (get_data_ptr): Rename to ...
13692 (grub_video_fb_get_video_ptr): ... this. All users updated.
13693 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13694
13695 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13696
13697 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13698 grub_dprintf() that was just added.
13699
13700 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13701
13702 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13703 (DEFAULT_VIDEO_MODE): Remove macros.
13704 (grub_linux_boot): Remove assumption that Linux has FB support,
13705 and use "text" as default video mode.
13706
13707 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13710 grub_dprintf.
13711 * fs/fat.c (grub_fat_read_data): Likewise.
13712
13713 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13716 payload.
13717 (grub_module): Likewise.
13718
13719 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13720
13721 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13722 mbi->cmdline but free playground.
13723
13724 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 Handle group offset on UFS1.
13727
13728 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13729 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13730
13731 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 Split ufs.mod into ufs1.mod and ufs2.mod.
13734
13735 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13736 (grub_fstest_SOURCES): Likewise.
13737 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13738 (ufs_mod_SOURCES): Remove.
13739 (ufs_mod_CFLAGS): Likewise.
13740 (ufs_mod_LDFLAGS): Likewise.
13741 (ufs1_mod_SOURCES): New variable.
13742 (ufs1_mod_CFLAGS): Likewise.
13743 (ufs1_mod_LDFLAGS): Likewise.
13744 (ufs2_mod_SOURCES): New variable.
13745 (ufs2_mod_CFLAGS): Likewise.
13746 (ufs2_mod_LDFLAGS): Likewise.
13747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13748 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13749 Likewise.
13750 (grub_emu_SOURCES): Likewise.
13751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13752 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13753 (grub_setup_SOURCES): Likewise.
13754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13755 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13756 (grub_setup_SOURCES): Likewise.
13757 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13758 Likewise.
13759 * fs/ufs2.c: New file.
13760 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13761
13762 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 Framebuffer split.
13765
13766 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13767 subsystem at the end.
13768 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13769 (video_fb_mod_SOURCES): New variable.
13770 (video_fb_mod_CFLAGS): Likewise.
13771 (video_fb_mod_LDFLAGS): Likewise.
13772 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13773 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13774 * video/i386/pc/vbeblit.c: Moved from here ...
13775 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13776 * video/i386/pc/vbefill.c: Moved from here ...
13777 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13778 * video/i386/pc/vbeutil.c: Moved from here ...
13779 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13780 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13781 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13782 * include/grub/i386/pc/vbefill.h: Moved from here ...
13783 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13784 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13785 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13786 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
13787 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
13788 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
13789 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
13790 (grub_video_adapter): Added 'get_info_and_fini'.
13791 (grub_video_get_info_and_fini): New prototype.
13792 (grub_video_set_mode): make modestring const char *.
13793 * loader/i386/linux.c (grub_linux_setup_video): Use
13794 grub_video_get_info_and_fini.
13795 (grub_linux_boot): Move modesetting just before booting.
13796 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
13797 grub_video_get_info_and_fini.
13798 * video/i386/pc/vbe.c: Moved framebuffer part ...
13799 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
13800 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
13801 grub_video_fbstd_colors and grub_video_fb_set_palette.
13802 (grub_video_vbe_init): Clear 'framebuffer' variable and use
13803 grub_video_fb_init.
13804 (grub_video_vbe_fini): Use grub_video_fb_fini.
13805 (grub_video_vbe_setup): Use framebuffer.render_target instead of
13806 render_target and use grub_video_fb_set_active_render_target and
13807 grub_video_fb_set_palette.
13808 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
13809 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
13810 (grub_video_vbe_adapter): Use framebuffer.
13811 * video/video.c (grub_video_get_info_and_fini): New function.
13812 (grub_video_set_mode): Make modestring const char *.
13813 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
13814 values are already initialised.
13815
13816 2009-08-14 Pavel Roskin <proski@gnu.org>
13817
13818 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
13819 ABS and APPLE_CC.
13820 * boot/i386/pc/diskboot.S: Likewise.
13821 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
13822 sectors allow compilation on MacOSX.
13823 * conf/i386-pc.rmk: Enable unconditional compilation of
13824 lnxboot.img.
13825
13826 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
13827
13828 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
13829 * util/grub.d/00_header.in: Enter interruptible sleep if
13830 GRUB_HIDDEN_TIMEOUT is set.
13831
13832 2009-08-13 Yves Blusseau <blusseau@zetam.org>
13833
13834 * include/grub/symbol.h: Add the LOCAL macro.
13835 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
13836 starting with "L_".
13837
13838 2009-08-13 Pavel Roskin <proski@gnu.org>
13839
13840 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
13841 any modern compilers we support.
13842
13843 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
13844 Use local labels starting with "L_" so that Apple assembler
13845 knows they are local.
13846
13847 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
13848
13849 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
13850 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
13851 (bsd_kernel_types): ... this enum.
13852
13853 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
13854 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
13855 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
13856
13857 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
13858 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
13859 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
13860 messages.
13861
13862 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13863
13864 * util/grub-dumpdevtree: Moved from here ...
13865 * util/i386/efi/grub-dumpdevtree: ... to here.
13866 (hexify): New function. Converts a string to its hex version.
13867 Generate hex versions of "efi" and "device-properties" by calling
13868 hexify() on the ASCII strings rather than by hardcoding numbers.
13869
13870 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13871
13872 * fs/jfs.c: Update copyright year.
13873
13874 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
13875
13876 * util/grub.d/00_header.in: Fix a comment.
13877 * util/grub.d/10_linux.in: Likewise.
13878 * util/grub.d/10_windows.in: Likewise.
13879 * util/grub.d/10_hurd.in: Likewise.
13880
13881 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
13882
13883 * util/grub-mkconfig.in: Allow the user to specify the used font
13884 with GRUB_FONT.
13885
13886 2009-08-08 Pavel Roskin <proski@gnu.org>
13887
13888 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
13889 available, xfs.mod needs it now.
13890
13891 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
13892 the "g" modifier in sed when the intention is to strip something
13893 once. This fixes comparison of kernels with multiple dashes.
13894
13895 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
13896 on it. Add missing space before closing bracket. Fix
13897 misleading formatting.
13898
13899 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13900
13901 * docs/grub.texi: Major overhaul. Remove all sections that are
13902 specific to GRUB Legacy, or mostly composed of Legacy-specific
13903 information.
13904
13905 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13906
13907 * docs/version.texi: New file. Provides version information for
13908 grub.texi.
13909
13910 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13911
13912 * docs/grub.texi: Update CVS information to SVN.
13913 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
13914
13915 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
13916
13917 * util/grub-mkconfig.in: Remove a wrong `fi'.
13918
13919 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
13920
13921 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
13922 (grub_jfs_uuid): New function.
13923 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
13924
13925 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
13926
13927 * util/grub-mkconfig_lib.in (font_path): Move the functionality
13928 of it to ...
13929 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
13930 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
13931
13932 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13933
13934 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
13935 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
13936 Update all users.
13937
13938 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
13939 not just "vmlinu[zx]".
13940 Moved from here ...
13941 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
13942 all users.
13943
13944 * util/grub.d/10_linux.in (find_latest): Moved from here ...
13945 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
13946 all users.
13947
13948 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13949
13950 * util/grub.d/10_freebsd.in: Use an absolute device path for
13951 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
13952
13953 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
13954
13955 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
13956 handling of multiple abstraction modules.
13957
13958 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
13959
13960 Fix a bug resulting in black screen when loading Linux using a
13961 packed video mode.
13962
13963 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
13964 function.
13965
13966 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
13967 (grub_vbe_bios_getset_dac_palette_width): New function.
13968 (grub_vbe_bios_get_dac_palette_width)
13969 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
13970 grub_vbe_bios_getset_dac_palette_width()).
13971
13972 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
13973 check for return status.
13974 (grub_vbe_get_video_mode_info): When getting information for a packed
13975 mode (<= 8 bpp), obtain DAC palette width using
13976 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
13977 {red,green,blue}_mark_size.
13978
13979 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
13980
13981 * commands/search.c (options): Fix help output to match actual code.
13982
13983 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
13986 of homegrown code.
13987
13988 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
13991 on XFS or ReiserFS.
13992
13993 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 Support Apple partition map with sector size different from 512 bytes.
13996
13997 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
13998 (apple_partition_map_iterate): Respect 'aheader.blocksize'
13999 and 'apart.partmap_size'.
14000
14001 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14002 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14003
14004 Fix cpuid command.
14005
14006 * commands/i386/cpuid.c (options): New variable.
14007 (grub_cmd_cpuid): Return real error.
14008 (GRUB_MOD_INIT(cpuid)): Declare options.
14009
14010 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14013 valid.
14014
14015 2009-07-31 Bean <bean123ch@gmail.com>
14016
14017 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14018 log2_inode.
14019 (grub_fshelp_node): Move inode field to the end.
14020 (grub_xfs_data): Remove inode field.
14021 (grub_xfs_inode_block): Calculate inode size using sblock.
14022 (grub_xfs_inode_offset): Likewise.
14023 (grub_xfs_read_inode): Calculate inode size using sblock.
14024 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14025 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14026 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14027 to match inode size.
14028 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14029 not accessible when data is null.
14030 (grub_xfs_open): Likewise.
14031
14032 2009-07-31 Bean <bean123ch@gmail.com>
14033
14034 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14035 Don't change pv->disk if it's already set.
14036
14037 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14038 (grub_raid_register): ... here.
14039 (grub_raid_rescan): Removed.
14040
14041 * include/grub/raid.h (grub_raid_rescan): Removed.
14042
14043 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14044 (fstest): Replace grub_raid_rescan with module fini function followed
14045 by init function.
14046
14047 * util/grub-probe.c: Add include file <grub/raid.h>.
14048 (probe_raid_level): New function.
14049 (probe): Detect abstraction by walking the disk device, support two
14050 level of abstraction (LVM on RAID) when detecting partition map.
14051
14052 2009-07-31 Pavel Roskin <proski@gnu.org>
14053
14054 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14055 to grub_zalloc(), it was erroneous.
14056 Reported by Bean <bean123ch@gmail.com>
14057
14058 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
14061 embedding zone, not only the first one.
14062
14063 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
14064
14065 * term/gfxterm.c (clear_char): New function.
14066 (grub_virtual_screen_setup): Use clear_char.
14067 (scroll_up): Likewise.
14068 (grub_virtual_screen_cls): Likewise.
14069
14070 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
14071
14072 * util/deviceiter.c (get_acceleraid_disk_name): New static
14073 function.
14074 (grub_util_iterate_devices): Handle Accelraid devices.
14075 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14076
14077 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14078
14079 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14080 separator for the suggested gfxpayload string (';' collides with the
14081 parser and needs escaping).
14082
14083 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14086 Clear direction flag before jumping to OS.
14087 (grub_multiboot2_real_boot): Likewise.
14088
14089 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
14090
14091 * util/i386/pc/grub-install: Fix parsing of --disk-module
14092 option.
14093
14094 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
14095
14096 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14097 when embedding.
14098
14099 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
14100
14101 * util/grub-mkconfig.in (package_version): New variable.
14102 Use it do display the version.
14103
14104 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
14105
14106 * kern/file.c (grub_file_open): Revert to previous check with
14107 grub_errno.
14108
14109 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14112 from help line. It's out of sync with code.
14113
14114 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14117 entries on failed boot.
14118
14119 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
14120
14121 * kern/file.c (grub_file_open): Fix an error check.
14122
14123 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14126 partition map couldn't be identified.
14127
14128 2009-07-23 Pavel Roskin <proski@gnu.org>
14129
14130 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14131 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14132 case of little endian words becomes just an optimization.
14133 Respect const modifier.
14134 (md5_final): Use code that doesn't depend on endianness.
14135
14136 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14137 to avoid loss of upper bits if align is unsigned and shorter
14138 than addr.
14139
14140 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 UUID support for UFS
14143
14144 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14145 (grub_ufs_uuid): New function.
14146 (grub_ufs_fs): add .uuid
14147
14148 2009-07-21 Pavel Roskin <proski@gnu.org>
14149
14150 * kern/dl.c (grub_dl_check_header): Make static.
14151
14152 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
14153
14154 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14155 add drivemap for Vista. It breaks Windows 7.
14156
14157 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14160 128 bytes
14161
14162 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 Add BFS support
14165
14166 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14167 (grub_fstest_SOURCES): Likewise.
14168 (pkglib_MODULES): Add befs.mod.
14169 (befs_mod_SOURCES): New variable.
14170 (befs_mod_CFLAGS): Likewise.
14171 (befs_mod_LDFLAGS): Likewise.
14172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14173 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14175 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14176 (grub_setup_SOURCES): Likewise.
14177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14179 (grub_setup_SOURCES): Likewise.
14180 * fs/befs.c: New file.
14181 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14182 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14183 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14184 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14185 (B_KEY_INDEX_ALIGN): New declaration.
14186 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14187 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14188 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14189 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14190 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14191 (grub_afs_mount) [MODE_BFS]: Likewise.
14192 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14193 (grub_afs_fs): Use GRUB_AFS_FSNAME
14194 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14195 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14196 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14197 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14198
14199 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14200
14201 * util/getroot.c (find_root_device): Add support for MacOSX.
14202 * util/hostdisk.c: Likewise.
14203
14204 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * font/font.c (find_glyph): Check whether a font is present to avoid
14207 segmentation fault.
14208
14209 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
14210
14211 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14212
14213 2009-07-20 Pavel Roskin <proski@gnu.org>
14214
14215 * configure.ac: Trim excessively wordy excuses.
14216
14217 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Add symlink, mtime and label support to AtheFS.
14220
14221 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14222 (grub_afs_iterate_dir): Handle symlinks.
14223 (grub_afs_open): Use grub_afs_read_symlink.
14224 (grub_afs_dir): Likewise.
14225 Pass mtime.
14226 (grub_afs_label): New function.
14227 (grub_afs_fs): Add grub_afs_label.
14228 (grub_afs_read_symlink): New function.
14229
14230 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 Fix AtheFS support.
14233
14234 * fs/afs.c: Fix comments style.
14235 (grub_afs_blockrun): Declare as packed.
14236 (grub_afs_datastream): Likewise.
14237 (grub_afs_bnode): Likewise.
14238 (grub_afs_btree): Likewise.
14239 (grub_afs_sblock): Likewise.
14240 Declare `name' as char.
14241 (grub_afs_inode): Declare as packed.
14242 Change void *vnode to grub_uint32_t unused.
14243 (grub_afs_iterate_dir): Check that key_size is positive.
14244 (grub_afs_mount): Don't read superblock twice.
14245 (grub_afs_dir): Don't free node in case of error,
14246 grub_fshelp_find_file already handles this.
14247 (grub_afs_open): Likewise.
14248
14249 2009-07-19 Pavel Roskin <proski@gnu.org>
14250
14251 * Makefile.in: Remove LIBLZO and enable_lzo.
14252 * conf/i386-pc.rmk: Remove lzo support.
14253 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14254 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14255 support.
14256 * kern/i386/pc/lzo1x.S: Remove.
14257 * kern/i386/pc/startup.S: Remove lzo support.
14258 * util/i386/pc/grub-mkimage.c: Likewise.
14259
14260 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14263 * fs/xfs.c (grub_xfs_dir): Likewise.
14264 * fs/afs.c (grub_afs_dir): Likewise.
14265 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14266 (grub_iso9660_open): Likewise.
14267 * fs/jfs.c (grub_jfs_open): Likewise.
14268 * fs/ext2.c (grub_ext2_dir): Likewise.
14269 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14270 * script/sh/lexer.c (grub_script_yylex): Likewise.
14271
14272 2009-07-16 Pavel Roskin <proski@gnu.org>
14273
14274 * configure.ac: Never add "-c" to CFLAGS.
14275
14276 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14277
14278 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14279 grub_cv_cc_efiemu should be used.
14280
14281 * configure.ac: Typo fixes.
14282
14283 * kern/mm.c (grub_zalloc): New function.
14284 (grub_debug_zalloc): Likewise.
14285 * include/grub/mm.h: Declare grub_zalloc() and
14286 grub_debug_zalloc().
14287 * util/misc.c (grub_zalloc): New function.
14288 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14289 instead of grub_malloc(), remove unneeded initializations.
14290 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14291 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14292 * commands/parttool.c (grub_cmd_parttool): Likewise.
14293 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14294 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14295 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14296 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14297 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14298 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14299 (grub_cmd_efiemu_pnvram): Likewise.
14300 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14301 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14302 (grub_iso9660_iterate_dir): Likewise.
14303 * fs/jfs.c (grub_jfs_opendir): Likewise.
14304 * fs/ntfs.c (list_file): Likewise.
14305 (grub_ntfs_mount): Likewise.
14306 * kern/disk.c (grub_disk_open): Likewise.
14307 * kern/dl.c (grub_dl_load_core): Likewise.
14308 * kern/elf.c (grub_elf_file): Likewise.
14309 * kern/env.c (grub_env_context_open): Likewise.
14310 (grub_env_set): Likewise.
14311 (grub_env_set_data_slot): Likewise.
14312 * kern/file.c (grub_file_open): Likewise.
14313 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14314 * loader/i386/multiboot.c (grub_module): Likewise.
14315 * loader/xnu.c (grub_xnu_create_key): Likewise.
14316 (grub_xnu_create_value): Likewise.
14317 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14318 (read_config_file): Likewise.
14319 * normal/menu_entry.c (make_screen): Likewise.
14320 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14321 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14322 * script/sh/script.c (grub_script_parse): Likewise.
14323 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14324 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14325 * video/readers/png.c (grub_png_output_byte): Likewise.
14326 (grub_video_reader_png): Likewise.
14327
14328 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 Enable all targets that can be built by default
14331
14332 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
14333 grub-mkfont and grub-fstest if they can be built
14334
14335 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 Fix hang and segmentation fault in grub-emu-usb
14338
14339 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14340 * util/usb.c (grub_libusb_devices): likewise
14341 (grub_libusb_init): rename to ...
14342 (GRUB_MOD_INIT (libusb)):...this
14343 (grub_libusb_fini): rename to ..
14344 (GRUB_MOD_FINI (libusb)):...this
14345 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14346 * include/grub/disk.h (grub_raid_init): removed, it's useless
14347 (grub_raid_fini): likewise
14348 (grub_lvm_init): likewise
14349 (grub_lvm_fini): likewise
14350 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14351 by grub_init_all
14352
14353 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 Fix libusb
14356
14357 * Makefile.in (LIBUSB): new macro
14358 * genmk.rb (Utility/print_tail): new method
14359 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14360 (top level): call util.print_tail at the end.
14361
14362 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 Make FreeBSD accept zpool.cache
14365
14366 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14367 type is /boot/zfs/zpool.cache
14368
14369 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 Fix 64-bit efiemu
14372
14373 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14374 correct wrong typedef
14375 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14376
14377 2009-07-15 Pavel Roskin <proski@gnu.org>
14378
14379 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14380 * kern/disk.c (struct grub_disk_cache): Likewise.
14381
14382 * commands/probe.c (options): Typo fix.
14383
14384 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14385 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14386 accordingly.
14387 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14388
14389 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14390 the end of "Error" to make the message more readable.
14391
14392 * boot/i386/pc/boot.S (kernel_segment): Remove.
14393 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14394 for destination.
14395
14396 * boot/i386/pc/boot.S (boot_version): Remove.
14397 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14398 Remove.
14399
14400 * include/grub/i386/pc/boot.h: Sort all offsets.
14401 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14402 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14403 * boot/i386/pc/boot.S: Assert location of every offset listed in
14404 include/grub/i386/pc/boot.h.
14405
14406 2009-07-13 Pavel Roskin <proski@gnu.org>
14407
14408 * include/grub/i386/coreboot/machine.h: Rename
14409 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14410 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14411 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14412
14413 * kern/dl.c: Force native word size to suppress warnings when
14414 compiling grub-emu.
14415
14416 * kern/device.c (grub_device_iterate): Change struct part_ent to
14417 hold the name, not a pointer to it. Use one grub_malloc() per
14418 partition, not two. Free partition_name if grub_malloc() fails.
14419 Set ents to NULL only before grub_partition_iterate() is called.
14420
14421 2009-07-11 Bean <bean123ch@gmail.com>
14422
14423 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14424 childname.
14425
14426 2009-07-10 Bean <bean123ch@gmail.com>
14427 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14428
14429 * kern/ieee1275/openfw.c (grub_children_iterate)
14430 (grub_devalias_iterate): Fix size evaluation for property or path
14431 strings, which was broken since r2132.
14432
14433 2009-07-07 Pavel Roskin <proski@gnu.org>
14434
14435 * commands/search.c (search_file): Merge into ...
14436 (search_fs): ... this. Accept search type as argument.
14437 (grub_cmd_search): Pass search type to search_fs().
14438
14439 * include/grub/util/console.h: New file.
14440 * util/console.c: Use it instead of grub/machine/console.h.
14441 * util/grub-emu.c: Likewise.
14442
14443 * lib/arg.c (find_long_option): Remove.
14444 (find_long): Add `len' argument, make `s' const char *.
14445 (grub_arg_parse): Parse long options in place, not in a
14446 temporary buffer.
14447
14448 2009-07-06 Pavel Roskin <proski@gnu.org>
14449
14450 * commands/search.c (search_fs): Fix potential NULL pointer
14451 dereference.
14452
14453 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14454 function pointer.
14455
14456 2009-07-06 Daniel Mierswa <impulze@impulze.org>
14457
14458 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14459 comparison.
14460
14461 2009-07-05 Pavel Roskin <proski@gnu.org>
14462
14463 * include/grub/i386/linux.h (struct linux_kernel_params):
14464 Restore padding3, it's still needed.
14465
14466 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14467 FreeBSD.
14468 * util/osdetect.lua: Likewise.
14469
14470 2009-07-05 Bean <bean123ch@gmail.com>
14471
14472 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14473
14474 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14475 (grub_lua_getenv): Likewise.
14476 (grub_lua_setenv): Likewise.
14477 (save_errno): New function.
14478 (push_result): Likewise.
14479 (grub_lua_enum_device): Likewise.
14480 (grub_lua_enum_file): Likewise.
14481 (grub_lua_file_open): Likewise.
14482 (grub_lua_file_close): Likewise.
14483 (grub_lua_file_seek): Likewise.
14484 (grub_lua_file_read): Likewise.
14485 (grub_lua_file_getline): Likewise.
14486 (grub_lua_file_getsize): Likewise.
14487 (grub_lua_file_getpos): Likewise.
14488 (grub_lua_file_eof): Likewise.
14489 (grub_lua_file_exist): Likewise.
14490 (grub_lua_add_menu): Likewise.
14491
14492 * script/lua/grub_lua.h (isupper): New inline function.
14493 (islower): Likewise.
14494 (ispunct): Likewise.
14495 (isxdigit): Likewise.
14496 (strcspn): Change to normal function.
14497 (strpbkr): New function declaration.
14498 (memchr): Likewise.
14499
14500 * script/lua/grub_main.c (scan_str): New function.
14501 (strcspn): Likewise.
14502 (strpbrk): Likewise.
14503 (memchr): Likewise.
14504
14505 * script/lua/linit.c (lualibs): Enable the string library.
14506
14507 * util/osdetect.lua: New file.
14508
14509 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14510
14511 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14512 `capabilities' member.
14513
14514 2009-07-02 Pavel Roskin <proski@gnu.org>
14515
14516 * genparttoollist.sh: Add missing newline at the end.
14517
14518 2009-07-01 Pavel Roskin <proski@gnu.org>
14519
14520 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14521
14522 * util/hostdisk.c (open_device): Remove `const' from
14523 `sysctl_size', as sysctlbyname() can change it (in this case it
14524 doesn't actually happen).
14525
14526 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14527 using signed long int constants.
14528
14529 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14530 constant to avoid a warning on FreeBSD.
14531
14532 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14533 where it's needed.
14534
14535 * Makefile.in: Install include/grub/machine symlink.
14536
14537 * Makefile.in: When installing symlinks, use "cp -fR", which
14538 works on FreeBSD and MacOSX.
14539 From Yves Blusseau <cl7m42e02@sneakemail.com>
14540
14541 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14542 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14543
14544 * util/misc.c: Move grub_reboot() and grub_halt() ...
14545 * util/grub-emu.c: ... here. Make main_env static.
14546 * include/grub/util/misc.h: Remove main_env.
14547
14548 * kern/mm.c: Use correct format to print size_t.
14549
14550 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14551 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14552 * kern/powerpc/dl.c: Likewise.
14553 * kern/sparc64/dl.c: Likewise.
14554 * kern/x86_64/dl.c: Likewise.
14555
14556 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14557
14558 Fix grub-emu build on sparc64-ieee1275.
14559
14560 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
14561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14562
14563 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14564
14565 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14566 (grub_reboot, grub_halt): New functions.
14567
14568 * util/i386/pc/misc.c: Delete. Update all users.
14569 * util/sparc64/ieee1275/misc.c: Likewise.
14570 * util/powerpc/ieee1275/misc.c: Likewise.
14571
14572 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14573
14574 * conf/i386.rmk (setjmp_mod_SOURCES)
14575 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14576 * conf/common.rmk (setjmp_mod_SOURCES)
14577 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14578 to use $(target_cpu).
14579 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14580 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14581 * conf/powerpc-ieee1275.rmk: Likewise.
14582 * conf/sparc64-ieee1275.rmk: Likewise.
14583
14584 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14585 $(target_cpu) for kern/$(target_cpu)/dl.c.
14586 * conf/i386-efi.rmk: Likewise.
14587 * conf/i386-ieee1275.rmk: Likewise.
14588 * conf/x86_64-efi.rmk: Likewise.
14589 * conf/i386-coreboot.rmk: Likewise.
14590 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14591 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14592 kern/$(target_cpu)/cache.S.
14593 * conf/sparc64-ieee1275.rmk: Likewise.
14594
14595 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14596
14597 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14598 type to `grub_uint8_t', and adjust `padding9' accordingly.
14599
14600 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14601
14602 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14603
14604 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14605 assembly in final jump, using register constraints.
14606
14607 (grub_linux_boot): For text mode, initialize `have_vga' using
14608 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14609
14610 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14611 right before the final jump.
14612
14613 Set `video_mode' to 0x3.
14614
14615 Document initialization of `video_page', `video_mode' and
14616 `video_ega_bx'.
14617
14618 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14619
14620 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14621 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
14622 and set GRUB_LINUX_FLAG_QUIET appropriately.
14623
14624 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14625
14626 Fix build on Debian / sparc.
14627
14628 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14629
14630 2009-06-28 Pavel Roskin <proski@gnu.org>
14631
14632 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14633 fix a warning.
14634
14635 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14636
14637 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14638
14639 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14640 `err'.
14641
14642 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14643
14644 Revert r2338.
14645
14646 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14647 file can't be opened. grub_file_open() is already supposed to set
14648 grub_errno / grub_errmsg appropriately.
14649 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14650
14651 2009-06-27 Pavel Roskin <proski@gnu.org>
14652 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14653
14654 * include/grub/dl.h: Include grub/elf.h.
14655 (struct grub_dl): Add symtab field.
14656 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14657 GRUB_MODULES_MACHINE_READONLY.
14658 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14659 of the header for read-only modules.
14660 (grub_dl_unload): Free mod->symtab for read-only modules.
14661 * kern/i386/dl.c: Use mod->symtab.
14662 * kern/powerpc/dl.c: Likewise.
14663 * kern/sparc64/dl.c: Likewise.
14664 * kern/x86_64/dl.c: Likewise.
14665
14666 * conf/i386-qemu.rmk: New file.
14667 * kern/i386/qemu/startup.S: Likewise.
14668 * kern/i386/qemu/mmap.c: Likewise.
14669 * boot/i386/qemu/boot.S: Likewise.
14670 * include/grub/i386/qemu/time.h: Likewise.
14671 * include/grub/i386/qemu/serial.h: Likewise.
14672 * include/grub/i386/qemu/kernel.h: Likewise.
14673 * include/grub/i386/qemu/console.h: Likewise.
14674 * include/grub/i386/qemu/boot.h: Likewise.
14675 * include/grub/i386/qemu/init.h: Likewise.
14676 * include/grub/i386/qemu/machine.h: Likewise.
14677 * include/grub/i386/qemu/loader.h: Likewise.
14678 * include/grub/i386/qemu/memory.h: Likewise.
14679
14680 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14681 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14682 [qemu] (pkglib_IMAGES): Add `boot.img'.
14683 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14684 [qemu] (boot_img_FORMAT): New variables.
14685 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14686 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14687 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14688 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14689 [qemu] (kernel_img_FORMAT): New variables.
14690
14691 * configure.ac: Recognise `i386-qemu'.
14692
14693 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14694 (for no compression).
14695 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14696 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14697 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14698 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14699 ifdefs).
14700
14701 2009-06-27 Pavel Roskin <proski@gnu.org>
14702
14703 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14704 read.
14705 * efiemu/prepare32.c: Likewise.
14706 * efiemu/prepare64.c: Likewise.
14707
14708 2009-06-26 Pavel Roskin <proski@gnu.org>
14709
14710 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14711 * include/grub/elf.h: Define symbols without "32" or "64" based
14712 on GRUB_TARGET_WORDSIZE.
14713 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14714 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14715 ELF definitions.
14716 * efiemu/loadcore64.c: Likewise.
14717 * loader/i386/bsd32.c: Likewise.
14718 * loader/i386/bsd64.c: Likewise.
14719 * kern/dl.c: Remove own ELF definitions.
14720 * util/i386/efi/grub-mkimage.c: Likewise.
14721
14722 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14723
14724 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14725 segment 0x0 unconditionally, because the reference generated by
14726 GAS is an absolute address.
14727
14728 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14729
14730 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14731 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14732
14733 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14734
14735 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14736 indexes. Check for -f explicitly.
14737 (search_file): Improve error message.
14738 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
14739
14740 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14741
14742 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14743 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14744
14745 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14746
14747 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14748 * conf/i386-ieee1275.rmk: Likewise.
14749 * conf/i386-coreboot.rmk: Likewise.
14750
14751 * kern/i386/pc/startup.S (grub_stop): Remove function.
14752 * kern/i386/ieee1275/startup.S: Likewise.
14753 * kern/i386/coreboot/startup.S: Likewise.
14754 * kern/i386/misc.S (grub_stop): New function.
14755
14756 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14757
14758 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14759 * kern/i386/realmode.S (real_to_prot): ... to here.
14760
14761 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14762
14763 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14764 with `kernel.img'.
14765 (kernel_elf_SOURCES): Rename to ...
14766 (kernel_img_SOURCES): ... this.
14767 (kernel_elf_HEADERS): Rename to ...
14768 (kernel_img_HEADERS): ... this. Update all users.
14769 (kernel_elf_ASFLAGS): Rename to ...
14770 (kernel_img_ASFLAGS): ... this.
14771 (kernel_elf_CFLAGS): Rename to ...
14772 (kernel_img_CFLAGS): ... this.
14773 (kernel_elf_LDFLAGS): Rename to ...
14774 (kernel_img_LDFLAGS): ... this.
14775 * conf/i386-coreboot.rmk: Likewise.
14776 * conf/powerpc-ieee1275.rmk: Likewise.
14777
14778 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14779 with "kernel.img".
14780
14781 2009-06-21 Pavel Roskin <proski@gnu.org>
14782
14783 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14784 to match nested functions.
14785 * loader/sparc64/ieee1275/linux.c: Likewise.
14786
14787 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
14788
14789 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14790
14791 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
14792 all i386 platforms.
14793
14794 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14795
14796 Fix asm file handling on ELF, and remove workarounds.
14797
14798 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
14799 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
14800 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
14801 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
14802
14803 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 Load BSD ELF modules
14806
14807 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
14808 and loader/i386/bsd64.c
14809 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
14810 (FREEBSD_MODTYPE_ELF_MODULE): New definition
14811 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
14812 (grub_freebsd_load_elfmodule32): New declaration
14813 (grub_freebsd_load_elfmoduleobj64): Likewise
14814 (grub_freebsd_load_elf_meta32): Likewise
14815 (grub_freebsd_load_elf_meta64): Likewise
14816 (grub_freebsd_add_meta): Likewise
14817 (grub_freebsd_add_meta_module): Likewise
14818 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
14819 (grub_freebsd_add_meta_module): Likewise and move module-specific
14820 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
14821 (grub_cmd_freebsd): Add elf-kernel specific parts
14822 based on grub_freebsd_add_meta_module
14823 (grub_cmd_freebsd_module): Add type parsing moved from
14824 grub_freebsd_add_meta_module
14825 (grub_cmd_freebsd_module_elf): New function
14826 (cmd_freebsd_module_elf): New variable
14827 (GRUB_MOD_INIT): Register freebsd_module_elf
14828 * loader/i386/bsd32.c: New file
14829 * loader/i386/bsd64.c: Likewise
14830 * loader/i386/bsdXX.c: Likewise
14831 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
14832 (grub_elf64_load): Likewise
14833 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
14834 All users updated
14835 (grub_elf64_load_hook_t): Likewise
14836
14837 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
14838
14839 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
14840 variable.
14841 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
14842 don't write a menu entry for recovery mode.
14843
14844 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14845
14846 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
14847 after it's no longer needed.
14848
14849 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14850
14851 * include/grub/i386/loader.h (grub_linux_prot_size)
14852 (grub_linux_tmp_addr, grub_linux_real_addr)
14853 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
14854 GRUB_MACHINE_PCBIOS.
14855 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
14856 common grub_util_info() call to ...
14857 (generate_image): ... here.
14858 Fix use of uninitialized memory, comparison of signed with
14859 unsigned integers and memory leak.
14860 Remove bogus module address message.
14861
14862 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
14865 grub_raid_register
14866 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
14867
14868 2009-06-19 Pavel Roskin <proski@gnu.org>
14869
14870 * configure.ac: Remove stray AC_MSG_CHECKING.
14871
14872 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 * disk/scsi.c (grub_scsi_open): use continue instead of big if
14875
14876 2009-06-18 Pavel Roskin <proski@gnu.org>
14877
14878 * conf/common.rmk: Add fs_file.mod.
14879 * disk/fs_file.c: New file.
14880 * include/grub/disk.h (enum grub_disk_dev_id): Add
14881 GRUB_DISK_DEVICE_FILE_ID.
14882
14883 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 Fix build with Apple's toolchain. Part 2
14886
14887 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
14888 a fake start
14889
14890 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 Fix build with Apple's toolchain. Part 1
14893
14894 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
14895 for long calls
14896 * configure.ac: remove a leftover AC_MSG_RESULT
14897 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
14898 Apple's toolchain
14899
14900 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 Fix warnings
14903
14904 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
14905 (decomp_block): initialize ch
14906 use grub_memcpy instead of memcpy
14907
14908 2009-06-17 Pavel Roskin <proski@gnu.org>
14909
14910 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
14911 version, use declarations needed to use vga_text as the startup
14912 console.
14913
14914 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
14915 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
14916 the kernel.
14917 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
14918 and grub_at_keyboard_fini(), it's done on module load and
14919 unload.
14920
14921 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
14922
14923 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
14924 file can't be found.
14925 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14926
14927 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 Fix newline handling
14930
14931 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
14932 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
14933 (grub_script_yylex): don't segfault on unterminated script
14934 newline terminates command and variable
14935
14936 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 avoid double grub_adjust_range call. Bug reported by David Simner
14939
14940 * kern/disk.c (grub_disk_write): change to raw disk access before
14941 calling disk_read
14942
14943 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
14944
14945 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
14946 spaces, for the benefit of help2man.
14947 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14948
14949 2009-06-16 Pavel Roskin <proski@gnu.org>
14950
14951 * kern/i386/halt.c: Include grub/machine/init.h.
14952 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
14953
14954 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
14955
14956 * util/grub.d/30_os-prober.in: Use ${root} in the generated
14957 drivemap menuentry.
14958
14959 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
14960
14961 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
14962 `echo' command.
14963
14964 2009-06-16 Pavel Roskin <proski@gnu.org>
14965
14966 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
14967 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
14968 save %dx, we only need %dl and we never change it.
14969 * boot/i386/pc/cdboot.S: Don't set the root drive.
14970 * boot/i386/pc/pxeboot.S: Likewise.
14971 * include/grub/i386/pc/boot.h: Remove
14972 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
14973 GRUB_BOOT_MACHINE_DRIVE_CHECK.
14974 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
14975 * kern/i386/pc/init.c (make_install_device): Remove references
14976 to grub_root_drive.
14977 * kern/i386/pc/startup.S: Likewise.
14978 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
14979
14980 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 xnu_uuid command
14983
14984 * commands/xnu_uuid.c: new file
14985 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
14986 (xnu_uuid_mod_SOURCES): new variable
14987 (xnu_uuid_mod_CFLAGS): likewise
14988 (xnu_uuid_mod_LDFLAGS): likewise
14989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14990 * conf/i386-ieee1275.rmk: likewise
14991 * conf/i386-pc.rmk: likewise
14992 * conf/powerpc-ieee1275.rmk: likewise
14993 * conf/sparc64-ieee1275.rmk: likewise
14994 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
14995
14996 2009-06-16 Pavel Roskin <proski@gnu.org>
14997
14998 * configure.ac: Avoid '==' in test command, it's not portable.
14999
15000 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 Probe command
15003
15004 * commands/probe.c: new file
15005 * conf/common.rmk (pkglib_MODULES): add probe.mod
15006 (probe_mod_SOURCES): new variable
15007 (probe_mod_CFLAGS): likewise
15008 (probe_mod_LDFLAGS): likewise
15009 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15010 * conf/i386-ieee1275.rmk: likewise
15011 * conf/i386-pc.rmk: likewise
15012 * conf/powerpc-ieee1275.rmk: likewise
15013 * conf/sparc64-ieee1275.rmk: likewise
15014
15015 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 Fix handling of string like \"hello\" and "a
15018 b"
15019
15020 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15021 (grub_script_yylex): fix parsing of quoting, escaping and newline
15022
15023 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
15026 handling
15027
15028 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
15029
15030 * util/grub-mkconfig.in: Fix parsing of --output option.
15031
15032 2009-06-12 Pavel Roskin <proski@gnu.org>
15033
15034 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15035 genmk.rb don't need to be generated or installed.
15036
15037 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * commands/i386/pc/drivemap_int13h.S: add more comments
15040
15041 2009-06-11 Pavel Roskin <proski@gnu.org>
15042
15043 * Makefile.in (uninstall): Uninstall manuals.
15044
15045 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15046 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15047 and update-grub_lib in two places.
15048 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15049
15050 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15051 a compiler warning.
15052
15053 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15054 `entry_lo' to fix variable shadowing.
15055
15056 2009-06-11 Christian Franke <franke@computer.org>
15057
15058 * kern/misc.c (__enable_execute_stack): Add missing return type
15059 to prevent gcc warning.
15060
15061 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
15062
15063 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15064
15065 2009-06-11 Pavel Roskin <proski@gnu.org>
15066
15067 * Makefile.in: Don't rely on any scripts being executable.
15068 Always use $(SHELL) to run shell scripts.
15069
15070 * configure.ac: Always define ___main if using -nostdlib. This
15071 fixes tests on Cygwin.
15072
15073 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15074
15075 UDF fix
15076
15077 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
15078 is in bytes and not in blocks
15079
15080 2009-06-11 Pavel Roskin <proski@gnu.org>
15081
15082 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15083 warning.
15084
15085 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
15086
15087 * util/grub.d/30_os-prober.in: Fix a comment. Source
15088 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15089 to set the root device. Place drivemap command in the generated
15090 chain entry.
15091
15092 2009-06-11 Pavel Roskin <proski@gnu.org>
15093
15094 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15095 have long been resolved.
15096
15097 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
15098
15099 * util/grub.d/10_linux.in: Capitalise "Linux".
15100
15101 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15102
15103 2009-06-11 Pavel Roskin <proski@gnu.org>
15104
15105 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15106 fix a gcc warning and ensure that the function won't ever exit.
15107
15108 * kern/i386/ieee1275/init.c: Add missing prototype for
15109 grub_stop_floppy().
15110
15111 * loader/ieee1275/multiboot2.c [__i386__]: Include
15112 grub/cpu/multiboot.h.
15113
15114 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15115 casts to short - they are not portable and cause warnings. Fix
15116 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15117
15118 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Drivemap fixes
15121
15122 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15123 new function
15124 (grub_get_root_biosnumber_saved): new variable
15125 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15126 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
15127 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
15128 %dx after the call if necessary
15129 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15130 (boot_mod_SOURCES): remove
15131 (boot_mod_CFLAGS): remove
15132 (boot_mod_LDFLAGS): remove
15133 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15134 (boot_mod_SOURCES): new variable
15135 (boot_mod_CFLAGS): likewise
15136 (boot_mod_LDFLAGS): likewise
15137 * conf/i386-efi.rmk: likewise
15138 * conf/i386-ieee1275.rmk: likewise
15139 * conf/i386-pc.rmk: likewise
15140 * conf/powerpc-ieee1275.rmk: likewise
15141 * conf/sparc64-ieee1275.rmk: likewise
15142 * conf/x86_64-efi.rmk: likewise
15143 * include/grub/i386/pc/biosnum.h: new file
15144 * lib/i386/pc/biosnum.c: likewise
15145 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15146 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15147 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
15148
15149 2009-06-10 Pavel Roskin <proski@gnu.org>
15150
15151 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15152 Use separate variables. Read only the file size at the end, but
15153 not the checksum that we don't use.
15154
15155 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15156 Adjust all callers.
15157
15158 * kern/ieee1275/openfw.c: Remove libc includes.
15159 * kern/ieee1275/cmain.c: Likewise.
15160 * include/grub/ieee1275/ieee1275.h: Likewise.
15161
15162 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15163 compiler warnings.
15164
15165 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
15166
15167 * Makefile.in: Remove all trailing whitespace.
15168 * conf/i386-pc.rmk: Likewise.
15169 * conf/powerpc-ieee1275.rmk: Likewise.
15170 * conf/sparc64-ieee1275.rmk: Likewise.
15171 * docs/grub.texi: Likewise.
15172 * docs/texinfo.tex: Likewise.
15173 * disk/fs_uuid.c: Likewise.
15174 * disk/lvm.c: Likewise.
15175 * disk/scsi.c: Likewise.
15176 * disk/ata.c: Likewise.
15177 * disk/ieee1275/ofdisk.c: Likewise.
15178 * disk/i386/pc/biosdisk.c: Likewise.
15179 * disk/host.c: Likewise.
15180 * disk/raid.c: Likewise.
15181 * disk/efi/efidisk.c: Likewise.
15182 * disk/usbms.c: Likewise.
15183 * disk/memdisk.c: Likewise.
15184 * disk/loopback.c: Likewise.
15185 * kern/powerpc/dl.c: Likewise.
15186 * kern/device.c: Likewise.
15187 * kern/dl.c: Likewise.
15188 * kern/sparc64/dl.c: Likewise.
15189 * kern/ieee1275/ieee1275.c: Likewise.
15190 * kern/term.c: Likewise.
15191 * kern/fs.c: Likewise.
15192 * kern/i386/dl.c: Likewise.
15193 * kern/i386/pc/startup.S: Likewise.
15194 * kern/i386/pc/init.c: Likewise.
15195 * kern/i386/pc/mmap.c: Likewise.
15196 * kern/i386/pc/lzo1x.S: Likewise.
15197 * kern/i386/ieee1275/init.c: Likewise.
15198 * kern/i386/realmode.S: Likewise.
15199 * kern/i386/tsc.c: Likewise.
15200 * kern/partition.c: Likewise.
15201 * kern/corecmd.c: Likewise.
15202 * kern/file.c: Likewise.
15203 * kern/efi/efi.c: Likewise.
15204 * kern/efi/init.c: Likewise.
15205 * kern/efi/mm.c: Likewise.
15206 * kern/main.c: Likewise.
15207 * kern/err.c: Likewise.
15208 * kern/env.c: Likewise.
15209 * kern/disk.c: Likewise.
15210 * kern/generic/millisleep.c: Likewise.
15211 * kern/generic/rtc_get_time_ms.c: Likewise.
15212 * kern/misc.c: Likewise.
15213 * kern/parser.c: Likewise.
15214 * genmk.rb: Likewise.
15215 * configure.ac: Likewise.
15216 * boot/i386/pc/diskboot.S: Likewise.
15217 * boot/i386/pc/pxeboot.S: Likewise.
15218 * boot/i386/pc/boot.S: Likewise.
15219 * boot/i386/pc/lnxboot.S: Likewise.
15220 * boot/i386/pc/cdboot.S: Likewise.
15221 * parttool/pcpart.c: Likewise.
15222 * video/readers/tga.c: Likewise.
15223 * video/video.c: Likewise.
15224 * video/bitmap.c: Likewise.
15225 * lib/envblk.c: Likewise.
15226 * lib/i386/setjmp.S: Likewise.
15227 * fs/xfs.c: Likewise.
15228 * fs/afs.c: Likewise.
15229 * fs/fat.c: Likewise.
15230 * fs/ntfs.c: Likewise.
15231 * fs/udf.c: Likewise.
15232 * fs/affs.c: Likewise.
15233 * fs/iso9660.c: Likewise.
15234 * fs/hfs.c: Likewise.
15235 * fs/fshelp.c: Likewise.
15236 * fs/ext2.c: Likewise.
15237 * fs/jfs.c: Likewise.
15238 * fs/reiserfs.c: Likewise.
15239 * fs/hfsplus.c: Likewise.
15240 * fs/minix.c: Likewise.
15241 * fs/cpio.c: Likewise.
15242 * fs/sfs.c: Likewise.
15243 * fs/ufs.c: Likewise.
15244 * efiemu/prepare.c: Likewise.
15245 * efiemu/loadcore_common.c: Likewise.
15246 * efiemu/runtime/efiemu.sh: Likewise.
15247 * efiemu/runtime/efiemu.S: Likewise.
15248 * efiemu/runtime/efiemu.c: Likewise.
15249 * efiemu/pnvram.c: Likewise.
15250 * efiemu/main.c: Likewise.
15251 * efiemu/i386/pc/cfgtables.c: Likewise.
15252 * efiemu/i386/loadcore64.c: Likewise.
15253 * efiemu/i386/loadcore32.c: Likewise.
15254 * efiemu/loadcore.c: Likewise.
15255 * efiemu/symbols.c: Likewise.
15256 * efiemu/mm.c: Likewise.
15257 * include/grub/autoefi.h: Likewise.
15258 * include/grub/datetime.h: Likewise.
15259 * include/grub/term.h: Likewise.
15260 * include/grub/hfs.h: Likewise.
15261 * include/grub/lvm.h: Likewise.
15262 * include/grub/i386/tsc.h: Likewise.
15263 * include/grub/i386/linux.h: Likewise.
15264 * include/grub/i386/xnu.h: Likewise.
15265 * include/grub/i386/efiemu.h: Likewise.
15266 * include/grub/i386/pc/biosdisk.h: Likewise.
15267 * include/grub/i386/pc/memory.h: Likewise.
15268 * include/grub/i386/pc/vbe.h: Likewise.
15269 * include/grub/parttool.h: Likewise.
15270 * include/grub/video.h: Likewise.
15271 * include/grub/memory.h: Likewise.
15272 * include/grub/fs.h: Likewise.
15273 * include/grub/partition.h: Likewise.
15274 * include/grub/xnu.h: Likewise.
15275 * include/grub/efi/api.h: Likewise.
15276 * include/grub/efi/pe32.h: Likewise.
15277 * include/grub/efi/memory.h: Likewise.
15278 * include/grub/multiboot.h: Likewise.
15279 * include/grub/usbdesc.h: Likewise.
15280 * include/grub/multiboot2.h: Likewise.
15281 * include/grub/acpi.h: Likewise.
15282 * include/grub/efiemu/efiemu.h: Likewise.
15283 * include/grub/disk.h: Likewise.
15284 * include/grub/ieee1275/ieee1275.h: Likewise.
15285 * include/grub/net.h: Likewise.
15286 * include/grub/machoload.h: Likewise.
15287 * include/grub/macho.h: Likewise.
15288 * include/multiboot.h: Likewise.
15289 * genmoddep.awk: Likewise.
15290 * normal/main.c: Likewise.
15291 * normal/menu_entry.c: Likewise.
15292 * normal/menu_viewer.c: Likewise.
15293 * normal/completion.c: Likewise.
15294 * normal/cmdline.c: Likewise.
15295 * normal/misc.c: Likewise.
15296 * normal/datetime.c: Likewise.
15297 * bus/usb/usbtrans.c: Likewise.
15298 * bus/usb/ohci.c: Likewise.
15299 * bus/usb/uhci.c: Likewise.
15300 * bus/usb/usb.c: Likewise.
15301 * mmap/efi/mmap.c: Likewise.
15302 * mmap/i386/pc/mmap_helper.S: Likewise.
15303 * mmap/i386/pc/mmap.c: Likewise.
15304 * mmap/i386/mmap.c: Likewise.
15305 * mmap/i386/uppermem.c: Likewise.
15306 * mmap/mmap.c: Likewise.
15307 * commands/acpi.c: Likewise.
15308 * commands/echo.c: Likewise.
15309 * commands/blocklist.c: Likewise.
15310 * commands/loadenv.c: Likewise.
15311 * commands/usbtest.c: Likewise.
15312 * commands/boot.c: Likewise.
15313 * commands/parttool.c: Likewise.
15314 * commands/search.c: Likewise.
15315 * commands/cat.c: Likewise.
15316 * commands/i386/pc/play.c: Likewise.
15317 * commands/i386/pc/drivemap.c: Likewise.
15318 * commands/i386/pc/vbeinfo.c: Likewise.
15319 * commands/i386/pc/acpi.c: Likewise.
15320 * commands/i386/pc/vbetest.c: Likewise.
15321 * commands/ls.c: Likewise.
15322 * commands/cmp.c: Likewise.
15323 * commands/test.c: Likewise.
15324 * commands/efi/acpi.c: Likewise.
15325 * commands/gptsync.c: Likewise.
15326 * commands/help.c: Likewise.
15327 * partmap/amiga.c: Likewise.
15328 * partmap/apple.c: Likewise.
15329 * partmap/acorn.c: Likewise.
15330 * partmap/pc.c: Likewise.
15331 * partmap/sun.c: Likewise.
15332 * partmap/gpt.c: Likewise.
15333 * script/sh/lexer.c: Likewise.
15334 * script/sh/function.c: Likewise.
15335 * font/font.c: Likewise.
15336 * font/font_cmd.c: Likewise.
15337 * loader/powerpc/ieee1275/linux.c: Likewise.
15338 * loader/efi/chainloader.c: Likewise.
15339 * loader/multiboot_loader.c: Likewise.
15340 * loader/macho.c: Likewise.
15341 * loader/i386/multiboot.c: Likewise.
15342 * loader/i386/linux.c: Likewise.
15343 * loader/i386/pc/linux.c: Likewise.
15344 * loader/i386/pc/multiboot2.c: Likewise.
15345 * loader/i386/pc/chainloader.c: Likewise.
15346 * loader/i386/pc/xnu.c: Likewise.
15347 * loader/i386/bsd_trampoline.S: Likewise.
15348 * loader/i386/efi/linux.c: Likewise.
15349 * loader/i386/multiboot_elfxx.c: Likewise.
15350 * loader/i386/bsd_helper.S: Likewise.
15351 * loader/i386/bsd.c: Likewise.
15352 * loader/i386/linux_trampoline.S: Likewise.
15353 * loader/i386/xnu_helper.S: Likewise.
15354 * loader/i386/xnu.c: Likewise.
15355 * loader/i386/bsd_pagetable.c: Likewise.
15356 * loader/i386/multiboot_helper.S: Likewise.
15357 * loader/xnu.c: Likewise.
15358 * loader/xnu_resume.c: Likewise.
15359 * io/gzio.c: Likewise.
15360 * term/efi/console.c: Likewise.
15361 * term/terminfo.c: Likewise.
15362 * term/ieee1275/ofconsole.c: Likewise.
15363 * term/i386/pc/serial.c: Likewise.
15364 * term/i386/pc/vesafb.c: Likewise.
15365 * term/i386/pc/vga.c: Likewise.
15366 * term/usb_keyboard.c: Likewise.
15367 * term/gfxterm.c: Likewise.
15368 * aclocal.m4: Likewise.
15369 * util/lvm.c: Likewise.
15370 * util/grub.d/30_os-prober.in: Likewise.
15371 * util/grub.d/10_hurd.in: Likewise.
15372 * util/console.c: Likewise.
15373 * util/grub-macho2img.c: Likewise.
15374 * util/grub-probe.c: Likewise.
15375 * util/hostfs.c: Likewise.
15376 * util/i386/pc/grub-mkimage.c: Likewise.
15377 * util/i386/pc/grub-setup.c: Likewise.
15378 * util/i386/efi/grub-mkimage.c: Likewise.
15379 * util/grub-mkconfig.in: Likewise.
15380 * util/raid.c: Likewise.
15381 * util/resolve.c: Likewise.
15382 * util/grub-mkdevicemap.c: Likewise.
15383 * util/grub-emu.c: Likewise.
15384 * util/getroot.c: Likewise.
15385 * util/hostdisk.c: Likewise.
15386 * util/usb.c: Likewise.
15387 * util/grub-editenv.c: Likewise.
15388 * util/misc.c: Likewise.
15389
15390 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
15391
15392 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15393 `genparttoollist.sh'.
15394 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15395 Add `*.sh' to the list find searches for and change `mdate.sh'
15396 to `mdate-sh'.
15397
15398 2009-06-10 Pavel Roskin <proski@gnu.org>
15399
15400 * include/grub/multiboot2.h: Provide compatibility defines for
15401 multiboot2.h.
15402 * include/multiboot2.h: Include stdint.h only if needed, using
15403 angle brackets.
15404 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15405 grub/multiboot2.h.
15406 * loader/ieee1275/multiboot2.c: Likewise.
15407 * loader/multiboot2.c: Likewise.
15408 * loader/multiboot_loader.c: Likewise.
15409
15410 * configure.ac: Use -nostdlib when probing for the target. It
15411 should not be required to have libc for the target.
15412
15413 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15414 they fail without libc headers for the target.
15415 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15416 exports.
15417 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15418 preprocessor conditionals.
15419
15420 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15421 build system doesn't need to be aware of the tar.c internals.
15422
15423 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
15424
15425 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
15426
15427 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15428
15429 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15430 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15431
15432 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
15433
15434 * util/i386/pc/grub-install.in: Change the error message if UUIDs
15435 aren't available if ata.mod gets used.
15436
15437 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
15438
15439 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
15440 initialising controller.
15441 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15442
15443 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
15444
15445 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15446 to choose between ata and biosdisk module on i386-pc.
15447
15448 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
15449
15450 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15451 Subclass and Programming Interface fields in terms of the 3 byte
15452 Class Code register.
15453 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15454
15455 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15456 interface is OHCI. Add grub_dprintf for symmetry with
15457 bus/usb/uhci.c.
15458 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15459 interface is UHCI. Add interf variable for programming
15460 interface. Print interface with class/subclass.
15461
15462 * bus/usb/ohci.c: Set interf with correct field.
15463
15464 * bus/usb/uhci.c: Remove unneeded doubled lines.
15465 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15466 Remove whitespace inside comment.
15467
15468 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15469
15470 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15471 as fallback an equivalent option without depth.
15472
15473 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Not fail if unable to retrieve C/H/S on LBA disks
15476
15477 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
15478 if unable to retrieve C/H/S on LBA disks
15479
15480 2009-06-08 Pavel Roskin <proski@gnu.org>
15481
15482 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15483 about aliasing.
15484
15485 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
15486
15487 * Makefile.in (uninstall): Remove all $lib_DATA files.
15488
15489 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 Bugfix: install on partitionless device
15492
15493 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15494 is a whole disk
15495
15496 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
15497
15498 * Makefile.in (uninstall): Remove all $include_DATA files.
15499
15500 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
15501
15502 * commands/true.c: New file. Implement the true and false commands.
15503 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15504 (true_mod_SOURCES): New variable.
15505 (true_mod_CFLAGS): Likewise.
15506 (true_mod_LDFLAGS): Likewise.
15507
15508 2009-06-05 Colin D Bennett <colin@gibibit.com>
15509
15510 Optimized font character lookup using binary search instead of linear
15511 search. Fonts now are required to have the character index ordered by
15512 code point.
15513
15514 * font/font.c (load_font_index): Verify that fonts have ordered
15515 character indices.
15516 (find_glyph): Use binary search instead of linear search to find a
15517 character in a font.
15518
15519 2009-06-05 Michael Scherer <misc@mandriva.org>
15520
15521 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15522 uses case sensitive btree.
15523 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15524 only for case insensitive filesystems.
15525
15526 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15529 * conf/common.rmk (search_mod_CFLAGS): likewise
15530
15531 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
15534 compensate a compiler bug
15535
15536 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
15539 instead of '\b'
15540
15541 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 Definitions for creating asm symbols with Apple's CC
15544
15545 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15546 [APPLE_CC] (VARIABLE): likewise
15547
15548 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 Disable lnxboot.img when compiled
15551 with Apple's CC
15552
15553 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15554 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15555 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15556 [! APPLE_CC] (CODE_LENG): skip
15557 [! APPLE_CC] (setup_sects): likewise
15558 [! APPLE_CC]: skip filling
15559
15560 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 Address in trampolines based on 32-bit registers when compiled
15563 with Apple's CC
15564
15565 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
15566 for addresses
15567 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15568
15569 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15572
15573 * kern/misc.c [APPLE_CC] (memcpy): new function
15574 [APPLE_CC] (memmove): likewise
15575 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
15576 (memcpy): define alias conditionally on !APPLE_CC
15577 (memset): likewise
15578 (abort): likewise
15579 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15580 APPLE_CC are defined
15581 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15582 (grub_assert_fail): make prototype conditional
15583
15584 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15587
15588 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15589 grub-macho2img
15590 (CLEANFILES): add grub-macho2img
15591 (grub_macho2img_SOURCES): new variable
15592 * kern/i386/pc/startup.S (bss_start): new variable
15593 (bss_end): likewise
15594 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15595 * util/grub-macho2img.c: new file
15596
15597 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 Use objconv when compiling with Apple's CC
15600
15601 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15602 (efiemu64.o): likewise
15603 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15604 when compiling with Apple's CC
15605 (efiemu64_s.o): likewise
15606 * configure.ac: check for objconv when compiling with Apple's CC
15607 * genmk.rb: use objconv for modules when compiled with Apple's CC
15608
15609 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Define segment as well as section when compiling with
15612 Apple's CC
15613
15614 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15615 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15616 (efiemu_convert_pointer): likewise
15617 (efiemu_set_virtual_address_map): likewise
15618 (efiemu_convert_pointer): likewise
15619 (efiemu_getcrc32): likewise
15620 (init_crc32_table): likewise
15621 (reflect): likewise
15622 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15623 (GRUB_MOD_DEP): likewise
15624
15625 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 Allow a compilation without -mcmodel=large
15628
15629 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15630 when compiled without -mcmodel=large
15631 (filter_memory_map): remove memory post 4 GiB when compiled
15632 without -mcmodel=large
15633 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
15634 TARGET_CFLAGS when -mcmodel=large isn't supported
15635
15636 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 Remove nested functions in efiemu core
15639
15640 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
15641
15642 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15645
15646 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15647 temporary storage
15648 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15649 using Apple's CC
15650 (grub_cpu_is_tsc_supported): likewise
15651 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
15652
15653 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 Absolute addressing through constant with Apple's cc
15656
15657 * kern/i386/pc/startup.S: Define necessary constants
15658 and address through it when using ABS with Apple's CC
15659 * boot/i386/pc/diskboot.S: likewise
15660 * boot/i386/pc/boot.S: likewise
15661 * boot/i386/pc/lnxboot.S: likewise
15662 * boot/i386/pc/cdboot.S: likewise
15663 * mmap/i386/pc/mmap_helper.S: likewise
15664 * commands/i386/pc/drivemap_int13h.S: likewise
15665
15666 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 Check if compiler is apple cc
15669
15670 * Makefile.in (ASFLAGS): new variable
15671 (TARGET_ASFLAGS): likewise
15672 (TARGET_MODULE_FORMAT): likewise
15673 (TARGET_APPLE_CC): likewise
15674 (OBJCONV): likewise
15675 (TARGET_IMG_CFLAGS): likewise
15676 (TARGET_CPPFLAGS): add includedir
15677 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15678 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15679 Check for linker script only if compiler isn't Apple's CC
15680 (TARGET_MODULE_FORMAT): set
15681 (TARGET_APPLE_CC): likewise
15682 (TARGET_ASFLAGS): likewise
15683 (ASFLAGS): likewise
15684 Check for objcopy only if compiler isn't Apple's CC
15685 Check for BSS symbol only if compiler isn't Apple's CC
15686 * genmk.rb: adapt nm options if we use Apple's utils
15687 * aclocal.m4 (grub_apple_cc): new test
15688 (grub_apple_target_cc): likewise
15689
15690 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 Simplify sed expressions and improve awk
15693
15694 * Makefile.in (install-local): simplify sed expression
15695 * gencmdlist.sh: likewise
15696 * genmoddep.awk: avoid adding module as a dependency of itself
15697
15698 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 Add missing start symbols
15701
15702 * boot/i386/pc/boot.S: add start
15703 * boot/i386/pc/pxeboot.S: likewise
15704
15705 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 Fix wrong assumptions with grub-mkimage on EFI
15708
15709 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
15710 (relocate_addresses): consider both r_addend and value at offset
15711 (make_mods_section): zerofill modinfo and header
15712 (convert_elf): write prefix here
15713
15714 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 Use .asciz instead of .string
15717
15718 * i386/pc/diskboot.S: use .asciz instead of .string
15719 * i386/pc/boot.S: likewise
15720 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15721 (GRUB_MOD_NAME): likewise
15722
15723 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 gfxpayload support
15726
15727 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15728 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15729 (grub_video_setup): remove
15730 (grub_video_set_mode): new prototype
15731 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15732 (vid_mode): remove
15733 (linux_vesafb_res): compile only on PCBIOS
15734 (grub_linux_boot): support gfxpayload
15735 * loader/i386/pc/xnu.c (video_hook): new function
15736 (grub_xnu_set_video): support gfxpayload
15737 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15738 (DEFAULT_VIDEO_HEIGHT): likewise
15739 (DEFAULT_VIDEO_FLAGS): likewise
15740 (DEFAULT_VIDEO_MODE): new definition
15741 (video_hook): new function
15742 (grub_gfxterm_init): use grub_video_set_mode
15743 * util/grub.d/30_os-prober.in: remove explicit modesetting before
15744 loading xnu
15745 * video/video.c (grub_video_setup): removed
15746 (grub_video_set_mode): new function based on grub_gfxterm_init and
15747 grub_video_setup
15748
15749 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 Avoid calling biosdisk in drivemap
15752
15753 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15754 (revparse_biosdisk): likewise
15755 (list_mappings): derive name from id directly
15756 (grub_cmd_drivemap): use tryparse_diskstring
15757
15758 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Script fixes
15761
15762 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15763 (grub_lexer_param): add tokenonhold
15764 (grub_script_create_cmdline): remove cmdline. All callers updated
15765 (grub_script_function_create): make functionname
15766 grub_script_arg. All callers updated
15767 (grub_script_execute_argument_to_string): new prototype
15768 * kern/parser.c (state_transitions): reorder
15769 (grub_parser_cmdline_state): fix a bug and make more compact
15770 * script/sh/execute.c (grub_script_execute_argument_to_string):
15771 make global
15772 (grub_script_execute_cmdline): use new format
15773 * script/sh/function.c (grub_script_function_create): make functionname
15774 grub_script_arg. All callers updated
15775 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
15776 (grub_script_yylex): remove
15777 (grub_script_yylex2): renamed to ...
15778 (grub_script_yylex): ...renamed
15779 parse the expressions like a${b}c
15780 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15781 (GRUB_PARSER_TOKEN_VAR): remove
15782 (GRUB_PARSER_TOKEN_NAME): likewise
15783 ("if"): declare as typeless
15784 ("while"): likewise
15785 ("function"): likewise
15786 ("else"): likewise
15787 ("then"): likewise
15788 ("fi"): likewise
15789 (text): remove
15790 (argument): likewise
15791 (script): accept empty scripts and make exit on error
15792 (arguments): use GRUB_PARSER_TOKEN_ARG
15793 (function): likewise
15794 (command): move error handling to script
15795 (menuentry): move grub_script_lexer_ref before
15796 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
15797 argument. All callers updated
15798
15799 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15800
15801 Prevent GRUB from probing floppies during boot.
15802
15803 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
15804 * commands/search.c (options): Add --no-floppy.
15805 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
15806 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
15807 --no-floppy when searching for UUIDs.
15808
15809 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15810
15811 Simplify the code duplication in commands/search.c.
15812
15813 * commands/search.c (search_label, search_fs_uuid): Merge into ...
15814 (search_fs): ... this. Update all users.
15815
15816 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
15817
15818 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
15819
15820 2009-05-28 Pavel Roskin <proski@gnu.org>
15821
15822 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
15823 Remove the original symlink explicitly.
15824
15825 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
15826 just one slash. That's how grub_fshelp_find_file() does it.
15827
15828 2009-05-26 Pavel Roskin <proski@gnu.org>
15829
15830 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
15831 to `str'.
15832
15833 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
15834 possibly unused.
15835
15836 2009-05-25 Christian Franke <franke@computer.org>
15837
15838 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
15839 register.
15840 (grub_atapi_identify): Add wait after drive select.
15841 (grub_ata_identify): Do more strict status register check before
15842 calling grub_atapi_identify (). Suppress error message if status
15843 register is 0x00 after command failure. Add status register
15844 check after PIO read to avoid bogus identify due to stuck DRQ.
15845 Thanks to Pavel Roskin for testing.
15846 (grub_device_initialize): Remove unsafe status register check.
15847 Thanks to 'phcoder' for problem report and patch.
15848 Prevent sign extension in debug message.
15849
15850 2009-05-23 Colin D Bennett <colin@gibibit.com>
15851
15852 Cleaned up `include/grub/normal.h'. Grouped prototypes by
15853 definition file, and functions defined in `normal/menu.c' have had
15854 their prototypes moved to `include/grub/menu.h' for consistency.
15855
15856 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
15857 from normal.h.
15858 (grub_menu_get_entry): Likewise.
15859 (grub_menu_get_timeout): Likewise.
15860 (grub_menu_set_timeout): Likewise.
15861 (grub_menu_execute_entry): Likewise.
15862 (grub_menu_execute_with_fallback): Likewise.
15863 (grub_menu_entry_run): Likewise.
15864
15865 * include/grub/normal.h: Re-ordered and grouped function
15866 prototypes by file that the function is defined in.
15867 (grub_menu_execute_callback): Removed; moved to menu.h.
15868 (grub_menu_get_entry): Likewise.
15869 (grub_menu_get_timeout): Likewise.
15870 (grub_menu_set_timeout): Likewise.
15871 (grub_menu_execute_entry): Likewise.
15872 (grub_menu_execute_with_fallback): Likewise.
15873 (grub_menu_entry_run): Likewise.
15874 (grub_menu_addentry): Renamed from this ...
15875 (grub_normal_add_menu_entry): ... to this.
15876
15877 * normal/main.c (grub_menu_addentry): Renamed from this ...
15878 (grub_normal_add_menu_entry): ... to this.
15879
15880 * script/sh/execute.c (grub_script_execute_menuentry): Update
15881 reference to renamed grub_menu_addentry function.
15882
15883 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
15884
15885 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
15886
15887 2009-05-22 Pavel Roskin <proski@gnu.org>
15888
15889 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
15890 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
15891 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
15892 compiling for the i386 targets, but not for the utilities.
15893
15894 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
15895 to grub_uint8_t.
15896 (grub_root_drive): Likewise.
15897 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
15898 remove alignment.
15899 (grub_root_drive): Change size to byte.
15900 (grub_start_addr): Remove.
15901 (grub_end_addr): Likewise.
15902 (grub_apm_bios_info): Likewise.
15903
15904 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
15905
15906 * normal/i386: Remove.
15907 * normal/powerpc: Likewise.
15908 * normal/sparc64: Likewise.
15909 * normal/x86_64: Likewise.
15910
15911 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
15914 * loader/i386/linux_trampoline.S: Fix indentation
15915 * loader/i386/xnu_helper.S: Likewise
15916
15917 2009-05-18 Colin D Bennett <colin@gibibit.com>
15918
15919 Display error messages when parsing a Lua statement fails.
15920 Previously, executing a syntactically invalid statement like
15921 ")foo" or "bar;" would silently fail.
15922
15923 * script/lua/grub_main.c (handle_lua_error): New function.
15924 (grub_lua_parse_line): Improved reporting of Lua parser and
15925 execution errors.
15926
15927 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 Remove -Werror which causes build to fail on some systems
15930
15931 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
15932 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
15933 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
15934
15935 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 trampoline for linux on 64-bit platform
15938
15939 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
15940 loader/i386/efi/linux_trampoline.S
15941 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
15942 declaration
15943 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
15944 here
15945 * loader/i386/linux_trampoline.S: moved here
15946 * loader/i386/efi/linux.c (allocate_pages): reserve space for
15947 trampoline
15948 (jumpvector): removed
15949 (grub_linux_trampoline_start): new declaration
15950 (grub_linux_trampoline_end): likewise
15951 (grub_linux_boot): use trampoline when on 64-bit platform
15952 * loader/i386/linux.c: likewise
15953
15954 2009-05-16 Pavel Roskin <proski@gnu.org>
15955
15956 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
15957 const to avoid a warning.
15958 (grub_lua_setenv): Likewise.
15959 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
15960 lmsg to fix a warning.
15961
15962 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
15963
15964 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
15965 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15966 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
15967 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15968 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15969 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15970 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15971 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15972
15973 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
15974
15975 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
15976
15977 2009-05-16 Bean <bean123ch@gmail.com>
15978
15979 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
15980 (lua_mod_SOURCES): New variable.
15981 (lua_mod_CFLAGS): Likewise.
15982 (lua_mod_LDFLAGS): Likewise.
15983
15984 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
15985 (setjmp_mod_SOURCES): New variable.
15986 (setjmp_mod_CFLAGS): Likewise.
15987 (setjmp_LDFLAGS): Likewise.
15988
15989 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
15990 (setjmp_mod_SOURCES): New variable.
15991 (setjmp_mod_CFLAGS): Likewise.
15992 (setjmp_LDFLAGS): Likewise.
15993
15994 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15995 (setjmp_mod_SOURCES): New variable.
15996 (setjmp_mod_CFLAGS): Likewise.
15997 (setjmp_LDFLAGS): Likewise.
15998
15999 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16000 (setjmp_mod_SOURCES): New variable.
16001 (setjmp_mod_CFLAGS): Likewise.
16002 (setjmp_LDFLAGS): Likewise.
16003
16004 * normal/i386/setjmp.S: Moved from here ...
16005 * lib/i386/setjmp.S: ... Moved here
16006 * normal/x86_64/setjmp.S: Moved from here ...
16007 * lib/x86_64/setjmp.S: ... Moved here
16008 * normal/powerpc/setjmp.S: Moved from here ...
16009 * lib/powerpc/setjmp.S: ... Moved here
16010 * normal/sparc64/setjmp.S: Moved from here ...
16011 * lib/sparc64/setjmp.S: ... Moved here
16012
16013 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16014 returns_twice in mingw.
16015
16016 * script/lua/grub_lib.c: New file.
16017 * script/lua/grub_lib.h: Likewise.
16018 * script/lua/grub_lua.h: Likewise.
16019 * script/lua/grub_main.c: Likewise.
16020 * script/lua/lapi.c: Likewise.
16021 * script/lua/lapi.h: Likewise.
16022 * script/lua/lauxlib.c: Likewise.
16023 * script/lua/lauxlib.h: Likewise.
16024 * script/lua/lbaselib.c: Likewise.
16025 * script/lua/lcode.c: Likewise.
16026 * script/lua/lcode.h: Likewise.
16027 * script/lua/ldblib.c: Likewise.
16028 * script/lua/ldebug.c: Likewise.
16029 * script/lua/ldebug.h: Likewise.
16030 * script/lua/ldo.c: Likewise.
16031 * script/lua/ldo.h: Likewise.
16032 * script/lua/ldump.c: Likewise.
16033 * script/lua/lfunc.c: Likewise.
16034 * script/lua/lfunc.h: Likewise.
16035 * script/lua/lgc.c: Likewise.
16036 * script/lua/lgc.h: Likewise.
16037 * script/lua/linit.c: Likewise.
16038 * script/lua/liolib.c: Likewise.
16039 * script/lua/llex.c: Likewise.
16040 * script/lua/llex.h: Likewise.
16041 * script/lua/llimits.h: Likewise.
16042 * script/lua/lmathlib.c: Likewise.
16043 * script/lua/lmem.c: Likewise.
16044 * script/lua/lmem.h: Likewise.
16045 * script/lua/loadlib.c: Likewise.
16046 * script/lua/lobject.c: Likewise.
16047 * script/lua/lobject.h: Likewise.
16048 * script/lua/lopcodes.c: Likewise.
16049 * script/lua/lopcodes.h: Likewise.
16050 * script/lua/loslib.c: Likewise.
16051 * script/lua/lparser.c: Likewise.
16052 * script/lua/lparser.h: Likewise.
16053 * script/lua/lstate.c: Likewise.
16054 * script/lua/lstate.h: Likewise.
16055 * script/lua/lstring.c: Likewise.
16056 * script/lua/lstring.h: Likewise.
16057 * script/lua/lstrlib.c: Likewise.
16058 * script/lua/ltable.c: Likewise.
16059 * script/lua/ltable.h: Likewise.
16060 * script/lua/ltablib.c: Likewise.
16061 * script/lua/ltm.c: Likewise.
16062 * script/lua/ltm.h: Likewise.
16063 * script/lua/lua.h: Likewise.
16064 * script/lua/luaconf.h: Likewise.
16065 * script/lua/lualib.h: Likewise.
16066 * script/lua/lundump.c: Likewise.
16067 * script/lua/lundump.h: Likewise.
16068 * script/lua/lvm.c: Likewise.
16069 * script/lua/lvm.h: Likewise.
16070 * script/lua/lzio.c: Likewise.
16071 * script/lua/lzio.h: Likewise.
16072
16073 2009-05-16 Bean <bean123ch@gmail.com>
16074
16075 * include/grub/kernel.h (grub_module_header_types): Add type
16076 OBJ_TYPE_CONFIG.
16077
16078 * kern/main.c (grub_load_config): New function.
16079 (grub_main): Call grub_load_config to read boot config.
16080
16081 * grub-mkimage (generate_image): New parameter config_path.
16082 (options): New option --config.
16083 (main): Parse --config option, and pass it to generate_image.
16084
16085 2009-05-14 Christian Franke <franke@computer.org>
16086
16087 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16088 This fixes build on Cygwin.
16089
16090 2009-05-14 Pavel Roskin <proski@gnu.org>
16091
16092 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16093 jump. This saves two bytes, so the typical case of 2 swapped
16094 drives would fit 32 bytes.
16095
16096 2009-05-13 Pavel Roskin <proski@gnu.org>
16097
16098 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16099 grub_uint32_t to avoid a warning.
16100
16101 * loader/i386/linux.c (allocate_pages): When assigning
16102 real_mode_mem, cast through grub_size_t to fix a warning. The
16103 code already makes sure that the value would fit a pointer.
16104 (grub_linux_setup_video): Cast render_target->data to
16105 grub_size_t to fix a warning.
16106
16107 2009-05-13 Javier Martín <lordhabbit@gmail.com>
16108
16109 * commands/i386/pc/drivemap.c: New file - implement drivemap
16110 command.
16111 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16112 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16113
16114 2009-05-13 Pavel Roskin <proski@gnu.org>
16115
16116 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16117 embedding_area_exists.
16118
16119 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16120
16121 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16122 it easier to understand / work with.
16123 Improve warning messages for cases where there's no embedding area,
16124 or when it is too small (or core.img too large).
16125
16126 2009-05-13 Pavel Roskin <proski@gnu.org>
16127
16128 * loader/i386/pc/multiboot2.c: Add necessary includes for
16129 grub_multiboot2_real_boot().
16130
16131 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16132 PX record is always little-endian. We only need the lower 2
16133 bytes of the mode.
16134
16135 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16136 facilitate code reuse.
16137 (grub_cpio_mount): Use "struct head", not a char buffer. This
16138 fixes a warning reported by gcc 4.4.
16139
16140 * kernel/disk.c (grub_disk_read): Use void pointer for the
16141 buffer.
16142 (grub_disk_write): Use const void pointer for the buffer.
16143 Adjust all callers. Remove unnecessary casts.
16144
16145 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16146
16147 * util/i386/pc/grub-install.in: Update copyright year.
16148
16149 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 gptsync
16152
16153 * commands/gptsync.c: new file
16154 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16155 (gptsync_mod_SOURCES): new variable
16156 (gptsync_mod_CFLAGS): likewise
16157 (gptsync_mod_LDFLAGS): likewise
16158 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
16159 new definition
16160 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16161 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16162 * conf/i386-ieee1275.rmk: likewise
16163 * conf/i386-pc.rmk: likewise
16164 * conf/powerpc-ieee1275.rmk: likewise
16165
16166 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16167
16168 Fixed grub-emu
16169
16170 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16171 (grub_dl_ref): likewise
16172
16173 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16174
16175 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16176 split in two functions (one for msdos and one for gpt).
16177
16178 2009-05-08 Pavel Roskin <proski@gnu.org>
16179
16180 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16181 not modified.
16182
16183 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16184 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16185 Initialize them with -1. Add sanity check for bad1. Eliminate
16186 nerr variable.
16187
16188 2009-05-08 David S. Miller <davem@davemloft.net>
16189
16190 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16191
16192 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16193
16194 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
16195 existence.
16196
16197 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
16198
16199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16200 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
16201
16202 2009-05-05 David S. Miller <davem@davemloft.net>
16203
16204 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16205
16206 2009-05-05 Pavel Roskin <proski@gnu.org>
16207
16208 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16209 of grub_dl_ref() and grub_dl_unref().
16210 * commands/parttool.c: Remove preprocessor conditionals around
16211 grub_dl_ref() and grub_dl_unref().
16212 * fs/affs.c: Likewise.
16213 * fs/afs.c: Likewise.
16214 * fs/cpio.c: Likewise.
16215 * fs/ext2.c: Likewise.
16216 * fs/fat.c: Likewise.
16217 * fs/hfs.c: Likewise.
16218 * fs/hfsplus.c: Likewise.
16219 * fs/iso9660.c: Likewise.
16220 * fs/jfs.c: Likewise.
16221 * fs/minix.c: Likewise.
16222 * fs/ntfs.c: Likewise.
16223 * fs/reiserfs.c: Likewise.
16224 * fs/sfs.c: Likewise.
16225 * fs/udf.c: Likewise.
16226 * fs/ufs.c: Likewise.
16227 * fs/xfs.c: Likewise.
16228 * include/grub/dl.h: Likewise.
16229 * loader/xnu.c: Likewise.
16230
16231 2009-05-04 Pavel Roskin <proski@gnu.org>
16232
16233 * commands/acpi.c: Remove unused variable my_mod.
16234 * partmap/amiga.c: Likewise.
16235 * partmap/apple.c: Likewise.
16236 * partmap/gpt.c: Likewise.
16237 * partmap/pc.c: Likewise.
16238 * partmap/sun.c: Likewise.
16239 * term/gfxterm.c: Likewise.
16240 * term/i386/pc/vesafb.c: Likewise.
16241 * term/i386/pc/vga.c: Likewise.
16242
16243 2009-05-04 David S. Miller <davem@davemloft.net>
16244
16245 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16246 pointer args to grub_ieee1275_get_property().
16247
16248 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16249
16250 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16251 devices, and do not traverse down under controller nodes.
16252
16253 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16254 (grub_ofdisk_open): Use it to un-escape "," characters.
16255 * kern/disk.c (find_part_sep): New.
16256 (grub_disk_open): Use it to find the first non-escaped ','
16257 character in the disk name.
16258 * util/ieee1275/devicemap.c (escape_of_path): New.
16259 (grub_util_emit_devicemap_entry): Use it.
16260 * util/sparc64/ieee1275/grub-install.in: Update script to
16261 strip partition specifiers properly by not triggering on
16262 '\' escaped ',' characters.
16263
16264 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16265
16266 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16267 to 0x300.
16268 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16269 resolutions.
16270 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16271 on documentation from Wikipedia).
16272
16273 2009-05-04 Pavel Roskin <proski@gnu.org>
16274
16275 * disk/ata.c: Spelling fixes.
16276 * disk/raid.c: Likewise.
16277 * disk/usbms.c: Likewise.
16278 * disk/dmraid_nvidia.c: Likewise.
16279 * kern/ieee1275/openfw.c: Likewise.
16280 * kern/ieee1275/init.c: Likewise.
16281 * kern/ieee1275/cmain.c: Likewise.
16282 * boot/i386/pc/cdboot.S: Likewise.
16283 * video/readers/png.c: Likewise.
16284 * video/i386/pc/vbe.c: Likewise.
16285 * fs/udf.c: Likewise.
16286 * fs/hfs.c: Likewise.
16287 * fs/reiserfs.c: Likewise.
16288 * efiemu/runtime/efiemu.c: Likewise.
16289 * efiemu/main.c: Likewise.
16290 * efiemu/mm.c: Likewise.
16291 * include/grub/elf.h: Likewise.
16292 * include/grub/xnu.h: Likewise.
16293 * include/grub/usbdesc.h: Likewise.
16294 * include/grub/usb.h: Likewise.
16295 * include/grub/script_sh.h: Likewise.
16296 * include/grub/lib/LzmaEnc.h: Likewise.
16297 * include/grub/efiemu/efiemu.h: Likewise.
16298 * include/grub/command.h: Likewise.
16299 * normal/menu.c: Likewise.
16300 * normal/main.c: Likewise.
16301 * normal/datetime.c: Likewise.
16302 * bus/usb/uhci.c: Likewise.
16303 * mmap/i386/uppermem.c: Likewise.
16304 * mmap/mmap.c: Likewise.
16305 * commands/acpi.c: Likewise.
16306 * commands/test.c: Likewise.
16307 * partmap/apple.c: Likewise.
16308 * font/font.c: Likewise.
16309 * loader/sparc64/ieee1275/linux.c: Likewise.
16310 * loader/macho.c: Likewise.
16311 * loader/i386/bsd_trampoline.S: Likewise.
16312 * loader/i386/bsd.c: Likewise.
16313 * loader/xnu.c: Likewise.
16314 * term/i386/pc/vesafb.c: Likewise.
16315 * term/usb_keyboard.c: Likewise.
16316 * util/resolve.c: Likewise.
16317 * util/getroot.c: Likewise.
16318
16319 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
16320
16321 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16322
16323 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16324
16325 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16326 build error.
16327
16328 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16329
16330 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16331 parameter only available on BIOS.
16332
16333 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 Removed wrong semicolon in declaration
16336
16337 * grub/misc.h (grub_dprintf): remove semicolon
16338
16339 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16340
16341 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16342 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16343 is done by grub_cmd_linux() now).
16344 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16345 restore video to text mode.
16346 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16347 indicates lack of "vga=" parameter. "vga=0" is mapped to
16348 `GRUB_LINUX_VID_MODE_NORMAL'.
16349
16350 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
16351
16352 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16353 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16354 and `normal/script.c'. Add `kern/rescue_reader.c',
16355 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
16356 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16357 `grub_script.tab.c'.
16358
16359 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16360 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16363 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16364
16365 * Makefile.in: Remove duplicated 2008 in Copyright line.
16366
16367 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16368
16369 * util/misc.c (grub_util_warn): New function. Emits a warning
16370 unconditionally.
16371 * include/grub/util/misc.h (grub_util_warn): New declaration.
16372
16373 * util/i386/pc/grub-install.in: Understand --force and pass it down
16374 to grub-setup.
16375
16376 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16377 down to setup().
16378 (setup): Improve error messages and add warnings when requested to
16379 install in odd layouts. Refuse to install using blocklists unless
16380 --force was set.
16381
16382 2009-05-04 martin f. krafft <madduck@madduck.net>
16383
16384 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16385
16386 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 Updated copyright year
16389
16390 * fs/hfsplus.c: updated copyright year
16391
16392 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 HFS+ UUID
16395
16396 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
16397 in the space previously used by unused3
16398 (grub_hfsplus_uuid): new function
16399 (grub_hfsplus_fs): added uuid field
16400
16401 2009-05-03 Pavel Roskin <proski@gnu.org>
16402
16403 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16404 suppress warnings. It's no longer needed.
16405 * disk/host.c: Likewise.
16406 * disk/ata_pthru.c: Likewise.
16407 * disk/loopback.c: Likewise.
16408 * hook/datehook.c: Likewise.
16409 * parttool/pcpart.c: Likewise.
16410 * fs/i386/pc/pxe.c: Likewise.
16411 * fs/ntfscomp.c: Likewise.
16412 * efiemu/main.c: Likewise.
16413 * mmap/mmap.c: Likewise.
16414 * commands/crc.c: Likewise.
16415 * commands/hexdump.c: Likewise.
16416 * commands/hdparm.c: Likewise.
16417 * commands/acpi.c: Likewise.
16418 * commands/echo.c: Likewise.
16419 * commands/minicmd.c: Likewise.
16420 * commands/blocklist.c: Likewise.
16421 * commands/memrw.c: Likewise.
16422 * commands/loadenv.c: Likewise.
16423 * commands/usbtest.c: Likewise.
16424 * commands/lsmmap.c: Likewise.
16425 * commands/boot.c: Likewise.
16426 * commands/parttool.c: Likewise.
16427 * commands/configfile.c: Likewise.
16428 * commands/search.c: Likewise.
16429 * commands/ieee1275/suspend.c: Likewise.
16430 * commands/cat.c: Likewise.
16431 * commands/i386/pc/pxecmd.c: Likewise.
16432 * commands/i386/pc/play.c: Likewise.
16433 * commands/i386/pc/halt.c: Likewise.
16434 * commands/i386/pc/vbeinfo.c: Likewise.
16435 * commands/i386/pc/vbetest.c: Likewise.
16436 * commands/lspci.c: Likewise.
16437 * commands/date.c: Likewise.
16438 * commands/handler.c: Likewise.
16439 * commands/ls.c: Likewise.
16440 * commands/test.c: Likewise.
16441 * commands/cmp.c: Likewise.
16442 * commands/efi/loadbios.c: Likewise.
16443 * commands/efi/fixvideo.c: Likewise.
16444 * commands/halt.c: Likewise.
16445 * commands/help.c: Likewise.
16446 * commands/reboot.c: Likewise.
16447 * hello/hello.c: Likewise.
16448 * script/sh/main.c: Likewise.
16449 * loader/xnu.c: Likewise.
16450 * term/terminfo.c: Likewise.
16451 * term/i386/pc/serial.c: Likewise.
16452 * term/usb_keyboard.c: Likewise.
16453
16454 2009-05-03 David S. Miller <davem@davemloft.net>
16455
16456 * normal/menu.c: Include grub/parser.h
16457
16458 2009-05-03 Pavel Roskin <proski@gnu.org>
16459
16460 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16461 not char*.
16462 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16463 Suggested by Javier Martín <lordhabbit@gmail.com>
16464
16465 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16466 efiemu??.o doesn't exist.
16467 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16468 copying.
16469
16470 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
16471
16472 FreeBSD 64-bit support
16473
16474 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
16475 and loader/i386/bsd_trampoline.S
16476 (bsd_mod_ASFLAGS): new variable
16477 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16478 (FREEBSD_MODTYPE_KERNEL64): likewise
16479 (grub_bsd64_trampoline_start): likewise
16480 (grub_bsd64_trampoline_end): likewise
16481 (grub_bsd64_trampoline_selfjump): likewise
16482 (grub_bsd64_trampoline_gdt): likewise
16483 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16484 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16485 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16486 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
16487 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
16488 of "attrib" member
16489 * loader/i386/bsd_pagetable.c: new file
16490 * loader/i386/bsd_trampoline.S: likewise
16491 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16492 (ALIGN_VAR): likewise
16493 (entry_hi): new variable
16494 (kern_end_mdofs): likewise
16495 (is_64bit): likewise
16496 (grub_freebsd_add_meta): use ALIGN_VAR
16497 (grub_e820_mmap): new declaration
16498 (grub_freebsd_add_mmap): new function
16499 (grub_freebsd_add_meta_module): support 64 bit kernels
16500 (grub_freebsd_list_modules): use ALIGN_VAR
16501 (gdt_descriptor): new declaration
16502 (grub_freebsd_boot): support 64 bit kernels
16503 (grub_bsd_elf64_hook): new function
16504 (grub_bsd_load_elf): support elf64
16505
16506 2009-05-03 Bean <bean123ch@gmail.com>
16507
16508 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16509 after we get the result of if statement.
16510
16511 2009-05-03 Bean <bean123ch@gmail.com>
16512
16513 * Makefile.in (enable_efiemu): New variable.
16514
16515 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16516 set.
16517 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16518 path.
16519 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16520 path, add -mno-red-zone option.
16521 (efiemu64_s.o): Likewise.
16522 (efiemu64.o): Use macro $^ for source file.
16523
16524 * configure.ac (--enable-efiemu): New option.
16525
16526 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 xnu support
16529
16530 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16531 (pkglib_MODULES): add xnu.mod
16532 (xnu_mod_SOURCES): new variable
16533 (xnu_mod_CFLAGS): likewise
16534 (xnu_mod_LDFLAGS): likewise
16535 (xnu_mod_ASFLAGS): likewise
16536 * conf/i386-pc.rmk: likewise
16537 * conf/x86_64-efi.rmk: likewise
16538 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
16539 new declaration
16540 * include/grub/i386/macho.h: new file
16541 * include/grub/i386/xnu.h: likewise
16542 * include/grub/macho.h: likewise
16543 * include/grub/machoload.h: likewise
16544 * include/grub/x86_64/macho.h: likewise
16545 * include/grub/x86_64/xnu.h: likewise
16546 * include/grub/xnu.h: likewise
16547 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16548 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16549 * loader/i386/efi/xnu.c: new file
16550 * loader/i386/pc/xnu.c: likewise
16551 * loader/i386/xnu.c: likewise
16552 * loader/i386/xnu_helper.S: likewise
16553 * loader/macho.c: likewise
16554 * loader/xnu.c: likewise
16555 * loader/xnu_resume.c: likewise
16556 * util/grub-dumpdevtree: likewise
16557 * include/grub/i386/pit.h: include grub/err.h
16558 (grub_pit_wait): export
16559 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
16560
16561 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 Efiemu
16564
16565 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
16566 _linux_efi, linux_efi.
16567 new files in grub-emu
16568 new targets efiemu32.o and efiemu64.o
16569 * loader/linux_normal_efiemu.c: likewise
16570 * loader/i386/efi/linux.c: added preliminary efiemu support
16571 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
16572 files to copy
16573 * include/grub/autoefi.h: new file
16574 * include/grub/i386/efiemu.h: likewise
16575 * include/grub/i386/pc/efiemu.h: likewise
16576 * include/grub/efi/api.h: add LL suffix when necessary
16577 new definitions relating to tables
16578 * include/grub/efiemu/efiemu.h: new file
16579 * include/grub/efiemu/runtime.h: likewise
16580 * efiemu/prepare.c: likewise
16581 * efiemu/loadcore_common.c: likewise
16582 * efiemu/loadcore64.c: likewise
16583 * efiemu/runtime/efiemu.sh: likewise
16584 * efiemu/runtime/efiemu.S: likewise
16585 * efiemu/runtime/efiemu.c: likewise
16586 * efiemu/runtime/config.h: likewise
16587 * efiemu/prepare32.c: likewise
16588 * efiemu/main.c: likewise
16589 * efiemu/modules/pnvram.c: likewise
16590 * efiemu/modules/i386: likewise
16591 * efiemu/modules/i386/pc: likewise
16592 * efiemu/modules/acpi.c: likewise
16593 * efiemu/i386/pc/cfgtables.c: likewise
16594 * efiemu/i386/loadcore64.c: likewise
16595 * efiemu/i386/loadcore32.c: likewise
16596 * efiemu/prepare64.c: likewise
16597 * efiemu/loadcore.c: likewise
16598 * efiemu/symbols.c: likewise
16599 * efiemu/mm.c: likewise
16600 * efiemu/loadcore32.c: likewise
16601
16602 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 ACPI spoofing
16605
16606 * commands/acpi.c: new file
16607 * commands/i386/pc/acpi.c: likewise
16608 * commands/efi/acpi.c: likewise
16609 * include/grub/acpi.h: likewise
16610 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16611 (acpi_mod_SOURCES): new variable
16612 (acpi_mod_CFLAGS): likewise
16613 (acpi_mod_LDFLAGS): likewise
16614 * conf/i386-efi.rmk: likewise
16615 * conf/x86_64-efi.rmk: likewise
16616
16617 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 Missing part from mmap patch
16620
16621 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16622 (grub_mmap_unregister)
16623 (grub_mmap_free_and_unregister): use grub_mmap_register
16624
16625 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 Mmap services
16628
16629 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16630 * loader/i386/linux.c (find_mmap_size): likewise
16631 (allocate_pages): likewise
16632 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16633 (grub_fill_multiboot_mmap): likewise
16634 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16635 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16636 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16637 (OPENBSD_MMAP_RESERVED): likewise
16638 * include/grub/i386/pc/memory.h: include grub/memory.h
16639 (grub_lower_mem): removed
16640 (grub_upper_mem): likewise
16641 (GRUB_MACHINE_MEMORY_ACPI): new definition
16642 (GRUB_MACHINE_MEMORY_NVS): likewise
16643 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16644 (GRUB_MACHINE_MEMORY_HOLE): likewise
16645 (grub_machine_mmap_register): likewise
16646 (grub_machine_mmap_unregister): likewise
16647 (grub_machine_get_upper): likewise
16648 (grub_machine_get_lower): likewise
16649 (grub_machine_get_post64): likewise
16650 * include/grub/i386/efi/memory.h: new file
16651 * include/grub/x86_64/efi/memory.h: likewise
16652 * include/grub/efi/memory.h: likewise
16653 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16654 (mmap_mod_SOURCES): new variable
16655 (mmap_mod_LDFLAGS): likewise
16656 (mmap_mod_ASFLAGS): likewise
16657 * conf/i386-coreboot.rmk: likewise
16658 * conf/i386-ieee1275.rmk: likewise
16659 * conf/i386-efi.rmk: likewise
16660 * conf/x86_64-efi.rmk: likewise
16661 * include/grub/types.h (UINT_TO_PTR): new macro
16662 (PTR_TO_UINT32): likewise
16663 (PTR_TO_UINT64): likewise
16664 * include/grub/memory.h: new file
16665 * mmap/i386/pc/mmap.c: likewise
16666 * mmap/i386/pc/mmap_helper.S: likewise
16667 * mmap/i386/uppermem.c: likewise
16668 * mmap/mmap.c: likewise
16669 * mmap/efi/mmap.c: likewise
16670 * kern/i386/coreboot/init.c (grub_machine_init): don't use
16671 grub_upper_mem
16672 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16673 (grub_upper_mem): likewise
16674 (grub_machine_init): don't use grub_upper_mem,
16675 make grub_lower_mem local
16676 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16677 grub_mmap_iterate and grub_mmap_get_upper
16678 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16679
16680 2009-05-02 Bean <bean123ch@gmail.com>
16681
16682 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16683 script/sh/parser.y.
16684 (pkglib_MODULES): Add normal.mod and sh.mod.
16685 (normal_SOURCES): New variable.
16686 (normal_mod_CFLAGS): Likewise.
16687 (normal_mod_LDFLAGS): Likewise.
16688 (sh_mod_SOURCES): Likewise.
16689 (sh_mod_CFLAGS): Likewise.
16690 (sh_mod_LDFLAGS): Likewise.
16691
16692 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16693 script/sh/lexer.c_DEPENDENCIES.
16694 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16695 kern/rescue_reader.c and kern/rescue_parser.c.
16696 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16697 (grub_emu_SOURCES): Change source files.
16698 (pkglib_MODULES): Remove normal.mod.
16699 (normal_SOURCES): Removed.
16700 (normal_mod_CFLAGS): Likewise.
16701 (normal_mod_LDFLAGS): Likewise.
16702 * conf/i386-coreboot.rmk: Likewise.
16703 * conf/i386-efi.rmk: Likewise.
16704 * conf/i386-ieee1276.rmk: Likewise.
16705 * conf/powerpc-ieee1275.rmk: Likewise.
16706 * conf/sparc64-ieee1275.rmk: Likewise.
16707 * conf/x86_64-efi.rmk: Likewise.
16708
16709 * include/grub/command.h (grub_command_execute): New inline function.
16710
16711 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16712
16713 * include/grub/normal.h: Remove <grub/setjmp.h>.
16714 (grub_fs_module_list): Moved to normal/autofs.c.
16715 (grub_exit_env): Removed.
16716 (grub_command_execute): Likewise.
16717 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16718 parameter script.
16719 (read_command_list): New function declaration.
16720 (read_fs_list): Likewise.
16721
16722 * include/parser.h: Include <grub/reader.h>.
16723 (grub_parser_split_cmdline): Change type of getline parameter.
16724 (grub_parser): New structure.
16725 (grub_parser_class): New variable.
16726 (grub_parser_execute): New function declaration.
16727 (grub_register_rescue_parser): Likewise.
16728 (grub_parser_register): New inline function.
16729 (grub_parser_unregister): Likewise.
16730 (grub_parser_get_current): Likewise.
16731 (grub_parser_set_current): Likewise.
16732
16733 * include/grub/reader.h: New file.
16734 * kern/reader.c: Likewise.
16735 * kern/rescue_parser.c: Likewise.
16736 * kern/rescue_reader.c: Likewise.
16737 * normal/autofs.c: Likewise.
16738 * normal/dyncmd.c: Likewise.
16739
16740 * include/grub/rescue.h: Removed.
16741 * normal/command.h: Likewise.
16742
16743 * include/grub/script.h: Moved to ...
16744 * include/grub/script_sh.h: ... Moved here.
16745 * normal/execute.c: Moved to ...
16746 * script/sh/execute.c: ... Moved here.
16747 * normal/function.c: Moved to ...
16748 * script/sh/function.c: ... Moved here.
16749 * normal/lexer.c: Moved to ...
16750 * script/sh/lexer.c: ... Moved here.
16751 * normal/parser.y: Moved to ...
16752 * script/sh/parser.y: ... Moved here.
16753 * normal/script.c: Moved to ...
16754 * script/sh/script.c: ... Moved here.
16755
16756 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16757 <grub/reader.h>.
16758 (grub_exit_env): Removed.
16759 (fs_module_list): Moved to normal/autofs.c.
16760 (grub_file_getline): Don't handle comment here.
16761 (free_menu): Skip removed field entry->commands.
16762 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16763 script parameter.
16764 (read_config_file): Removed nested parameter, change getline function.
16765 (grub_enter_normal_mode): Removed.
16766 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16767 (read_command_list): Likewise.
16768 (autoload_fs_module): Moved to normal/autofs.c.
16769 (read_fs_list): Likewise.
16770 (reader_nested): New variable.
16771 (grub_normal_execute): Run parser.sh to switch to sh parser.
16772 (grub_cmd_rescue): Removed.
16773 (cmd_normal): Removed.
16774 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16775 rescue command.
16776 (grub_cmdline_run): New function.
16777 (grub_normal_reader_init): Likewise.
16778 (grub_normal_read_line): Likewise.
16779 (grub_env_write_pager): Likewise.
16780 (cmdline): New variable.
16781 (grub_normal_reader): Likewise.
16782 (GRUB_MOD_INIT): Register normal reader and set as current, register
16783 pager hook, register normal command with grub_register_command_prio,
16784 so that it won't show up in command.lst.
16785 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16786 grub_fs_autoload_hook.
16787
16788 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
16789 (grub_menu_execute_entry): Replace grub_script_execute with
16790 grub_parser_execute, change parameter to grub_command_execute.
16791
16792 * normal/menu_text.c: Remove <grub/script.h>.
16793
16794 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
16795 and <grub/parser.h>.
16796 (run): Change editor_getline to use new parser interface. Change
16797 parameter to grub_command_execute.
16798
16799 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
16800 <grub/reader.h> and <grub/parser.h>.
16801 (grub_load_normal_mode): Execute normal command.
16802 (grub_main): Call grub_register_core_commands,
16803 grub_register_rescue_parser and grub_register_rescue_reader, use
16804 grub_reader_loop to enter input loop.
16805
16806 * kern/parser.c (grub_parser_split_cmdline): Change type of
16807 getline parameter.
16808 (grub_parser_class): New variable.
16809 (grub_parser_execute): New function.
16810
16811 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
16812 * loader/multiboot2.c: Likewise.
16813 * loader/sparc64/ieee1275/linux.c: Likewise.
16814
16815 * util/grub-emu.c (read_command_list): New dummy function.
16816
16817 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16818
16819 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
16820 count to 16 for CCISS and IDA.
16821
16822 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16823
16824 * normal/menu_text.c (grub_wait_after_message): Print a newline
16825 after waiting for user input.
16826
16827 * loader/i386/linux.c: Include `<grub/normal.h>'.
16828 (grub_cmd_linux): Improve the error message about `ask' mode, by
16829 waiting for user input so it's not missed (we can do this, since
16830 user requested interaction).
16831
16832 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 Added missing lst to grub-mkrescue
16835
16836 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
16837 and ${input_dir}/parttool.lst
16838
16839 2009-04-30 David S. Miller <davem@davemloft.net>
16840
16841 * util/hostdisk.c (device_is_wholedisk): New function.
16842 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
16843 zero only if device_is_wholedisk() returns true.
16844
16845 * util/hostdisk.c (convert_system_partition_to_system_disk):
16846 Handle virtual disk devices named /dev/vdiskX as found on sparc
16847 and powerpc.
16848
16849 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
16850 lettered partition specifier is found, convert to numbered.
16851
16852 2009-04-29 David S. Miller <davem@davemloft.net>
16853
16854 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
16855 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16856
16857 * normal/command.c: Add missing newline at end of file.
16858
16859 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
16860 warnings.
16861 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
16862 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
16863 grub_ofdisk_read): Likewise, and deal similarly with the fact that
16864 ihandles have a 32-bit type but need to be stored in a "void *".
16865
16866 2009-04-28 Pavel Roskin <proski@gnu.org>
16867
16868 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
16869 not disk. Adjust all dependencies.
16870 (grub_fs_uuid_close): Use grub_device_close(), not
16871 grub_disk_close().
16872
16873 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
16874 parent's partition, don't copy it by reference, as it gets freed
16875 on close.
16876
16877 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 Preboot hooks support
16880
16881 * commands/boot.c (struct grub_preboot_t): new declaration
16882 (preboots_head): new variable
16883 (preboots_tail): likewise
16884 (grub_loader_register_preboot_hook): new function
16885 (grub_loader_unregister_preboot_hook): likewise
16886 (grub_loader_set): launch preboot hooks
16887 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
16888 (grub_loader_register_preboot_hook): new declaration
16889 (grub_loader_unregister_preboot_hook): likewise
16890
16891 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 Warning fix
16894
16895 * disk/scsi.c (grub_scsi_open): added missing cast when
16896 calling grub_dprintf
16897
16898 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 Bug and warning fixes
16901
16902 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
16903 declaration
16904 * commands/test.c (test_parse): fixed bug with file tests and corrected
16905 declaration of find_file
16906
16907 2009-04-26 Pavel Roskin <proski@gnu.org>
16908
16909 * Makefile.in: Don't install empty manual pages if help2man is
16910 missing. Use help2man option for output, not shell redirection.
16911
16912 2009-04-26 David S. Miller <davem@davemloft.net>
16913
16914 * util/grub-mkdevicemap.c (make_device_map): Add missing
16915 NESTED_FUNC_ATTR to process_device().
16916
16917 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 Test command
16920
16921 * commands/test.c: rewritten to use bash-like test
16922
16923 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 Parttool autoloading and improvements
16926
16927 * Makefile.in (pkglib_DATA): add parttool.lst
16928 (parttool.lst): new target
16929 * genmk.rb: generate parttool-*
16930 (CLEANFILES): add #{parttool}
16931 (PARTTOOLFILES): new variable
16932 * genparttoollist.sh: new file
16933 * parttool/pcpart.c (grub_pcpart_boot): more feedback
16934 (grub_pcpart_type): likewise
16935 * commands/parttool.c (helpmsg): new variable
16936 (grub_cmd_parttool): output help if not enough arguments are supplied
16937 autoload modules
16938 (GRUB_MOD_INIT(parttool)): use helpmsg
16939
16940 2009-04-24 David S. Miller <davem@davemloft.net>
16941
16942 Avoiding opening same device multiple times in device iterator.
16943
16944 * kern/device.c: (grub_device_iterate): Define struct part_ent,
16945 and use it to build a list of partitions in iterate_disk() and
16946 iterate_partition().
16947
16948 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
16949 on disk->data.
16950
16951 * disk/ieee1275/nand.c (grub_nand_iterate): Return
16952 grub_devalias_iterate() result instead of unconditional 0.
16953 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
16954 Also, capture hook return value, either directly or via
16955 grub_children_iterate(), and propagate to caller.
16956 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
16957 grub_children_iterate): Return value is now 'int' instead of
16958 'grub_err_t'.
16959 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
16960 like a proper iterator, stopping when hooks return non-zero.
16961 (grub_devalias_iterate): Likewise.
16962
16963 2009-04-23 David S. Miller <davem@davemloft.net>
16964
16965 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
16966
16967 2009-04-22 David S. Miller <davem@davemloft.net>
16968
16969 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
16970 is larger than address_cells, use that value for address_cells too.
16971
16972 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
16973 IEEE1275_MAX_PATH_LEN): Define.
16974 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
16975 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
16976 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
16977 'devtype'. Explicitly NULL terminate devalias expansion.
16978
16979 * util/sparc64/ieee1275/misc.c: New file.
16980 * util/sparc64/ieee1275/grub-setup.c: New file.
16981 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
16982 * util/sparc64/ieee1275/grub-mkimage.c: New file.
16983 * util/sparc64/ieee1275/grub-install.in: New file.
16984 * util/ieee1275/ofpath.c: New file.
16985 * util/ieee1275/devicemap.c: New file.
16986 * util/devicemap.c: New file.
16987 * util/deviceiter.c: New file.
16988 * kern/sparc64/ieee1275/init.c: New file.
16989 * include/grub/util/ofpath.h: New file.
16990 * include/grub/util/deviceiter.h: New file.
16991 * util/grub-mkdevicemap.c: Include deviceiter.h.
16992 Implement using grub_util_emit_devicemap_entry and
16993 grub_util_iterate_devices.
16994 * conf/i386-corebook.rmk: Build util/deviceiter.c and
16995 util/devicemap.c into grub-mkdevicemap
16996 * conf/i386-efi.rmk: Likewise.
16997 * conf/i386-ieee1275.rmk: Likewise.
16998 * conf/i386-pc.rmk: Likewise.
16999 * conf/powerpc-ieee1275.rmk: Likewise.
17000 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17001 images and installation utilities. Build kernel as image
17002 instead of as elf binary. Use common rules as much as possible.
17003
17004 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 Correct GPT definition
17007
17008 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
17009 of "attrib" member
17010
17011 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
17012
17013 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17014
17015 2009-04-19 David S. Miller <davem@davemloft.net>
17016
17017 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17018 (grub_rescue_cmd_linux): Rename to...
17019 (grub_cmd_linux): and fix prototype.
17020 (grub_rescue_cmd_initrd): Rename to...
17021 (grub_cmd_initrd): and fix prototype.
17022 (cmd_linux, cmd_initrd): New.
17023 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17024 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17025
17026 2009-04-17 Pavel Roskin <proski@gnu.org>
17027
17028 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17029 format.
17030 (grub_ohci_transfer): Likewise.
17031
17032 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17033
17034 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17035 return without a value. Fix inconsistent indentation.
17036
17037 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17038 match struct grub_fs.
17039
17040 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17041 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17042 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17043 * commands/lspci.c (grub_lspci_iter): Likewise.
17044
17045 2009-04-16 Bean <bean123ch@gmail.com>
17046
17047 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17048 value.
17049
17050 2009-04-15 Pavel Roskin <proski@gnu.org>
17051
17052 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17053 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17054 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17055 definitions.
17056
17057 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
17058
17059 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
17060 that no multiple data or metadata areas are supported and `Unknown
17061 metadata header'.
17062
17063 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 Move loader out of the kernel
17066
17067 * kern/loader.c: moved to ...
17068 * commands/boot.c: ... moved here
17069 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17070 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17071 * include/grub/kernel.h (grub_machine_fini): export
17072 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17073 (grub_loader_set): likewise
17074 (grub_loader_unset): likewise
17075 (grub_loader_boot): likewise
17076 * conf/common.rmk: new module boot.mod
17077 (pkglib_MODULES): add boot.mod
17078 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17079 (grub_emu_SOURCES): likewise
17080 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17081 (grub_emu_SOURCES): likewise
17082 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17083 (grub_emu_SOURCES): likewise
17084 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17085 (grub_emu_SOURCES): likewise
17086 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17087 (grub_emu_SOURCES): likewise
17088 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17089 (grub_emu_SOURCES): likewise
17090 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
17091 (grub_emu_SOURCES): likewise
17092
17093 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
17096
17097 * kern/misc.c (grub_itoa): Removed function
17098 (grub_ltoa): likewise
17099 (grub_vsprintf): use grub_lltoa
17100
17101 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 Restore grub-emu
17104
17105 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17106 * conf/i386-coreboot.rmk: likewise
17107 * conf/i386-ieee1275.rmk: likewise
17108 * conf/powerpc-ieee1275.rmk: likewise
17109
17110 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
17111
17112 * INSTALL: Add that `./autogen.sh' needs to be run before
17113 `./configure.'.
17114
17115 2009-04-14 Bean <bean123ch@gmail.com>
17116
17117 * Makefile.in (pkglib_DATA): Add handler.lst.
17118 (handler.lst): New rule.
17119
17120 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17121 * conf/i386-coreboot.rmk: Likewise.
17122 * conf/i386-ieee1275.rmk: Likewise.
17123 * conf/i386-efi.rmk: Likewise.
17124 * conf/x86_64-efi.rmk: Likewise.
17125 * conf/powerpc-ieee1275.rmk: Likewise.
17126 * conf/sparc64-ieee1275.rmk: Likewise.
17127
17128 * genhandlerlist.sh: New file.
17129
17130 * genmk.rb: Add rules to generate handler.lst.
17131
17132 * include/grub/normal.h (grub_file_getline): New function definition.
17133 (read_handler_list): Likewise.
17134 (free_handler_list): Likewise.
17135
17136 * include/grub/term.h (grub_term_register_input): Add name parameter
17137 for auto generation of handler.lst.
17138 (grub_term_register_output): Likewise.
17139
17140 * normal/handler.c: New file.
17141
17142 * normal/main.c (get_line): Renamed to grub_file_getline.
17143 (read_config_file): Use the newly renamed grub_file_getline.
17144 (read_command_list): Likewise.
17145 (read_fs_list): Likewise.
17146 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17147 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17148
17149 * term/efi/console.c (grub_console_init): Add name parameter for auto
17150 generation of handler.lst.
17151 * term/gfxterm.c: Likewise.
17152 * term/i386/pc/at_keyboard.c: Likewise.
17153 * term/i386/pc/console.c: Likewise.
17154 * term/i386/pc/serial.c: Likewise.
17155 * term/i386/pc/vesafb.c: Likewise.
17156 * term/i386/pc/vga.c: Likewise.
17157 * term/i386/pc/vga_text.c: Likewise.
17158 * term/ieee1275/ofconsole.c: Likewise.
17159 * term/usb_keyboard.c: Likewise.
17160
17161 2009-04-14 Bean <bean123ch@gmail.com>
17162
17163 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17164 properly with null character.
17165
17166 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
17167
17168 * configure: Remove.
17169 * config.h.in: Likewise.
17170 * stamp-h.in: Likewise.
17171 * DISTLIST: Likewise.
17172 * conf/common.mk: Likewise.
17173 * conf/i386-coreboot.mk: Likewise.
17174 * conf/i386-efi.mk: Likewise.
17175 * conf/i386-ieee1275.mk: Likewise.
17176 * conf/i386.mk: Likewise.
17177 * conf/i386-pc.mk: Likewise.
17178 * conf/powerpc-ieee1275.mk: Likewise.
17179 * conf/sparc64-ieee1275.mk: Likewise.
17180 * conf/x86_64-efi.mk: Likewise.
17181
17182 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17183 develop on GRUB.
17184
17185 2009-04-14 John Stanley <jpsinthemix@verizon.net>
17186 David S. Miller <davem@davemloft.net>
17187
17188 * util/hostdisk.c (make_device_name): Fix buffer length
17189 calculations.
17190
17191 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
17192
17193 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17194 <sys/param.h> and <sys/sysctl.h>.
17195 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17196 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17197 opening the device and reset them afterwards.
17198
17199 2009-04-13 Pavel Roskin <proski@gnu.org>
17200
17201 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17202 Reported by John Stanley <jpsinthemix@verizon.net>
17203
17204 2009-04-13 Robert Millan <rmh@aybabtu.com>
17205
17206 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
17207 that name for menuentries when appropriate.
17208
17209 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
17210
17211 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17212
17213 2009-04-13 Robert Millan <rmh@aybabtu.com>
17214
17215 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17216 to Linux, simply abort telling the user it's no longer supported.
17217
17218 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
17219
17220 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
17221 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
17222 `freebsd_loadenv' only when devices.hints exist.
17223
17224 2009-04-13 Pavel Roskin <proski@gnu.org>
17225
17226 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17227
17228 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
17229
17230 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17231 partition number.
17232 (grub_drive): Likewise.
17233
17234 2009-04-13 David S. Miller <davem@davemloft.net>
17235
17236 * kern/sparc64/ieee1275/ieee1275.c: New file.
17237 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17238 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17239 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17240 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17241 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17242 grub_ieee1275_alloc_physmem): Declare new exported functions.
17243
17244 * include/grub/sparc64/ieee1275/loader.h: New file.
17245 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17246 * include/grub/sparc64/kernel.h: Likewise.
17247 * loader/sparc64/ieee1275/linux.c: Likewise.
17248
17249 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17250 (grub_fstest_SOURCES): Likewise.
17251
17252 * util/hostdisk.c (make_device_name): Do not make any assumptions
17253 about the length of drive names.
17254
17255 * kern/dl.c (grub_dl_load_file): Close file immediately when
17256 we are done using it.
17257
17258 2009-04-12 David S. Miller <davem@davemloft.net>
17259
17260 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17261 values. Noticed by Pavel Roskin.
17262
17263 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17264 target compiler.
17265
17266 * genmk.rb: Add more flexible image type specification, also
17267 pass --strip-unneeded to objcopy.
17268 * conf/i386-pc.rmk: Use *_FORMAT.
17269 * conf/i386-pc.mk: Rebuilt.
17270
17271 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17272 (OFDISK_HASH_SZ): Define.
17273 (ofdisk_hash): New hash table.
17274 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17275 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17276 instead of device phandle which is not unique.
17277
17278 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17279 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17280 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17281 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17282 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17283 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17284 GRUB_KERNEL_MACHINE_DATA_END): Define.
17285 (grub_kernel_image_size, grub_total_module_size): Declare.
17286
17287 2009-04-12 Pavel Roskin <proski@gnu.org>
17288
17289 * configure.ac: Change the logic when we check for target tools.
17290 Do it when the target is specified and it's different from the
17291 specified value of the host.
17292
17293 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
17294
17295 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17296 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17297 GNU/kFreeBSD. Check if a device is a character device. Use
17298 DIOCGMEDIASIZE to get the size.
17299 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17300 support for GNU/kFreeBSD.
17301 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17302 is a character device instead of a block device. Add support for
17303 FreeBSD device names.
17304
17305 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17306 is a character device instead of a block device.
17307
17308 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17309 is a character device instead of a block device.
17310
17311 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17312
17313 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17314 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17315 FreeBSD. Check if a device is a character device. Use
17316 DIOCGMEDIASIZE to get the size.
17317 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17318 support for FreeBSD.
17319 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17320 is a character device instead of a block device. Add support for
17321 FreeBSD device names.
17322
17323 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17324 a character device instead of a block device.
17325 (grub_util_check_char_device): New function.
17326
17327 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17328 a character device instead of a block device.
17329
17330 * include/grub/util/getroot.h (grub_util_check_char_device): New
17331 prototype.
17332
17333 2009-04-11 David S. Miller <davem@davemloft.net>
17334
17335 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17336 static libgcc.
17337 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17338 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17339 function, if present.
17340 (__bswapdi2): Likewise.
17341
17342 * include/grub/sparc64/ieee1275/boot.h: New file.
17343 * boot/sparc64/ieee1275/boot.S: Likewise.
17344 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17345
17346 * kern/misc.c (grub_ltoa): New function.
17347 (grub_vsprintf): Use it to format 'long' integers.
17348
17349 2009-04-10 David S. Miller <davem@davemloft.net>
17350
17351 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17352 slots are of type grub_ieee1275_cell_t.
17353 (grub_nand_read): Likewise.
17354 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17355 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17356 macros are used to compare values in arg/ret block of the call.
17357 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17358 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17359 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17360 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17361 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17362 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17363 grub_ieee1275_close, grub_ieee1275_set_property,
17364 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17365 grub_ieee1275_cell_t.
17366 * kern/ieee1275/openfw.c (grub_map): Likewise.
17367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17368 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17369
17370 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17371 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17372 (grub_devalias_iterate): Likewise.
17373
17374 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 UFS improvements
17377
17378 * fs/ufs.c (INODE_NBLOCKS): new definition
17379 (struct grub_ufs_dirent): added fields for non-BSD dirents
17380 (grub_ufs_get_file_block): fixed double indirect handling
17381 (grub_ufs_lookup_symlink): use more robust way to determine whether
17382 symlink is inline
17383 (grub_ufs_find_file): support for non-BSD dirents
17384 (grub_ufs_dir): support for non-BSD dirents
17385
17386 2009-04-10 Bean <bean123ch@gnail.com>
17387
17388 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17389 attribute, otherwise the size would be wrong for i386 platform.
17390
17391 * include/grub/pci.h (grub_pci_read_word): New inline function.
17392 (grub_pci_read_byte): Likewise.
17393 (grub_pci_write): Likewise.
17394 (grub_pci_write_word): Likewise.
17395 (grub_pci_write_byte): Likewise.
17396
17397 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17398
17399 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17400 (find_framebuf): Scan pci to locate the frame buffer address.
17401
17402 * commands/efi/fixvideo.c: New file.
17403
17404 * commands/efi/loadbios.c: Likewise.
17405
17406 * commands/memrw.c: Likewise.
17407
17408 * util/grub-dumpbios.in: Likewise.
17409
17410 * conf/common.rmk (grub-dumpbios): New utility.
17411 (pkglib_MODULES): New module memrw.mod.
17412 (memrw_mod_SOURCE): New macro.
17413 (memrw_mod_CFLAGS): Likewise.
17414 (memrw_mod_LDFLAGS): Likewise.
17415
17416 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
17417 fixvideo.mod.
17418 (loadbios_mod_SOURCE): New macro.
17419 (loadbios_mod_CFLAGS): Likewise.
17420 (loadbios_mod_LDFLAGS): Likewise.
17421 (fixvideo_mod_SOURCE): Likewise.
17422 (fixvideo_mod_CFLAGS): Likewise.
17423 (fixvideo_mod_LDFLAGS): Likewise.
17424
17425 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
17426 fixvideo.mod.
17427 (loadbios_mod_SOURCE): New macro.
17428 (loadbios_mod_CFLAGS): Likewise.
17429 (loadbios_mod_LDFLAGS): Likewise.
17430 (fixvideo_mod_SOURCE): Likewise.
17431 (fixvideo_mod_CFLAGS): Likewise.
17432 (fixvideo_mod_LDFLAGS): Likewise.
17433
17434 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
17435
17436 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17437
17438 2009-04-07 David S. Miller <davem@davemloft.net>
17439
17440 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17441 support for R_SPARC_OLO10 relocations. Fix compile warning for
17442 R_SPARC_WDISP30 case.
17443 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
17444
17445 2009-04-06 Pavel Roskin <proski@gnu.org>
17446
17447 * include/grub/misc.h (ARRAY_SIZE): New macro.
17448 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17449 New macro.
17450 * loader/i386/linux.c (allocate_pages): Use free_pages().
17451 (grub_linux_unload): Don't use free_pages().
17452 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17453 wrong index. Treat all other modes as text modes.
17454 (grub_cmd_linux): Initialize vid_mode unconditionally to
17455 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17456
17457 * commands/help.c (print_command_help): Use cmd->prio, not
17458 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17459
17460 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 Parttool
17463
17464 * parttool/pcpart.c: new file
17465 * commands/parttool.c: likewise
17466 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17467 (parttool_mod_SOURCES): new variable
17468 (parttool_mod_CFLAGS): likewise
17469 (parttool_mod_LDFLAGS): likewise
17470 (pcpart_mod_SOURCES): likewise
17471 (pcpart_mod_CFLAGS): likewise
17472 (pcpart_mod_LDFLAGS): likewise
17473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
17474 and parttool/pcpart.c
17475 * conf/i386-efi.rmk: likewise
17476 * conf/i386-ieee1275.rmk: likewise
17477 * conf/i386-pc.rmk: likewise
17478 * conf/powerpc-ieee1275.rmk: likewise
17479 * conf/sparc64-ieee1275.rmk: likewise
17480 * conf/x86_64-ieee1275.rmk: likewise
17481
17482 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 Support for mtime and further expandability of dir command
17485
17486 * include/grub/lib/datetime.h: moved to ...
17487 * include/grub/datetime.h: ... moved here and added
17488 declaration of grub_unixtime2datetime. All users updated
17489 * include/grub/fs.h: new syntax for dir and mtime functions in
17490 struct grub_fs
17491 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17492 and GRUB_FSHELP_FLAGS_MASK
17493 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17494 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17495 (grub_ext2_mtime): new function
17496 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17497 (grub_hfsplus_mtime): new function
17498 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17499 (GRUB_UFS_ATTR_FILE): likewise
17500 (GRUB_UFS_ATTR_LNK): likewise
17501 (struct grub_ufs_sblock): new fields mtime
17502 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17503 all users updated
17504 (grub_ufs_dir): mtime support
17505 (grub_ufs_mtime): new function
17506 * fs/affs.c (grub_affs_dir): use new dir syntax
17507 * fs/afs.c (grub_afs_dir): likewise
17508 * fs/cpio.c (grub_cpio_dir): likewise
17509 * fs/fat.c (grub_fat_find_dir): likewise
17510 * fs/hfs.c (grub_hfs_dir): likewise
17511 * fs/iso9660.c (grub_iso9660_dir): likewise
17512 * fs/jfs.c (grub_jfs_dir): likewise
17513 * fs/minix.c (grub_minix_dir): likewise
17514 * fs/ntfs.c (grub_ntfs_dir): likewise
17515 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17516 * fs/sfs.c (grub_sfs_dir): likewise
17517 * fs/xfs.c (grub_xfs_dir): likewise
17518 * util/hostfs.c (grub_hostfs_dir): likewise
17519 * lib/datetime.c: moved to ...
17520 * normal/datetime.c: ... moved here
17521 (grub_unixtime2datetime): new function
17522 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
17523 * normal/completion.c (iterate_dir): use new dir syntax
17524 * normal/misc.c (grub_normal_print_device_info): tell the
17525 last modification time of a volume
17526 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
17527 * conf/common.rmk: added lib/datetime.c to ls.mod
17528 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
17529 (normal_mod_SOURCES): likewise
17530 (datetime_mod_SOURCES): Removed lib/datetime.c
17531 * conf/i386-efi.rmk: likewise
17532 * conf/i386-ieee1275.rmk: likewise
17533 * conf/i386-pc.rmk: likewise
17534 * conf/powerpc-ieee1275.rmk: likewise
17535 * conf/sparc64-ieee1275.rmk: likewise
17536 * conf/x86_64-efi.rmk: likewise
17537
17538 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 Trim trailing spaces in FAT label and support mtools-like labels
17541
17542 * fs/fat.c (grub_fat_iterate_dir): New function based
17543 on grub_fat_find_dir
17544 (grub_fat_find_dir): use grub_fat_iterate_dir
17545 (grub_fat_label): likewise
17546
17547 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
17550 and command.h
17551 remove extraneous kernel_elf_HEADERS
17552
17553 2009-04-04 Bean <bean123ch@gnail.com>
17554
17555 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17556
17557 * util/misc.c: Likewise.
17558
17559 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17560
17561 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17562 instead of grub_printf.
17563
17564 2009-04-03 Robert Millan <rmh@aybabtu.com>
17565
17566 * loader/i386/linux.c (grub_linux_setup_video): Fill
17567 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17568 values from `mode info' structure instead of hardcoded
17569 values.
17570
17571 2009-04-01 Pavel Roskin <proski@gnu.org>
17572
17573 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17574 unused now.
17575 * genmk.rb: Likewise.
17576 * configure.ac: Likewise.
17577
17578 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17579
17580 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17581 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17582
17583 2009-04-01 David S. Miller <davem@davemloft.net>
17584
17585 * normal/sparc64/setjmp.S: Fix setjmp implementation.
17586 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
17587 (grub_setjmp): Mark with 'returns_twice' attribute.
17588 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17589 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17590 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17591
17592 2009-04-01 Robert Millan <rmh@aybabtu.com>
17593
17594 Reapply fix from 2008-07-28 which was accidentally reverted; also
17595 perform the same fix to a similar check in same function.
17596
17597 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17598 with the same number are found, just use issue a warning with
17599 grub_dprintf(), as this error has been reported to be non-fatal.
17600
17601 2009-03-31 Pavel Roskin <proski@gnu.org>
17602
17603 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17604 for cross-compilation.
17605
17606 2009-03-30 Robert Millan <rmh@aybabtu.com>
17607
17608 Fix i386-ieee1275 build.
17609
17610 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17611 Remove declaration.
17612
17613 2009-03-30 Pavel Roskin <proski@gnu.org>
17614
17615 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17616 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17617 zero-terminated, rely only on the strlen value. Fix comparison
17618 of strings differing in length.
17619
17620 2009-03-30 Robert Millan <rmh@aybabtu.com>
17621
17622 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17623 checking for abi version. Improve error messages on BIOS to notify
17624 user about `linux16' command.
17625
17626 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 Leak fixes
17629
17630 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17631 in case of collision
17632 * disk/scsi.c (grub_scsi_open): free scsi in case of error
17633
17634 2009-03-29 Robert Millan <rmh@aybabtu.com>
17635
17636 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17637 set `vid_mode' accordingly.
17638 (grub_linux_boot): Process `vid_mode' and set video mode.
17639
17640 2009-03-29 Robert Millan <rmh@aybabtu.com>
17641
17642 * util/grub.d/10_linux.in (linux_entry): New function.
17643 Factorize generation of Linux boot entries.
17644
17645 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17646
17647 Make the format of Environment Block plain text. The boot loader
17648 part is not tested well yet.
17649
17650 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17651 (buffer): Removed.
17652 (envblk): Likewise.
17653 (usage): Remove "info" and "clear". Add "unset". Update the
17654 description of "set", as this does not delete variables any
17655 longer.
17656 (create_envblk_file): Complete rewrite.
17657 (open_envblk_file): Likewise.
17658 (cmd_info): Removed.
17659 (cmd_list): Likewise.
17660 (cmd_set): Likewise.
17661 (cmd_clear): Likewise.
17662 (list_variables): New function.
17663 (write_envblk): Likewise.
17664 (set_variables): Likewise.
17665 (unset_variables): Likewise.
17666 (main): Complete rewrite.
17667
17668 * commands/loadenv.c (buffer): Removed.
17669 (envblk): Likewise.
17670 (open_envblk_file): New function.
17671 (read_envblk_file): Complete rewrite.
17672 (grub_cmd_load_env): Likewise.
17673 (grub_cmd_list_env): Likewise.
17674 (struct blocklist): New struct.
17675 (free_blocklists): New function.
17676 (check_blocklists): Likewise.
17677 (write_blocklists): Likewise.
17678 (grub_cmd_save_env): Complete rewrite.
17679
17680 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17681 a plain text signature.
17682 (GRUB_ENVBLK_MAXLEN): Removed.
17683 (struct grub_envblk): Complete rewrite.
17684 (grub_envblk_find): Removed.
17685 (grub_envblk_insert): Likewise.
17686 (grub_envblk_open): New prototype.
17687 (grub_envblk_set): Likewise.
17688 (grub_envblk_delete): Put const to VALUE.
17689 (grub_envblk_iterate): Put const to NAME and VALUE.
17690 (grub_envblk_close): New prototype.
17691 (grub_envblk_buffer): New inline function.
17692 (grub_envblk_size): Likewise.
17693
17694 * lib/envblk.c: Include grub/mm.h.
17695 (grub_env_find): Removed.
17696 (grub_envblk_open): New function.
17697 (grub_envblk_close): Likewise.
17698 (escaped_value_len): Likewise.
17699 (find_next_line): Likewise.
17700 (grub_envblk_insert): Removed.
17701 (grub_envblk_set): New function.
17702 (grub_envblk_delete): Complete rewrite.
17703 (grub_envblk_iterate): Likewise.
17704
17705 2009-03-28 Robert Millan <rmh@aybabtu.com>
17706
17707 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17708 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17709 variables. Use 16-bit loader.
17710 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17711 loader.
17712 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17713 (grub_linux16_boot): ... this. Update all users.
17714 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17715 (grub_linux_boot): ... this. Update all users.
17716
17717 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17718 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17719 commands to `linux16' and `initrd16'.
17720 (GRUB_MOD_FINI(linux)): Rename to ...
17721 (GRUB_MOD_FINI(linux16)): ... this.
17722
17723 2009-03-24 Pavel Roskin <proski@gnu.org>
17724
17725 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17726 not just for compilation.
17727
17728 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 Move multiboot helper out of kernel
17731
17732 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17733 `loader/i386/multiboot_helper.S'.
17734 * conf/i386-coreboot.rmk: Likewise
17735 * conf/i386-ieee1275.rmk: Likewise
17736
17737 * kern/i386/loader.S: Move multiboot helpers from here...
17738 * loader/i386/multiboot_helper.S: ...moved here
17739 * include/grub/i386/loader.h: Move declarations of multiboot
17740 helpers from here...
17741 * include/grub/i386/multiboot.h: ...moved here
17742 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17743
17744 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17745
17746 * kern/env.c (grub_env_context_open): Added an argument to specify
17747 whether a new context inherits exported variables from current
17748 one. This is useful when making a sandbox to interpret a config
17749 file.
17750 All callers updated.
17751
17752 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17753
17754 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17755
17756 * kern/env.c (grub_env_context_close): Fix memory leaks.
17757
17758 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17759
17760 * normal/main.c (grub_normal_execute): Added an argument
17761 BATCH to specify if an interactive interface should be provided
17762 after reading a config file.
17763 All callers updated.
17764 (read_command_list): Prevent being executed twice.
17765 (read_fs_list): Likewise.
17766
17767 * include/grub/normal.h (grub_normal_execute): Updated the
17768 prototype.
17769
17770 2009-03-22 Pavel Roskin <proski@gno.org>
17771
17772 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17773 _start.
17774 * kern/i386/pc/startup.S: Likewise.
17775 * kern/i386/efi/startup.S: Likewise.
17776 * kern/i386/ieee1275/startup.S: Likewise.
17777 * kern/i386/coreboot/startup.S: Likewise.
17778 * kern/x86_64/efi/startup.S: Likewise.
17779
17780 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17781 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17782 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17783
17784 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17785
17786 Bugfixes in multiboot for bugs uncovered by solaris kernel.
17787
17788 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
17789 limit detection.
17790 Use vaddr of correct segment for entry_point.
17791
17792 2009-03-21 Bean <bean123ch@gmail.com>
17793
17794 * commands/blocklist.c: Add include file <grub/command.h>, remove
17795 <grub/normal.h> and <grub/arg.h>.
17796 (grub_cmd_blocklist): Use the new command interface.
17797 (GRUB_MOD_INIT): Likewise.
17798 (GRUB_MOD_FINI): Likewise.
17799 * commands/boot.c: Likewise.
17800 * commands/cat.c: Likewise.
17801 * commands/cmp.c: Likewise.
17802 * commands/configfile.c: Likewise.
17803 * commands/crc.c: Likewise.
17804 * commands/echo.c: Likewise.
17805 * commands/halt.c: Likewise.
17806 * commands/handler.c: Likewise.
17807 * commands/hdparm.c: Likewise.
17808 * commands/help.c: Likewise.
17809 * commands/hexdump.c: Likewise.
17810 * commands/loadenv.c: Likewise.
17811 * commands/ls.c: Likewise.
17812 * commands/lsmmap.c: Likewise.
17813 * commands/lspci.c: Likewise.
17814 * commands/loadenv.c: Likewise.
17815 * commands/read.c: Likewise.
17816 * commands/reboot.c: Likewise.
17817 * commands/search.c: Likewise.
17818 * commands/sleep.c: Likewise.
17819 * commands/test.c: Likewise.
17820 * commands/usbtest.c: Likewise.
17821 * commands/videotest.c: Likewise.
17822 * commands/i386/cpuid.c: Likewise.
17823 * commands/i386/pc/halt.c: Likewise.
17824 * commands/i386/pc/play.c: Likewise.
17825 * commands/i386/pc/pxecmd.c: Likewise.
17826 * commands/i386/pc/vbeinfo.c: Likewise.
17827 * commands/i386/pc/vbetest.c: Likewise.
17828 * commands/ieee1275/suspend.c: Likewise.
17829 * disk/loopback.c: Likewise.
17830 * font/font_cmd.c: Likewise.
17831 * hello/hello.c: Likewise.
17832 * loader/efi/appleloader.c: Likewise.
17833 * loader/efi/chainloader.c: Likewise.
17834 * loader/i386/bsd.c: Likewise.
17835 * loader/i386/efi/linux.c: Likewise.
17836 * loader/i386/ieee1275/linux.c: Likewise.
17837 * loader/i386/linux.c: Likewise.
17838 * loader/i386/pc/chainloader.c: Likewise.
17839 * loader/i386/pc/linux.c: Likewise.
17840 * loader/powerpc/ieee1275/linux.c: Likewise.
17841 * loader/multiboot_loader.c: Likewise.
17842 * term/gfxterm.c: Likewise.
17843 * term/i386/pc/serial.c: Likewise.
17844 * term/terminfo.c: Likewise.
17845
17846 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
17847 * term/i386/pc/vga.c: Likewise.
17848 * video/readers/jpeg.c: Likewise.
17849 * video/readers/png.c: Likewise.
17850 * video/readers/tga.c: Likewise.
17851
17852 * util/grub-fstest (cmd_loopback): Removed.
17853 (cmd_blocklist): Likewise.
17854 (cmd_ls): Likewise.
17855 (grub_register_command): Likewise.
17856 (grub_unregister_command): Likewise.
17857 (execute_command): Use grub_command_find to locate command and execute
17858 it.
17859
17860 * include/grub/efi/chainloader.h: Removed.
17861 * loader/efi/chainloader_normal.c: Likewise.
17862 * loader/i386/bsd_normal.c: Likewise.
17863 * loader/i386/pc/chainloader_normal.c: Likewise.
17864 * loader/i386/pc/multiboot_normal.c: Likewise.
17865 * loader/linux_normal.c: Likewise.
17866 * loader/multiboot_loader_normal.c: Likewise.
17867 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17868
17869 * gencmdlist.sh: Scan new registration command grub_register_extcmd
17870 and grub_register_command_p1.
17871
17872 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
17873 kern/command.c, lib/arg.c and commands/extcmd.c.
17874 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
17875 (minicmd_mod_SOURCES): New variable.
17876 (minicmd_mod_CFLAGS): Likewise.
17877 (minicmd_mod_LDFLAGS): Likewise.
17878 (extcmd_mod_SOURCES): Likewise.
17879 (extcmd_mod_CFLAGS): Likewise.
17880 (extcmd_mod_LDFLAGS): Likewise.
17881 (boot_mod_SOURCES): Removed.
17882 (boot_mod_CFLAGS): Likewise.
17883 (boot_mod_LDFLAGS): Likewise.
17884
17885 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
17886 kern/corecmd.c.
17887 (kernel_img_HEADERS): Add command.h.
17888 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
17889 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
17890 and lib/arg.c.
17891 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
17892 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
17893 remove the corresponding normal mode command.
17894 (normal_mod_SOURCES): Remove normal/arg.c.
17895 * conf/i386-coreboot.rmk: Likewise.
17896 * conf/i386-efi.rmk: Likewise.
17897 * conf/i386-ieee1275.rmk: Likewise.
17898 * conf/powerpc-ieee1275.rmk: Likewise.
17899 * conf/x86_64-efi.rmk: Likewise.
17900
17901 * include/grub/arg.h: Move from here ...
17902 * include/grub/lib/arg.h: ... to here.
17903
17904 * normal/arg.c: Move from here ...
17905 * lib/arg.c: ... to here.
17906
17907 * commands/extcmd.c: New file.
17908 * commands/minicmd.c: Likewise.
17909 * include/grub/command.h: Likewise.
17910 * include/grub/extcmd.h: Likewise.
17911 * kern/command.c: Likewise.
17912 * kern/corecmd.c: Likewise.
17913
17914 * kern/list.c (grub_list_iterate): Return int instead of void.
17915 (grub_list_insert): New function.
17916 (grub_prio_list_insert): Likewise.
17917
17918 * kern/rescue.c (grub_rescue_command): Removed.
17919 (grub_rescue_command_list): Likewise.
17920 (grub_rescue_register_command): Likewise.
17921 (grub_rescue_unregister_command): Likewise.
17922 (grub_rescue_cmd_boot): Move to minicmd.c
17923 (grub_rescue_cmd_help): Likewise.
17924 (grub_rescue_cmd_info): Likewise.
17925 (grub_rescue_cmd_boot): Likewise.
17926 (grub_rescue_cmd_testload): Likewise.
17927 (grub_rescue_cmd_dump): Likewise.
17928 (grub_rescue_cmd_rmmod): Likewise.
17929 (grub_rescue_cmd_lsmod): Likewise.
17930 (grub_rescue_cmd_exit): Likewise.
17931 (grub_rescue_print_devices): Moved to corecmd.c.
17932 (grub_rescue_print_files): Likewise.
17933 (grub_rescue_cmd_ls): Likewise.
17934 (grub_rescue_cmd_insmod): Likewise.
17935 (grub_rescue_cmd_set): Likewise.
17936 (grub_rescue_cmd_unset): Likewise.
17937 (attempt_normal_mode): Use grub_command_find to get normal module.
17938 (grub_enter_rescue_mode): Use grub_register_core_commands to register
17939 commands, remove grub_rescue_register_command calls.
17940
17941 * normal/command.c (grub_register_command): Removed.
17942 (grub_unregister_command): Likewise.
17943 (grub_command_find): Likewise.
17944 (grub_iterate_commands): Likewise.
17945 (rescue_command): Likewise.
17946 (export_command): Moved to corecmd.c.
17947 (set_command): Removed.
17948 (unset_command): Likewise.
17949 (insmod_command): Likewise.
17950 (rmmod_command): Likewise.
17951 (lsmod_command): Likewise.
17952 (grub_command_init): Likewise.
17953
17954 * normal/completion.c (iterate_command): Use cmd->prio to check for
17955 active command.
17956 (complete_arguments): Use grub_extcmd_t structure to find options.
17957 (grub_normal_do_completion): Change function grub_iterate_commands to
17958 grub_command_iterate.
17959
17960 * normal/execute.c (grub_script_execute_cmd): No need to parse
17961 argument here.
17962
17963 * normal/main.c (grub_dyncmd_dispatcher): New function.
17964 (read_command_list): Register unload commands as dyncmd.
17965 (grub_cmd_normal): Use new command interface, register rescue,
17966 unregister normal at entry, register normal, unregister rescue at exit.
17967
17968 * include/grub/list.h (grub_list_test_t): New type.
17969 (grub_list_iterate): Return int instead of void.
17970 (grub_list_insert): New function.
17971 (GRUB_AS_NAMED_LIST_P): New macro.
17972 (GRUB_AS_PRIO_LIST): Likewise.
17973 (GRUB_AS_PRIO_LIST_P): Likewise.
17974 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
17975 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
17976 (grub_prio_list): New structure.
17977 (grub_prio_list_insert): New function.
17978 (grub_prio_list_remove): New inline function.
17979
17980 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
17981 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
17982 (GRUB_COMMAND_FLAG_MENU): Likewise.
17983 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17984 (GRUB_COMMAND_FLAG_TITLE): Likewise.
17985 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17986 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
17987 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
17988 (grub_command): Likewise.
17989 (grub_register_command): Likewise.
17990 (grub_command_find): Likewise.
17991 (grub_iterate_commands): Likewise.
17992 (grub_command_init): Likewise.
17993 (grub_arg_parse): Likewise.
17994 (grub_arg_show_help): Likewise.
17995
17996 * include/grub/rescue.h (grub_rescue_register_command): Removed.
17997 (grub_rescue_unregister_command): Likewise.
17998
17999 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18000 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18001 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18002
18003 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18004 grub_rescue_cmd_initrd.
18005 * include/grub/i386/loader.h: Likewise.
18006 * include/grub/x86_64/loader.h: Likewise.
18007
18008 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18009
18010 2009-03-21 Bean <bean123ch@gmail.com>
18011
18012 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18013 instead of stat in mingw environment.
18014
18015 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18016
18017 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18018
18019 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18020 AC_CONFIG_LINKS.
18021
18022 2009-03-21 Bean <bean123ch@gmail.com>
18023
18024 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18025 out of range error.
18026
18027 2009-03-18 Michel Dänzer <michel@daenzer.net>
18028
18029 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18030 checking inode flags for EXT4_EXTENTS_FLAG.
18031
18032 2009-03-18 Robert Millan <rmh@aybabtu.com>
18033
18034 * loader/i386/linux.c: Include `<grub/video.h>' and
18035 `<grub/i386/pc/vbe.h>'..
18036 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18037 (grub_linux32_boot): Attempt to configure video settings with
18038 grub_linux_setup_video().
18039 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18040 to avoid grub_console_fini() which would step out of graphical mode
18041 unconditionally.
18042
18043 2009-03-14 Robert Millan <rmh@aybabtu.com>
18044
18045 Fix build on powerpc.
18046 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18047
18048 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18051 background image command.
18052
18053 2009-03-12 Colin D Bennett <colin@gibibit.com>
18054
18055 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18056 (grub_gfxterm_putchar): Extract pairs of identical calls to
18057 draw_cursor out of conditional blocks.
18058
18059 2009-03-11 Pavel Roskin <proski@gnu.org>
18060
18061 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18062 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18063
18064 2009-03-11 Robert Millan <rmh@aybabtu.com>
18065
18066 * loader/i386/multiboot_elfxx.c
18067 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18068
18069 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
18070
18071 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18072 `kern/handler.c'.
18073
18074 2009-03-11 Robert Millan <rmh@aybabtu.com>
18075
18076 * loader/i386/multiboot.c (code_size): New variable.
18077 (grub_multiboot): Define offsets by adding to `code_size' rather
18078 than subtracting from `grub_multiboot_payload_size'. Provide
18079 4-byte alignment to MBI and others by increasing
18080 `boot_loader_name_length' appropriately.
18081
18082 * loader/i386/multiboot_elfxx.c
18083 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18084
18085 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
18086
18087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18088 `fs/ext2.c'.
18089
18090 2009-03-08 Robert Millan <rmh@aybabtu.com>
18091
18092 Make loader/i386/linux.c usable on i386-pc again.
18093
18094 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18095 memory to heap.
18096 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18097 `#error' stanza.
18098
18099 2009-03-07 Bean <bean123ch@gmail.com>
18100
18101 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18102 allocation.
18103
18104 2009-03-06 Robert Millan <rmh@aybabtu.com>
18105
18106 Fix display issue on terminals with screen size other than 80x25
18107 (e.g. gfxterm with resolution higher than 640x480).
18108
18109 * normal/main.c (grub_normal_init_page): Display title text in a
18110 position relative to the center of the terminal instead of relying
18111 on a hardcoded offset.
18112
18113 2009-03-04 Robert Millan <rmh@aybabtu.com>
18114
18115 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18116 installed.
18117
18118 * Makefile.in (host_kernel): New variable.
18119 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18120 scripts instead of just the windows one.
18121 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18122
18123 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
18124
18125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18126 `kern/handler.c'.
18127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18128 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18129 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18131 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18133
18134 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
18135
18136 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18137 or if there's no space for the disk label and print the partition number on a
18138 invalid magic.
18139
18140 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
18141
18142 * util/misc.c: Include <time.h>.
18143 (grub_millisleep): New function.
18144
18145 2009-03-04 Bean <bean123ch@gmail.com>
18146
18147 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18148 another option -mno-red-zone.
18149
18150 * commands/handler.c: Change module description.
18151
18152 * kern/handler.c: Add missing space at the end of description line.
18153
18154 * kern/list.c: Likewise.
18155
18156 2009-03-03 Robert Millan <rmh@aybabtu.com>
18157
18158 Move more components to the relocation area, and fix mbi pointer
18159 handling to use the destination rather than the origin (thanks to
18160 Vladimir Serbinenko for spotting).
18161
18162 * loader/i386/multiboot.c (mbi_dest): New variable.
18163 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18164 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18165 relocation area.
18166
18167 2009-03-01 Bean <bean123ch@gmail.com>
18168
18169 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
18170 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18171 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18172 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18173
18174 * loader/i386/efi/linux.c (acpi_guid): New variable.
18175 (acpi_guid): Likewise.
18176 (EBDA_SEG_ADDR): New constant.
18177 (LOW_MEM_ADDR): Likewise.
18178 (FAKE_EBDA_SEG): Likewise.
18179 (fake_bios_data): New function.
18180 (grub_linux_boot): Call fake_bios_data.
18181
18182 2009-03-01 Bean <bean123ch@gmail.com>
18183
18184 * commands/terminal.c: Removed.
18185
18186 * commands/handler.c: New file.
18187
18188 * include/grub/list.h: Likewise.
18189
18190 * include/grub/handler.h: Likewise.
18191
18192 * kern/list.c: Likewise.
18193
18194 * kern/handler.c: Likewise.
18195
18196 * kern/term.h: Include header file <grub/handler.h>.
18197 (grub_term_input): Move next field to the beginning.
18198 (grub_term_output): Likewise.
18199 (grub_term_input_class): New variable.
18200 (grub_term_output_class): Likewise.
18201 (grub_term_register_input): Changed to inline function.
18202 (grub_term_register_output): Likewise.
18203 (grub_term_unregister_input): Likewise.
18204 (grub_term_unregister_output): Likewise.
18205 (grub_term_set_current_input): Likewise.
18206 (grub_term_set_current_output): Likewise.
18207 (grub_term_get_current_input): Likewise.
18208 (grub_term_get_current_output): Likewise.
18209 (grub_term_iterate_input): Removed.
18210 (grub_term_iterate_output): Likewise.
18211
18212 * kern/term.c (grub_term_list_input): Removed.
18213 (grub_term_list_output): Likewise.
18214 (grub_term_input_class): New variable.
18215 (grub_term_output_class): Likewise.
18216 (grub_cur_term_input): Change variable as macro.
18217 (grub_cur_term_output): Likewise.
18218 (grub_term_register_input): Removed.
18219 (grub_term_register_output): Likewise.
18220 (grub_term_unregister_input): Likewise.
18221 (grub_term_unregister_output): Likewise.
18222 (grub_term_set_current_input): Likewise.
18223 (grub_term_set_current_output): Likewise.
18224 (grub_term_iterate_input): Likewise.
18225 (grub_term_iterate_output): Likewise.
18226 (grub_term_get_current_input): Likewise.
18227 (grub_term_get_current_output): Likewise.
18228
18229 * util/grub-editenv.c: Include header file <grub/handler.h>.
18230 (grub_term_get_current_input): Removed.
18231 (grub_term_get_current_output): Likewise.
18232 (grub_term_input_class): New variable.
18233 (grub_term_output_class): Likewise.
18234
18235 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18236 (grub_term_get_current_output): Likewise.
18237 (grub_term_input_class): New variable.
18238 (grub_term_output_class): Likewise.
18239
18240 * util/grub-probe.c (grub_term_get_current_input): Removed.
18241 (grub_term_get_current_output): Likewise.
18242 (grub_term_input_class): New variable.
18243 (grub_term_output_class): Likewise.
18244
18245 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18246 (grub_term_get_current_output): Likewise.
18247 (grub_term_input_class): New variable.
18248 (grub_term_output_class): Likewise.
18249
18250 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18251 (terminal_mod_SOURCES): Likewise.
18252 (terminal_mod_CFLAGS): Likewise.
18253 (terminal_mod_LDFLAGS): Likewise.
18254
18255 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18256 handler.c.
18257 (kernel_img_SOURCES): Add list.c and handler.c.
18258 (kernel_img_HEADERS): Add list.h and handler.h.
18259
18260 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18261 handler.c.
18262 (kernel_mod_SOURCES): Add list.c and handler.c.
18263 (kernel_mod_HEADERS): Add list.h and handler.h.
18264
18265 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18266 handler.c.
18267 (kernel_elf_SOURCES): Add list.c and handler.c.
18268 (kernel_elf_HEADERS): Add list.h and handler.h.
18269
18270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18271 handler.c.
18272 (kernel_elf_SOURCES): Add list.c and handler.c.
18273 (kernel_elf_HEADERS): Add list.h and handler.h.
18274
18275 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18276 handler.c.
18277 (kernel_mod_SOURCES): Add list.c and handler.c.
18278 (kernel_mod_HEADERS): Add list.h and handler.h.
18279
18280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18281 handler.c.
18282 (kernel_elf_SOURCES): Add list.c and handler.c.
18283 (kernel_elf_HEADERS): Add list.h and handler.h.
18284
18285 2009-02-27 Robert Millan <rmh@aybabtu.com>
18286
18287 Factorize elf32 / elf64 code in Multiboot loader. This will
18288 prevent it from getting out of sync again.
18289
18290 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18291 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18292 grub_multiboot_load_elf64): Move from here ...
18293 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18294 grub_multiboot_load_elf): ... to here (new file).
18295
18296 2009-02-27 Robert Millan <rmh@aybabtu.com>
18297
18298 * util/grub.d/10_linux.in: Rename "single-user mode" to
18299 "recovery mode".
18300
18301 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18302
18303 Don't leak in SCSI code.
18304 * disk/scsi.c (grub_scsi_close): free `scsi'.
18305
18306 2009-02-27 Robert Millan <rmh@aybabtu.com>
18307
18308 * loader/i386/pc/multiboot.c: Move from here ...
18309 * loader/i386/multiboot.c: ... to here. Update all users.
18310
18311 2009-02-27 Robert Millan <rmh@aybabtu.com>
18312
18313 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18314 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18315
18316 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
18317
18318 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18319 b-tree.
18320
18321 2009-02-27 Robert Millan <rmh@aybabtu.com>
18322
18323 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18324 `0x' qualifier as 0 when base is specified as parameter).
18325
18326 2009-02-24 Bean <bean123ch@gmail.com>
18327
18328 * configure.ac: Check for -mcmodel=large in x86_64 target.
18329
18330 * include/grub/efi/api.h (efi_call_10): New macro.
18331 (efi_wrap_10): New function.
18332
18333 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18334 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18335 (GRUB_PE32_REL_BASED_LOW): Likewise.
18336 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18337 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18338 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18339 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18340 (GRUB_PE32_REL_BASED_REL): Likewise.
18341 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18342 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18343 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18344
18345 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18346 issue.
18347
18348 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18349 (efi_wrap_10): New function.
18350
18351 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18352
18353 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18354 MB/MBP model (NV chipset).
18355 (devdata_devs): Add devpath_5 to the list.
18356
18357 * load/i386/efi/linux.c (video_base): Remove variable.
18358 (RGB_MASK): New macro.
18359 (RGB_MAGIC): Likewise.
18360 (LINE_MIN): Likewise.
18361 (LINE_MAX): Likewise.
18362 (FBTEST_STEP): Likewise.
18363 (FBTEST_COUNT): Likewise.
18364 (fb_list): New variable.
18365 (grub_find_video_card): Remove function.
18366 (find_framebuf): New function.
18367 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18368 line length.
18369
18370 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18371 problem for x86_64.
18372
18373 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18374
18375 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18376
18377 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18378 coding tool name.
18379
18380 2009-02-22 Robert Millan <rmh@aybabtu.com>
18381
18382 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18383 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18384 in our relocation, instead of using it directly from heap. Also
18385 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18386
18387 2009-02-21 Robert Millan <rmh@aybabtu.com>
18388
18389 Implement USB keyboard support (based on patch by Marco Gerards)
18390
18391 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18392 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18393 (usb_keyboard_mod_LDFLAGS): New variables.
18394
18395 * term/usb_keyboard.c: New file.
18396
18397 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18398
18399 Corrected wrong declaration
18400
18401 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18402
18403 2009-02-14 Christian Franke <franke@computer.org>
18404
18405 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18406 (grub_lspci_iter): Print class code and programming interface byte.
18407
18408 2009-02-14 Christian Franke <franke@computer.org>
18409
18410 * gendistlist.sh: Ignore `.svn' directories.
18411
18412 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
18413
18414 * fs/fat.c: Add 2009 to Copyright line.
18415
18416 2009-02-14 Christian Franke <franke@computer.org>
18417
18418 * commands/hdparm.c: New file. Provides `hdparm' command
18419 which sends ATA commands via grub_disk_ata_pass_through ().
18420
18421 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18422
18423 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18424 and <grub/cpu/io.h> to include/grub/ata.h.
18425 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18426 (GRUB_CDROM_SECTOR_SIZE): Remove.
18427 (GRUB_ATA_*): Move to include/grub/ata.h.
18428 (GRUB_ATAPI_*): Likewise.
18429 (enum grub_ata_commands): Likewise.
18430 (enum grub_ata_timeout_milliseconds): Likewise.
18431 (struct grub_ata_device): Likewise.
18432 (grub_ata_regset): Likewise.
18433 (grub_ata_regget): Likewise.
18434 (grub_ata_regset2): Likewise.
18435 (grub_ata_regget2): Likewise.
18436 (grub_ata_check_ready): Likewise.
18437 (grub_ata_wait_not_busy): Remove static, exported in
18438 include/grub/ata.h.
18439 (grub_ata_wait_drq): Likewise.
18440 (grub_ata_pio_read): Likewise.
18441
18442 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18443 function for hdparm.mod.
18444
18445 * include/grub/ata.h: New file, contains declarations from
18446 disk/ata.c.
18447 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18448
18449 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18450 (grub_disk_ata_pass_through): New exported variable.
18451
18452 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18453
18454 2009-02-13 Colin D Bennett <colin@gibibit.com>
18455
18456 Support multiple fallback entries, and provide an API to support
18457 executing default+fallback menu entries. Renamed the `terminal' menu
18458 viewer to `text'.
18459
18460 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18461 variable declaration.
18462 (grub_menu_execute_callback): New structure declaration.
18463 (grub_menu_execute_callback_t): New typedef.
18464 (grub_menu_execute_with_fallback): New function declaration.
18465 (grub_menu_get_entry): Likewise.
18466 (grub_menu_get_timeout): Likewise.
18467 (grub_menu_set_timeout): Likewise.
18468
18469 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18470
18471 * normal/menu.c (grub_wait_after_message): Moved to
18472 `normal/menu_text.c'.
18473 (draw_border): Likewise.
18474 (print_message): Likewise.
18475 (print_entry): Likewise.
18476 (print_entries): Likewise.
18477 (grub_menu_init_page): Likewise.
18478 (get_entry_number): Likewise.
18479 (print_timeout): Likewise.
18480 (run_menu): Likewise.
18481 (grub_menu_execute_entry): Likewise.
18482 (show_text_menu): Likewise.
18483 (get_and_remove_first_entry_number): New function.
18484 (grub_menu_execute_with_fallback): Likewise.
18485 (get_entry): Renamed to ...
18486 (grub_menu_get_entry): .. this and made it global.
18487 (get_timeout): Renamed to ...
18488 (grub_menu_get_timeout): ... this and made it global.
18489 (set_timeout): Renamed to ...
18490 (grub_menu_set_timeout): ... this and made it global.
18491 (grub_normal_terminal_menu_viewer): Renamed to ...
18492 (grub_normal_text_menu_viewer): ... this.
18493
18494 * normal/menu_text.c: New file. Extracted text-menu-specific code
18495 from normal/menu.c.
18496
18497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18498 (normal_mod_SOURCES): Likewise.
18499
18500 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18501 (normal_mod_SOURCES): Likewise.
18502
18503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18504 (normal_mod_SOURCES): Likewise.
18505
18506 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18507 (normal_mod_SOURCES): Likewise.
18508
18509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18510 (normal_mod_SOURCES): Likewise.
18511
18512 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18513 (normal_mod_SOURCES): Likewise.
18514
18515 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18516 (normal_mod_SOURCES): Likewise.
18517
18518 2009-02-11 Robert Millan <rmh@aybabtu.com>
18519
18520 * util/grub.d/00_header.in: Update old reference to `font' command.
18521
18522 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
18523
18524 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18525
18526 Based on patch from Javier Martín.
18527
18528 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
18529
18530 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
18531 to avoid false positives with FAT.
18532 (grub_fstest_SOURCES): Likewise.
18533 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18534 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18539
18540 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
18541
18542 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
18543 bpb.version_specific.fat12_or_fat16.fstype and
18544 bpb.version_specific.fat32.fstype.
18545
18546 2009-02-08 Robert Millan <rmh@aybabtu.com>
18547
18548 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
18549
18550 2009-02-08 Robert Millan <rmh@aybabtu.com>
18551
18552 * Makefile.in (host_os, host_cpu): New variables.
18553 (target_os): Remove. Update all users.
18554
18555 2009-02-08 Marco Gerards <marco@gnu.org>
18556
18557 * Makefile.in (enable_grub_emu_usb): New variable.
18558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18559 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18560 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18561 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18562 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18563 `usbtest.mod' and `usbms.mod'.
18564 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18565 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18566 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18567 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18568 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18569 variables.
18570
18571 * disk/usbms.c: New file.
18572
18573 * include/grub/usb.h: Likewise.
18574
18575 * include/grub/usbtrans.h: Likewise.
18576
18577 * include/grub/usbdesc.h: Likewise.
18578
18579 * bus/usb/usbtrans.c: Likewise.
18580
18581 * bus/usb/ohci.c: Likewise.
18582
18583 * bus/usb/uhci.c: Likewise.
18584
18585 * bus/usb/usbhub.c: Likewise.
18586
18587 * bus/usb/usb.c: Likewise.
18588
18589 * commands/usbtest.c: Likewise.
18590
18591 * util/usb.c: Likewise.
18592
18593 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18594
18595 * configure.ac: Test for libusb presence.
18596
18597 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18598
18599 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18600
18601 * kern/mm.c: Add more comments.
18602
18603 2009-02-08 Robert Millan <rmh@aybabtu.com>
18604
18605 Patch from Javier Martín.
18606 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18607 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18608
18609 2009-02-08 Robert Millan <rmh@aybabtu.com>
18610
18611 * fs/cpio.c: Split tar functionality to ...
18612 * fs/tar.c: ... here (new file). Update all users.
18613
18614 2009-02-07 Robert Millan <rmh@aybabtu.com>
18615
18616 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18617 backward-incompatible features.
18618
18619 Based on patch from Javier Martín, with some adjustments.
18620
18621 2009-02-07 Michael Scherer <misc@mandriva.org>
18622
18623 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18624
18625 2009-02-07 Robert Millan <rmh@aybabtu.com>
18626
18627 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18628 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18629 after the RAID stuff.
18630
18631 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18632
18633 Fixes problem when running vbetest command as reported by
18634 Vladimir Serbinenko <phcoder@gmail.com>.
18635
18636 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18637
18638 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
18639
18640 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18641 /dev/md/NpN style mdraid devices.
18642
18643 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
18644
18645 * util/unifont2pff.rb: Remove.
18646
18647 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
18648
18649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18650 `#'.
18651
18652 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
18653
18654 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18655 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18656 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18659 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18660 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18661
18662 2009-02-02 Christian Franke <franke@computer.org>
18663
18664 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18665
18666 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
18667
18668 * INSTALL: Note that we now require at least autoconf 2.59 and
18669 that LZO is optional.
18670
18671 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18672
18673 Base on patch on bug #24154 created by Tomas Tintera
18674 <trosos@seznam.cz>.
18675
18676 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18677
18678 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18679
18680 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
18681 <bero@arklinux.org>.
18682
18683 * normal/parser.y (script_init): Add missing semicolon.
18684
18685 2009-01-31 Colin D Bennett <colin@gibibit.com>
18686
18687 * normal/main.c: Add include to grub/menu_viewer.h.
18688 (free_menu_entry_classes): Added.
18689 (grub_normal_menu_addentry): Added class property handling.
18690 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18691 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18692
18693 * normal/menu_viewer.c: New file.
18694
18695 * normal/menu.c (run_menu_entry): Renamed to ...
18696 (grub_menu_execute_entry): ... this and made it as global.
18697 (grub_menu_run): Renamed to ...
18698 (show_text_menu): ... this and made it local.
18699 (show_text_menu): Adapt to new function names.
18700 (grub_normal_terminal_menu_viewer): New global variable.
18701
18702 * include/grub/menu.h: New file.
18703
18704 * include/grub/menu_viewer.h: New file.
18705
18706 * include/grub/normal.h: Added include to grub/menu.h.
18707 (grub_menu_entry): Moved to include/grub/menu.h.
18708 (grub_menu_entry_t): Likewise.
18709 (grub_menu): Likewise.
18710 (grub_menu_t): Likewise.
18711 (grub_normal_terminal_menu_viewer): Added.
18712 (grub_menu_execute_entry): Likewise.
18713 (grub_menu_run): Removed.
18714
18715 * DISTLIST: Added include/grub/menu.h.
18716 Added include/grub/menu_viewer.h.
18717 Added normal/menu_viewer.c.
18718
18719 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18720
18721 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18722 arglist for menutitle arguments.
18723
18724 * normal/main.c (grub_normal_menu_addentry): Likewise.
18725
18726 * normal/parser.y (menuentry): Likewise.
18727
18728 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18729
18730 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18731 (grub_script_create_cmdmenu): Likewise.
18732
18733 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18734
18735 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18736 changes.
18737
18738 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18739
18740 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18741
18742 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18743
18744 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18745
18746 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18747
18748 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18749
18750 2009-01-30 Christian Franke <franke@computer.org>
18751
18752 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18753 in option help text.
18754
18755 2009-01-27 Pavel Roskin <proski@gnu.org>
18756
18757 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18758
18759 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18760
18761 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18762
18763 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18764
18765 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18766 unregister function.
18767
18768 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18769
18770 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18771
18772 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18773
18774 * util/grub-mkfont.c (usage): Fix typo.
18775
18776 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18777
18778 2009-01-26 Daniel Mierswa <impulze@impulze.org>
18779
18780 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18781
18782 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18783
18784 * kern/misc.c (grub_strcasecmp): New function.
18785 (grub_strcasecmp): Use grub_size_t instead of int for length.
18786 Fix return value.
18787 * include/grub/misc.h: Update function prototypes.
18788
18789 2009-01-26 Robert Millan <rmh@aybabtu.com>
18790
18791 * configure.ac: Fix cross-compilation check.
18792
18793 2009-01-22 Christian Franke <franke@computer.org>
18794
18795 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
18796 (precision) digit string. Allow `.format2' without `format1' (width).
18797 Limit input chars for `%s' output to `format2' if specified. This is
18798 compatible with standard printf ().
18799
18800 2009-01-22 Christian Franke <franke@computer.org>
18801
18802 * disk/ata.c (grub_ata_wait_status): Replace by ...
18803 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
18804 other status bits may be invalid while BSY is asserted.
18805 (grub_ata_check_ready): New function.
18806 (grub_ata_cmd): Removed.
18807 (grub_ata_wait_drq): New function.
18808 (grub_ata_strncpy): Remove inline.
18809 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
18810 and error check now done by grub_ata_wait_drq ().
18811 (grub_ata_pio_write): Likewise.
18812 (grub_atapi_identify): Set DEV before check for !BSY. Use
18813 grub_ata_wait_drq () to wait for data.
18814 (grub_ata_device_initialize): Add status register check to
18815 detect missing SATA slave devices. Add debug messages.
18816 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
18817 (grub_atapi_packet): Set DEV before check for !BSY. Replace
18818 transfer loop by grub_ata_pio_write ().
18819 (grub_ata_identify): Set DEV before check for !BSY. Use
18820 grub_ata_wait_drq () to wait for data.
18821 (grub_ata_setaddress): Set DEV before check for !BSY.
18822 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
18823 read/write in one loop. Fix invalid command on write. Fix incomplete
18824 command on (size % batch) == 0. Add missing error check after write of
18825 last block. Add debug messages.
18826 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
18827
18828 2009-01-19 Christian Franke <franke@computer.org>
18829
18830 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
18831 (GRUB_ATAPI_IREASON_*): Likewise.
18832 (grub_ata_pio_write): Fix timeout error return.
18833 (grub_atapi_identify): Add grub_ata_wait () after cmd.
18834 (grub_atapi_wait_drq): New function.
18835 (grub_atapi_packet): New parameter `size'.
18836 Use grub_atapi_wait_drq () and direct write instead of
18837 grub_ata_pio_write ().
18838 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
18839 reads the number of bytes requested by the device for each DRQ
18840 assertion.
18841 (grub_atapi_write): Remove old implementation, return not
18842 implemented instead.
18843
18844 2009-01-19 Christian Franke <franke@computer.org>
18845
18846 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
18847 of 512 to calculate data size.
18848 (grub_scsi_read12): Likewise.
18849 (grub_scsi_write10): Likewise.
18850 (grub_scsi_write12): Likewise.
18851 (grub_scsi_read): Adjust size according to blocksize.
18852 Add checks for invalid blocksize and unaligned transfer.
18853
18854 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
18855
18856 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
18857
18858 * term/gfxterm.c (write_char): Fix background rendering for wide
18859 width glyphs.
18860
18861 2009-01-19 Robert Millan <rmh@aybabtu.com>
18862
18863 * config.guess: Update to latest version from config git.
18864 * config.sub: Likewise.
18865
18866 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
18867
18868 * Makefile.in: Change font compilation to use new grub-mkfont instead
18869 of java version.
18870
18871 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
18872 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
18873 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18874 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18875 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
18876 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
18877 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
18878 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
18879 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18880
18881 2009-01-16 Christian Franke <franke@computer.org>
18882
18883 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
18884 (enum grub_ata_timeout_milliseconds): New enum.
18885 (grub_ata_wait_status): Add parameter milliseconds.
18886 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
18887 recovery from timed-out commands.
18888 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
18889 return grub_errno instead of REG_ERROR.
18890 (grub_ata_pio_write): Add parameter milliseconds.
18891 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
18892 Pass milliseconds to grub_ata_wait_status () and
18893 grub_ata_pio_read ().
18894 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
18895 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
18896 grub_ata_wait_status (). Fix IDENTIFY timeout check.
18897 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
18898 It is not suitable for device detection, because DEV bit is ignored,
18899 the command may run too long, and not all devices set the signature
18900 properly.
18901 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
18902 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
18903 Fix device selection, DEV bit must be set first to address the registers
18904 of the correct device.
18905 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
18906 grub_ata_pio_read/write ().
18907 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
18908 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
18909
18910 2009-01-13 Carles Pina i Estany <carles@pina.cat>
18911
18912 * util/grub-editenv.c (main): Use fseeko(), not fseek().
18913
18914 2009-01-13 Bean <bean123ch@gmail.com>
18915
18916 * util/grub-mkfont.c (write_font): forget to remove some debug code.
18917
18918 2009-01-13 Bean <bean123ch@gmail.com>
18919
18920 * Makefile.in: (enable_grub_mkfont): New variable.
18921 (freetype_cflags): Likewise.
18922 (freetype_libs): Likewise.
18923
18924 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
18925 (grub_mkfont_SOURCES): New variable.
18926 (grub_mkfont_CFLAGS): Likewise.
18927 (grub_mkfont_LDFLAGS): Likewise.
18928
18929 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
18930 library if `--enable-grub-mkfont' is requested.
18931 (enable_grub_mkfont): New variable.
18932 (freetype_cflags): Likewise.
18933 (freetype_libs): Likewise.
18934
18935 * util/grub-mkfont.c: New file.
18936
18937 2009-01-12 Christian Franke <franke@computer.org>
18938
18939 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
18940 mode check. Fix setting of compat_use[].
18941
18942 2009-01-10 Robert Millan <rmh@aybabtu.com>
18943
18944 Update a few copyright years which we forgot to do in 2008 (only for
18945 files whose changes made in 2008 were copyright-significant)
18946
18947 * Makefile.in: Add 2008 to Copyright line.
18948 * disk/ieee1275/ofdisk.c: Likewise.
18949 * disk/efi/efidisk.c: Likewise.
18950 * kern/dl.c: Likewise.
18951 * kern/sparc64/ieee1275/init.c: Likewise.
18952 * kern/mm.c: Likewise.
18953 * kern/efi/mm.c: Likewise.
18954 * boot/i386/pc/boot.S: Likewise.
18955 * genfslist.sh: Likewise.
18956 * fs/iso9660.c: Likewise.
18957 * fs/hfs.c: Likewise.
18958 * fs/jfs.c: Likewise.
18959 * fs/minix.c: Likewise.
18960 * fs/ufs.c: Likewise.
18961 * gensymlist.sh.in: Likewise.
18962 * genkernsyms.sh.in: Likewise.
18963 * include/grub/misc.h: Likewise.
18964 * include/grub/types.h: Likewise.
18965 * include/grub/symbol.h: Likewise.
18966 * include/grub/elf.h: Likewise.
18967 * include/grub/kernel.h: Likewise.
18968 * include/grub/disk.h: Likewise.
18969 * include/grub/dl.h: Likewise.
18970 * include/grub/i386/linux.h: Likewise.
18971 * include/grub/i386/pc/biosdisk.h: Likewise.
18972 * include/grub/efi/api.h: Likewise.
18973 * include/grub/efi/pe32.h: Likewise.
18974 * include/grub/util/misc.h: Likewise.
18975 * normal/execute.c: Likewise.
18976 * normal/arg.c: Likewise.
18977 * normal/completion.c: Likewise.
18978 * normal/lexer.c: Likewise.
18979 * normal/parser.y: Likewise.
18980 * normal/misc.c: Likewise.
18981 * commands/i386/pc/vbeinfo.c: Likewise.
18982 * commands/hexdump.c: Likewise.
18983 * commands/terminal.c: Likewise.
18984 * commands/ls.c: Likewise.
18985 * commands/help.c: Likewise.
18986 * partmap/pc.c: Likewise.
18987 * loader/efi/chainloader.c: Likewise.
18988 * loader/multiboot_loader.c: Likewise.
18989 * loader/i386/pc/multiboot2.c: Likewise.
18990 * term/efi/console.c: Likewise.
18991 * term/i386/pc/serial.c: Likewise.
18992 * util/lvm.c: Likewise.
18993 * util/console.c: Likewise.
18994 * util/i386/efi/grub-mkimage.c: Likewise.
18995 * util/raid.c: Likewise.
18996
18997 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
18998
18999 * commands/videotest.c: Removed include to grub/machine/memory.h.
19000
19001 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19002 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19003 (video_mod_SOURCES): Removed.
19004 (video_mod_CFLAGS): Likewise.
19005 (video_mod_LDFLAGS): Likewise.
19006 (gfxterm_mod_SOURCES): Likewise.
19007 (gfxterm_mod_CFLAGS): Likewise.
19008 (gfxterm_mod_LDFLAGS): Likewise.
19009 (videotest_mod_SOURCES): Likewise.
19010 (videotest_mod_CFLAGS): Likewise.
19011 (videotest_mod_LDFLAGS): Likewise.
19012 (bitmap_mod_SOURCES): Likewise.
19013 (bitmap_mod_CFLAGS): Likewise.
19014 (bitmap_mod_LDFLAGS): Likewise.
19015 (tga_mod_SOURCES): Likewise.
19016 (tga_mod_CFLAGS): Likewise.
19017 (tga_mod_LDFLAGS): Likewise.
19018 (jpeg_mod_SOURCES): Likewise.
19019 (jpeg_mod_CFLAGS): Likewise.
19020 (jpeg_mod_LDFLAGS): Likewise.
19021 (png_mod_SOURCES): Likewise.
19022 (png_mod_CFLAGS): Likewise.
19023 (png_mod_LDFLAGS): Likewise.
19024
19025 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19026 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19027 (video_mod_SOURCES): Added.
19028 (video_mod_CFLAGS): Likewise.
19029 (video_mod_LDFLAGS): Likewise.
19030 (videotest_mod_SOURCES): Likewise.
19031 (videotest_mod_CFLAGS): Likewise.
19032 (videotest_mod_LDFLAGS): Likewise.
19033 (bitmap_mod_SOURCES): Likewise.
19034 (bitmap_mod_CFLAGS): Likewise.
19035 (bitmap_mod_LDFLAGS): Likewise.
19036 (tga_mod_SOURCES): Likewise.
19037 (tga_mod_CFLAGS): Likewise.
19038 (tga_mod_LDFLAGS): Likewise.
19039 (jpeg_mod_SOURCES): Likewise.
19040 (jpeg_mod_CFLAGS): Likewise.
19041 (jpeg_mod_LDFLAGS): Likewise.
19042 (png_mod_SOURCES): Likewise.
19043 (png_mod_CFLAGS): Likewise.
19044 (png_mod_LDFLAGS): Likewise.
19045 (gfxterm_mod_SOURCES): Likewise.
19046 (gfxterm_mod_CFLAGS): Likewise.
19047 (gfxterm_mod_LDFLAGS): Likewise.
19048
19049 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19050 grub/machine/console.h.
19051
19052 2009-01-04 Jerone Young <jerone@gmail.com>
19053
19054 Make on screen instructions clearer
19055
19056 Based on patch created by Jidanni <jidanni@jidanni.org>
19057
19058 * normal/menu.c: print clearer instructions on the screen
19059
19060 2009-01-02 Colin D Bennett <colin@gibibit.com>
19061
19062 New font engine.
19063
19064 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19065 build system and fixed gfxterm.c to work with different sized fonts.
19066
19067 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
19068
19069 * configure: Re-generated.
19070
19071 * DISTLIST: Removed font/manager.c.
19072 Added font/font.c.
19073 Added font/font_cmd.c.
19074
19075 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19076 compilation.
19077
19078 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
19079
19080 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
19081
19082 * kern/term.c: Changed users of grub_utf8_to_ucs4.
19083
19084 * normal/menu.c: Likewise.
19085
19086 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19087 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
19088
19089 * include/grub/font.h: Replaced with new file.
19090
19091 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19092 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19093 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19094 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19095 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
19096 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
19097 fg_red, fg_green, fg_blue, fg_alpha.
19098 (grub_video_adapter): Removed blit_glyph.
19099 (grub_video_blit_glyph): Removed.
19100
19101 * font/manager.c: Removed file.
19102
19103 * font/font.c: New file.
19104
19105 * font/font_cmd.c: Likewise.
19106
19107 * video/video.c (grub_video_blit_glyph): Removed.
19108
19109 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19110 (grub_video_vbe_map_rgba): Likewise.
19111 (grub_video_vbe_unmap_color_int): Likewise.
19112 (grub_video_vbe_blit_glyph): Removed.
19113 (grub_video_vbe_adapter): Removed blit_glyph.
19114
19115 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19116 (get_pixel): Likewise.
19117 (set_pixel): Likewise.
19118
19119 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
19120
19121 * term/gfxterm.c: Adapted to new font engine.
19122
19123 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
19124
19125 * term/i386/pc/vga.c: Likewise.
19126
19127 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
19128
19129 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19130
19131 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19132
19133 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19134
19135 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19136
19137 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19138
19139 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19140
19141 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19142
19143 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19144
19145 * util/grub.d/00_header.in: Changed to use new loadfont command.
19146
19147 * util/grub-mkconfig_lib.in: Changed font extension.
19148
19149 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
19150
19151 * util/getroot.c (grub_util_get_grub_dev): Add support for
19152 /dev/md/dNNpNN style partitionable mdraid devices.
19153
19154 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
19155
19156 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19157 at a time limit of the PXE TFTP API correctly.
19158 (grub_pxefs_close): Likewise.
19159
19160 2008-11-29 Robert Millan <rmh@aybabtu.com>
19161
19162 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
19163 grub_ata_device_initialize() calls.
19164
19165 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
19166
19167 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19168 iteration failed.
19169 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19170
19171 2008-11-28 Robert Millan <rmh@aybabtu.com>
19172
19173 Fix build on powerpc-ieee1275. Based on patch created by
19174 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19175 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19176 `kern/ieee1275/mmap.c'.
19177 * include/grub/powerpc/ieee1275/memory.h: New file.
19178
19179 Provide grub-install on coreboot.
19180 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19181 (grub_install_SOURCES): New variable.
19182 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19183 usable on coreboot.
19184
19185 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
19186
19187 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19188 to `grub_term_input_t'.
19189 (grub_term_get_current_output): Change return type to
19190 `grub_term_output_t'.
19191
19192 2008-11-22 Robert Millan <rmh@aybabtu.com>
19193
19194 Fix breakage on coreboot due to declaration mismatch.
19195 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19196 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19197 grub_vga_text_cls().
19198
19199 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
19200 comments. Avoid copying one more byte than necessary (just in case).
19201
19202 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19203 to 0x200000 (avoids trouble with some OFW implementations, and matches
19204 with the one in Yaboot).
19205 Reported by Manoel Abranches
19206
19207 2008-11-20 Robert Millan <rmh@aybabtu.com>
19208
19209 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19210 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19211
19212 * util/grub-mkconfig_lib.in (grub_warn): New function.
19213 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19214 warnings, to obtain consistent formatting.
19215 * util/grub.d/00_header.in: Likewise.
19216 * util/update-grub_lib.in: Likewise.
19217
19218 * loader/i386/linux.c (allocate_pages): Fix a warning.
19219 Move comment text to `#error' stanza.
19220
19221 Harmonize ieee1275's grub_available_iterate() with the generic
19222 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19223 build problem on i386-ieee1275):
19224 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19225 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19226 parameter `type'. Update all users of this function.
19227 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19228 `kern/ieee1275/mmap.c'.
19229 * kern/ieee1275/init.c
19230 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19231 with ...
19232 (grub_machine_mmap_iterate): ... this.
19233 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19234 return type to `grub_err_t'. Update all implementations of this
19235 function prototype.
19236 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19237 Likewise.
19238
19239 Add `lsmmap' command (lists firmware-provided memory map):
19240 * commands/lsmmap.c: New file.
19241 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19242 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19243 variables.
19244 * conf/powerpc-ieee1275.rmk: Likewise.
19245 * conf/i386-coreboot.rmk: Likewise.
19246 * conf/i386-ieee1275.rmk: Likewise.
19247
19248 2008-11-19 Robert Millan <rmh@aybabtu.com>
19249
19250 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
19251 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19252 constraints to initrd allocation (based on code from
19253 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19254 for Linux to find it.
19255
19256 2008-11-14 Robert Millan <rmh@aybabtu.com>
19257
19258 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19259 order to cope with duplicate slashes.
19260
19261 2008-11-14 Robert Millan <rmh@aybabtu.com>
19262
19263 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19264 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19265 don't want to mess with lower memory, because it is used in the Linux
19266 loader.
19267
19268 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
19269 an appropriate place in lower memory, between 0x10000 and 0x90000,
19270 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19271 is in our heap (probably as a result of it being corrupted during
19272 decompression). Add #error instance with comment to explain why this
19273 loader isn't currently usable on PC/BIOS.
19274
19275 2008-11-14 Robert Millan <rmh@aybabtu.com>
19276
19277 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
19278 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
19279
19280 2008-11-12 Robert Millan <rmh@aybabtu.com>
19281
19282 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19283
19284 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19285 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19286 from here ...
19287 * include/grub/i386/pc/memory.h: ... to here.
19288
19289 2008-11-12 Robert Millan <rmh@aybabtu.com>
19290
19291 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19292 split).
19293
19294 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19295 (grub_console_cur_color, grub_console_real_putchar)
19296 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19297 (grub_console_setcolorstate, grub_console_setcolor)
19298 (grub_console_getcolor): Move from here ...
19299 * include/grub/i386/vga_common.h: ... to here (new file).
19300
19301 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19302 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19303 `<grub/i386/io.h>'.
19304 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19305 `<grub/i386/vga_common.h>'.
19306
19307 2008-11-12 Robert Millan <rmh@aybabtu.com>
19308
19309 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19310 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19311 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19312 variables.
19313 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19314 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19315
19316 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19317 grub_console_init() with call to grub_vga_text_init().
19318 (grub_machine_fini): Replace call to
19319 grub_console_fini() with call to grub_vga_text_fini() and
19320 grub_at_keyboard_fini().
19321
19322 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19323 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19324 (grub_console_setcolorstate, grub_console_setcolor)
19325 (grub_console_getcolor): New function prototypes.
19326
19327 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19328 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19329 (grub_vga_text_setcursor): Static-ize.
19330 (grub_vga_text_term): New structure.
19331 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19332
19333 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19334 (grub_console_cur_color, grub_console_standard_color)
19335 (grub_console_normal_color, grub_console_highlight_color)
19336 (map_char, grub_console_putchar, grub_console_getcharwidth)
19337 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19338 (grub_console_getcolor): Move from here ...
19339 * term/i386/vga_common.c: ... to here (same function names).
19340
19341 2008-11-12 Robert Millan <rmh@aybabtu.com>
19342
19343 Use newly-added Multiboot support in coreboot.
19344
19345 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19346 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19347
19348 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19349 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19350 (codestart): Store the MBI in `startup_multiboot_info' when we're
19351 being loaded using Multiboot.
19352
19353 * kern/i386/coreboot/init.c (grub_machine_init): Move
19354 grub_at_keyboard_init() call to beginning of function (useful for
19355 debugging). Call grub_machine_mmap_init() before attempting to use
19356 grub_machine_mmap_iterate().
19357 (grub_lower_mem, grub_upper_mem): Move from here ...
19358 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19359 here (new file).
19360
19361 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19362 function prototype.
19363
19364 2008-11-12 Robert Millan <rmh@aybabtu.com>
19365
19366 Fix a regression introduced by the at_keyboard.mod split. Because
19367 some terminals are default on some platforms and non-default on
19368 others, the first terminal being registered determines which is
19369 going to be default.
19370
19371 * kern/term.c (grub_term_register_input): If this is the first
19372 terminal being registered, set it as the current one.
19373 (grub_term_register_output): Likewise.
19374
19375 * term/efi/console.c (grub_console_init): Do not call
19376 grub_term_set_current_output() or grub_term_set_current_input().
19377 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19378 * term/i386/pc/console.c (grub_console_init): Likewise.
19379 (grub_console_fini): Do not call grub_term_set_current_input()
19380 (but leave grub_term_set_current_output() to restore text mode).
19381
19382 2008-11-10 Robert Millan <rmh@aybabtu.com>
19383
19384 * util/grub.d/00_header.in: Add backward compatibility check for
19385 versions of terminal.mod that don't understand `terminal_input' or
19386 `terminal_output'.
19387
19388 2008-11-09 Robert Millan <rmh@aybabtu.com>
19389
19390 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19391 `terminal_input' / `terminal_output', not `terminal'.
19392
19393 2008-11-08 Robert Millan <rmh@aybabtu.com>
19394
19395 * Makefile.in (include_DATA): Fix srcdir=. assumption.
19396 (DISTCLEANFILES): Add `build_env.mk'.
19397
19398 2008-11-08 Robert Millan <rmh@aybabtu.com>
19399
19400 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
19401 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19402 members. Update all users.
19403 * util/console.c (grub_ncurses_term): Split in ...
19404 (grub_ncurses_term_input): ... this, and ...
19405 (grub_ncurses_term_output): ... this. Update all users.
19406 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
19407
19408 2008-11-08 Robert Millan <rmh@aybabtu.com>
19409
19410 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19411 (PKGDATA): Add $(pkgdata_SRCDIR).
19412 (pkglib_BUILDDIR): New variable.
19413 (pkgdata_SRCDIR): New variable.
19414 (build_env.mk): New target.
19415 (include_DATA): New variable.
19416 (install-local): Install $(include_DATA) files in $(includedir).
19417
19418 2008-11-07 Pavel Roskin <proski@gnu.org>
19419
19420 * gendistlist.sh: Use C locale for sorting to ensure consistent
19421 output on all systems.
19422
19423 * util/grub.d/00_header.in: Remove incorrect space before
19424 "serial".
19425
19426 2008-11-07 Robert Millan <rmh@aybabtu.com>
19427
19428 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19429 per specification.
19430 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19431 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19432 (based on find_multi_boot1_header).
19433 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19434 using find_multi_boot2_header(), and abort if neither Multiboot or
19435 Multiboot headers were found.
19436
19437 2008-11-07 Robert Millan <rmh@aybabtu.com>
19438
19439 Modularize at_keyboard.mod:
19440
19441 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19442 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19443 (at_keyboard_mod_LDFLAGS): New variables.
19444
19445 Actual terminal split:
19446
19447 * include/grub/term.h (struct grub_term): Split in ...
19448 (struct grub_term_input): ... this, and ...
19449 (struct grub_term_output): ... this. Update all users.
19450 (grub_term_set_current): Split in ...
19451 (grub_term_set_current_input): ... this, and ...
19452 (grub_term_set_current_output): ... this.
19453 (grub_term_get_current): Split in ...
19454 (grub_term_get_current_input): ... this, and ...
19455 (grub_term_get_current_output): ... this.
19456 (grub_term_register): Split in ...
19457 (grub_term_register_input): ... this, and ...
19458 (grub_term_register_output): ... this.
19459 (grub_term_unregister): Split in ...
19460 (grub_term_unregister_input): ... this, and ...
19461 (grub_term_unregister_output): ... this.
19462 (grub_term_iterate): Split in ...
19463 (grub_term_iterate_input): ... this, and ...
19464 (grub_term_iterate_output): ... this.
19465
19466 * kern/term.c (grub_term_list): Split in ...
19467 (grub_term_list_input): ... this, and ...
19468 (grub_term_list_output): ... this. Update all users.
19469 (grub_cur_term): Split in ...
19470 (grub_cur_term_input): ... this, and ...
19471 (grub_cur_term_output): ... this. Update all users.
19472 (grub_term_set_current): Split in ...
19473 (grub_term_set_current_input): ... this, and ...
19474 (grub_term_set_current_output): ... this.
19475 (grub_term_get_current): Split in ...
19476 (grub_term_get_current_input): ... this, and ...
19477 (grub_term_get_current_output): ... this.
19478 (grub_term_register): Split in ...
19479 (grub_term_register_input): ... this, and ...
19480 (grub_term_register_output): ... this.
19481 (grub_term_unregister): Split in ...
19482 (grub_term_unregister_input): ... this, and ...
19483 (grub_term_unregister_output): ... this.
19484 (grub_term_iterate): Split in ...
19485 (grub_term_iterate_input): ... this, and ...
19486 (grub_term_iterate_output): ... this.
19487
19488 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19489 a check for input and one for output (and only attempt to get keys
19490 from user when input works).
19491
19492 * util/grub-probe.c (grub_term_get_current): Split in ...
19493 (grub_term_get_current_input): ... this, and ...
19494 (grub_term_get_current_output): ... this.
19495 * util/grub-fstest.c: Likewise.
19496 * util/i386/pc/grub-setup.c: Likewise.
19497 * util/grub-editenv.c: Likewise.
19498
19499 Portability adjustments:
19500
19501 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19502 `term/i386/pc/at_keyboard.c'.
19503 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19504 grub_keyboard_controller_init() (now handled by terminal .init).
19505 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19506 grub_at_keyboard_init().
19507 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19508 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19509 at_keyboard.mod via input terminal interface).
19510 * include/grub/i386/coreboot/console.h: Convert into a stub for
19511 `<grub/i386/pc/console.h>'.
19512
19513 Migrate full terminals to new API:
19514
19515 * term/efi/console.c (grub_console_term): Split into ...
19516 (grub_console_term_input): ... this, and ...
19517 (grub_console_term_output): ... this. Update all users.
19518 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19519 (grub_ofconsole_init): Split into ...
19520 (grub_ofconsole_init_input): ... this, and ...
19521 (grub_ofconsole_init_output): ... this.
19522 (grub_ofconsole_term): Split into ...
19523 (grub_ofconsole_term_input): ... this, and ...
19524 (grub_ofconsole_term_output): ... this. Update all users.
19525 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19526 (grub_serial_term_input): ... this, and ...
19527 (grub_serial_term_output): ... this. Update all users.
19528 * term/i386/pc/console.c (grub_console_term): Split into ...
19529 (grub_console_term_input): ... this, and ...
19530 (grub_console_term_output): ... this. Update all users.
19531 (grub_console_term_input): Only enable it on PC/BIOS platform.
19532 (grub_console_init): Remove grub_keyboard_controller_init() call.
19533
19534 Migrate input terminals to new API:
19535
19536 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19537 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19538 i386-specific anyway).
19539 (grub_console_checkkey): Rename to ...
19540 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19541 users.
19542 (grub_keyboard_controller_orig): New variable.
19543 (grub_console_getkey): Rename to ...
19544 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19545 users.
19546 (grub_keyboard_controller_init): Static-ize. Save original
19547 controller value so that it can be restored ...
19548 (grub_keyboard_controller_fini): ... here (new function).
19549 (grub_at_keyboard_term): New structure.
19550 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19551 functions.
19552
19553 Migrate output terminals to new API:
19554
19555 * term/i386/pc/vga.c (grub_vga_term): Change type to
19556 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19557 members. Update all users.
19558 * term/gfxterm.c (grub_video_term): Change type to
19559 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19560 members. Update all users.
19561 * include/grub/i386/pc/console.h (grub_console_checkkey)
19562 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19563 etc).
19564
19565 Migrate `terminal' command and userland tools to new API:
19566
19567 * commands/terminal.c (grub_cmd_terminal): Split into ...
19568 (grub_cmd_terminal_input): ... this, and ...
19569 (grub_cmd_terminal_output): ... this.
19570 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19571 `terminal_input' and `terminal_output'.
19572 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19573 `terminal_input' / `terminal_output' API.
19574 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19575 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19576 provided ${GRUB_TERMINAL}, convert it).
19577
19578 2008-11-04 Robert Millan <rmh@aybabtu.com>
19579
19580 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19581 for FreeBSD.
19582 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19583
19584 2008-11-03 Bean <bean123ch@gmail.com>
19585
19586 * kern/elf.c (grub_elf32_load): Revert to previous code.
19587 (grub_elf64_load): Likewise.
19588
19589 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19590
19591 2008-11-01 Robert Millan <rmh@aybabtu.com>
19592
19593 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19594 (TARGET_CPPFLAGS): Likewise.
19595 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19596
19597 2008-11-01 Carles Pina i Estany <carles@pina.cat>
19598
19599 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19600
19601 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
19602
19603 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19604 addition of objects until the code is not going to be able to fail.
19605
19606 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
19607
19608 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19609 (add a missing NULL check, and correct them by moving the pointer
19610 operations after the actual check).
19611
19612 2008-10-29 Robert Millan <rmh@aybabtu.com>
19613
19614 * util/i386/pc/grub-install.in: Handle empty string as output from
19615 make_system_path_relative_to_its_root().
19616
19617 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19618
19619 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19620 circular metadata worst case scenario. If the metadata is circular
19621 then copy the wrap in place.
19622 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19623 project lib/format_text/layout.h
19624 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19625
19626 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
19627
19628 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
19629
19630 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
19631
19632 * util/update-grub_lib.in: Mention filename in warning message.
19633
19634 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
19635
19636 * NEWS: Update for rename of update-grub to grub-mkconfig.
19637
19638 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
19639
19640 * util/update-grub_lib.in: Copy to ...
19641 * util/grub-mkconfig_lib.in: ... this. Update all users.
19642 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
19643 * util/update-grub.in: Rename to ...
19644 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19645 option. Add `--output' option to allow users to specify the generated
19646 configuration file. Default to stdout.
19647 (update_grub_dir): Rename to ...
19648 (grub_mkconfig_dir): ... this.
19649 (grub_cfg): Default to an empty string.
19650 * conf/common.rmk (update-grub): Rename to ...
19651 (grub-mkconfig): ... this.
19652 (update-grub_lib): Copy to ...
19653 (grub-mkconfig_lib): ... this.
19654 (update-grub_SCRIPTS): Copy to ...
19655 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19656 (update-grub_DATA): Rename to ...
19657 (grub-mkconfig_DATA): ... this.
19658
19659 2008-09-28 Robert Millan <rmh@aybabtu.com>
19660
19661 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19662 to `modified'. Add the real `created' field.
19663 (grub_iso9660_uuid): Use `modified' rather than `created' for
19664 constructing the UUID.
19665
19666 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
19667
19668 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19669 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19670
19671 2008-09-28 Bean <bean123ch@gmail.com>
19672
19673 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19674 Thanks to Christian Franke for finding this bug.
19675
19676 2008-09-25 Robert Millan <rmh@aybabtu.com>
19677
19678 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19679 instances of grub_util_get_disk_name() (see previous commit).
19680
19681 2008-09-25 Robert Millan <rmh@aybabtu.com>
19682
19683 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19684 `util/i386/get_disk_name.c'.
19685 * conf/i386-efi.rmk: Likewise.
19686 * conf/x86_64-efi.rmk: Likewise.
19687 * conf/i386-coreboot.rmk: Likewise.
19688 * conf/i386-ieee1275.rmk: Likewise.
19689 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19690 `util/ieee1275/get_disk_name.c'.
19691 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19692 * util/ieee1275/get_disk_name.c: Remove file.
19693 * util/i386/get_disk_name.c: Remove file.
19694 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19695 "hd%d" for device.map entries, rather than using
19696 grub_util_get_disk_name().
19697
19698 2008-09-24 Carles Pina i Estany <carles@pina.cat>
19699
19700 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19701 warning.
19702 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19703
19704 2008-09-24 Carles Pina i Estany <carles@pina.cat>
19705
19706 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19707 Changed to 0x5100.
19708 (GRUB_TERM_PPAGE): Changed to 0x4900.
19709
19710 2008-09-24 Robert Millan <rmh@aybabtu.com>
19711
19712 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19713 macros (they were i386-pc specific).
19714 * include/grub/sparc64/ieee1275/console.h: Likewise.
19715 * include/grub/efi/console.h: Likewise.
19716
19717 2008-09-22 Bean <bean123ch@gmail.com>
19718
19719 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19720 resident and in attribute list.
19721
19722 * include/grub/ntfs.h (BMP_LEN): Removed.
19723
19724 2008-09-22 Bean <bean123ch@gmail.com>
19725
19726 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
19727 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19728
19729 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19730 error occurs, as grub_disk_open will call grub_disk_close, which will
19731 call p->close (scsi).
19732
19733 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
19734
19735 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19736 (AC_PREREQ): Bumped to 2.59.
19737 (AC_TRY_COMPILE): Replace obsolete macro with ...
19738 (AC_COMPILE_IFELSE): ... this.
19739 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19740 (AC_LINK_IFELSE): ... this.
19741
19742 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
19743
19744 * autogen.sh: Add a call to `gendistlist.sh'.
19745
19746 2008-09-19 Christian Franke <franke@computer.org>
19747
19748 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19749 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19750 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19751 Export __enable_execute_stack() to modules.
19752 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19753 New function.
19754
19755 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
19756
19757 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19758 Sort the list.
19759
19760 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
19761
19762 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
19763 #include <grub/util/hostdisk.h>.
19764
19765 2008-09-08 Robert Millan <rmh@aybabtu.com>
19766
19767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19768 segments when their filesz is zero (grub_file_read() interprets
19769 zero-size as "read until EOF", which results in memory corruption).
19770 Use `lowest_segment' rather than 0 for calculating the current
19771 segment load address.
19772
19773 2008-09-08 Robert Millan <rmh@aybabtu.com>
19774
19775 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19776 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19777 clobbered useful information.
19778
19779 2008-09-08 Robert Millan <rmh@aybabtu.com>
19780
19781 * include/grub/util/biosdisk.h: Move to ...
19782 * include/grub/util/hostdisk.h: ... here. Update all users.
19783 * util/biosdisk.c: Move to ...
19784 * util/hostdisk.c: ... here. Update all users.
19785
19786 2008-09-07 Robert Millan <rmh@aybabtu.com>
19787
19788 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
19789 variables.
19790 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
19791 and length can be stored directly in the `mbi->mmap_addr' and
19792 `mbi->mmap_length' struct fields.
19793
19794 2008-09-07 Robert Millan <rmh@aybabtu.com>
19795
19796 * conf/i386.rmk: New file. Provides declaration for building
19797 `cpuid.mod'.
19798 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
19799 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
19800 variables.
19801 Include `conf/i386.mk'.
19802 * conf/i386-efi.rmk: Likewise.
19803 * conf/x86_64-efi.rmk: Likewise.
19804 * conf/i386-coreboot.rmk: Likewise.
19805 * conf/i386-ieee1275.rmk: Likewise.
19806
19807 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
19808
19809 Based on patch created by Colin D Bennett <colin@gibibit.com>.
19810 Adds optimization support for BGR based modes.
19811
19812 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
19813 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19814 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19815 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19816 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19817 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19818 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19819 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19820 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19821 (grub_video_i386_vbeblit_index_index): Likewise.
19822 (grub_video_i386_vbeblit_replace_directN): Added.
19823 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19824 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19825 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19826 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19827 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19828 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19829 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19830 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19831 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19832 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19833 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19834 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19835 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19836
19837 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
19838 (grub_video_i386_vbefill_R8G8B8): Likewise.
19839 (grub_video_i386_vbefill_index): Likewise.
19840 (grub_video_i386_vbefill_direct32): Added.
19841 (grub_video_i386_vbefill_direct24): Likewise.
19842 (grub_video_i386_vbefill_direct16): Likewise.
19843 (grub_video_i386_vbefill_direct8): Likewise.
19844
19845 * include/grub/video.h (grub_video_blit_format): Removed
19846 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
19847 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
19848 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
19849 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
19850 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
19851
19852 * video/video.c (grub_video_get_blit_format): Updated to use new
19853 blit formats. Added handling for 16 bit color modes.
19854
19855 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
19856 fillers.
19857 (common_blitter): Updated to use new blitters.
19858
19859 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
19860 Removed.
19861 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19862 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19863 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19864 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19865 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19866 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19867 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19868 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19869 (grub_video_i386_vbeblit_index_index): Likewise.
19870 (grub_video_i386_vbeblit_replace_directN): Added.
19871 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19872 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19873 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19874 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19875 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19876 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19877 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19878 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19879 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19880 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19881 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19882 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19883 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19884
19885 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
19886 (grub_video_i386_vbefill_R8G8B8): Likewise.
19887 (grub_video_i386_vbefill_index): Likewise.
19888 (grub_video_i386_vbefill_direct32): Added.
19889 (grub_video_i386_vbefill_direct24): Likewise.
19890 (grub_video_i386_vbefill_direct16): Likewise.
19891 (grub_video_i386_vbefill_direct8): Likewise.
19892
19893 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
19894 types.
19895
19896 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
19897 types.
19898
19899 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
19900 blitter types.
19901
19902 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
19903 types.
19904
19905 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
19906
19907 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
19908 RAID level 1.
19909
19910 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
19911
19912 * fs/iso9660.c (grub_iso9660_date): New structure.
19913 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
19914 (grub_iso9660_uuid): New function.
19915
19916 2008-09-05 Bean <bean123ch@gmail.com>
19917
19918 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
19919
19920 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
19921 insensitive bit for names in Win32 and Win32 & DOS namespace.
19922
19923 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
19924
19925 * include/grub/types.h (LONG_MAX): Likewise.
19926
19927 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
19928
19929 * util/getroot.c: Include <config.h>.
19930 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
19931 add support for /dev/md/N devices and handle LVM double dash escaping.
19932
19933 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
19934
19935 * config.guess: Update to latest version from config git.
19936 * config.sub: Likewise.
19937
19938 2008-09-03 Robert Millan <rmh@aybabtu.com>
19939
19940 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
19941 `disk->total_sectors'.
19942
19943 2008-09-01 Colin D Bennett <colin@gibibit.com>
19944
19945 * include/grub/normal.h: Fixed incorrect comment for
19946 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
19947
19948 2008-09-01 Colin D Bennett <colin@gibibit.com>
19949
19950 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
19951 values with defines.
19952
19953 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
19954 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
19955 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
19956 (GRUB_VBE_MODEATTR_COLOR): Likewise.
19957 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
19958 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
19959 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
19960 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
19961 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
19962 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
19963 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
19964 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
19965 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
19966 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
19967 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
19968 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
19969 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
19970 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
19971 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
19972
19973 2008-08-31 Robert Millan <rmh@aybabtu.com>
19974
19975 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
19976 declaration.
19977 (grub_multiboot): Fix a few warnings.
19978
19979 2008-08-31 Robert Millan <rmh@aybabtu.com>
19980
19981 * loader/i386/pc/multiboot.c: Update comment not to say that
19982 boot_device support is unimplemented.
19983
19984 2008-08-31 Robert Millan <rmh@aybabtu.com>
19985
19986 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
19987 or memory map support are unimplemented.
19988
19989 2008-08-31 Colin D Bennett <colin@gibibit.com>
19990
19991 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
19992
19993 2008-08-31 Colin D Bennett <colin@gibibit.com>
19994
19995 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
19996 total video memory in 'vbeinfo' output; show color format details for
19997 each video mode.
19998
19999 2008-08-30 Pavel Roskin <proski@gnu.org>
20000
20001 * util/genmoddep.c: Remove for real this time.
20002 * DISTLIST: Remove util/genmoddep.c.
20003
20004 2008-08-30 Robert Millan <rmh@aybabtu.com>
20005
20006 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20007 as required by Multiboot spec (it was already 4-byte aligned, but
20008 only by chance).
20009
20010 2008-08-29 Pavel Roskin <proski@gnu.org>
20011
20012 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20013 * kern/powerpc/ieee1275/startup.S: ... this.
20014 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20015 * DISTLIST: Likewise.
20016
20017 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20018 grub/cpu/kernel.h. Add start label for consistency with other
20019 platforms. Add grub_prefix immediately after start. Add jump
20020 to the code after grub_prefix.
20021 * include/grub/powerpc/kernel.h: Provide valid values for
20022 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20023
20024 2008-08-29 Bean <bean123ch@gmail.com>
20025
20026 * configure.ac: Change host_os to cygwin for mingw.
20027 (asprintf): New check for function.
20028
20029 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20030 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20031
20032 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
20033 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
20034 sync, sleep and grub_util_get_disk_size for mingw.
20035
20036 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20037 to get size in mingw.
20038 (open_device): Use flag O_BINARY if it's defined.
20039 (find_root_device): Add dummy code for mingw.
20040
20041 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20042 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20043 (get_scsi_disk_name): Return 0 for mingw.
20044
20045 * util/hostfs.c: #include <grub/util/misc.h>.
20046 (grub_hostfs_open): Use "rb" flag to open file, use
20047 grub_util_get_disk_size to get disk size for mingw.
20048
20049 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20050 (asprintf): New function if HAVE_ASPRINTF is not set.
20051 (sync): New function for mingw.
20052 (sleep): Likewise.
20053 (grub_util_get_disk_size): Likewise.
20054
20055 2008-08-28 Pavel Roskin <proski@gnu.org>
20056
20057 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20058 kern/time.c.
20059
20060 2008-08-28 Robert Millan <rmh@aybabtu.com>
20061
20062 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20063
20064 2008-08-28 Robert Millan <rmh@aybabtu.com>
20065
20066 Change find_grub_drive() syntax so it doesn't prevent it from
20067 detecting NULL names as errors.
20068
20069 * util/biosdisk.c (find_grub_drive): Move free slot search code
20070 from here ...
20071 (find_free_slot): ... to here.
20072 (read_device_map): Use find_free_slot() to search for free slots.
20073
20074 2008-08-27 Marco Gerards <marco@gnu.org>
20075
20076 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20077 (scsi_mod_SOURCES): New variable.
20078 (scsi_mod_CFLAGS): Likewise
20079 (scsi_mod_LDFLAGS): Likewise.
20080
20081 * disk/scsi.c: New file.
20082
20083 * include/grub/scsi.h: Likewise.
20084
20085 * include/grub/scsicmd.h: Likewise.
20086
20087 * disk/ata.c: Include <grub/scsi.h>.
20088 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20089 instead.
20090 (grub_ata_iterate): Skip ATAPI devices.
20091 (grub_ata_open): Only handle ATAPI devices.
20092 (struct grub_atapi_read): Removed.
20093 (grub_atapi_readsector): Likewise.
20094 (grub_ata_read): No longer handle ATAPI devices.
20095 (grub_ata_write): Likewise.
20096 (grub_atapi_iterate): New function.
20097 (grub_atapi_read): Likewise.
20098 (grub_atapi_write): Likewise.
20099 (grub_atapi_open): Likewise.
20100 (grub_atapi_close): Likewise.
20101 (grub_atapi_dev): New variable.
20102 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20103 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20104
20105 * include/grub/disk.h (enum grub_disk_dev_id): Add
20106 `GRUB_DISK_DEVICE_SCSI_ID'.
20107
20108 2008-08-26 Robert Millan <rmh@aybabtu.com>
20109
20110 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20111 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20112 descriptive.
20113
20114 2008-08-23 Bean <bean123ch@gmail.com>
20115
20116 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20117 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20118 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20119 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20120 dm_nv.mod.
20121 (raid5rec_mod_SOURCES): New macro.
20122 (raid5rec_mod_CFLAGS): Likewise.
20123 (raid5rec_mod_LDFLAGS): Likewise.
20124 (raid6rec_mod_SOURCES): Likewise.
20125 (raid6rec_mod_CFLAGS): Likewise.
20126 (raid6rec_mod_LDFLAGS): Likewise.
20127 (mdraid_mod_SOURCES): Likewise.
20128 (mdraid_mod_CFLAGS): Likewise.
20129 (mdraid_mod_LDFLAGS): Likewise.
20130 (dm_nv_mod_SOURCES): Likewise.
20131 (dm_nv_mod_CFLAGS): Likewise.
20132 (dm_nv_mod_LDFLAGS): Likewise.
20133
20134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20135 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20136 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20137
20138 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20139 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20140
20141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20142
20143 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20144
20145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20146
20147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20148
20149 * disk/raid5_recover.c: New file.
20150
20151 * disk/raid6_recover.c: Likewise.
20152
20153 * disk/mdraid_linux.c: Likewise.
20154
20155 * disk/dmraid_nvidia.c: Likewise.
20156
20157 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20158 ULONG_MAX.
20159
20160 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20161 calculate the size of raid device.
20162 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20163 different layout of raid5.
20164 (grub_raid_scan_device): Remove code specific to mdraid.
20165 (grub_raid_list): New variable.
20166 (free_array): New function.
20167 (grub_raid_register): Likewise.
20168 (grub_raid_unregister): Likewise.
20169 (grub_raid_rescan): Likewise.
20170 (GRUB_MOD_INIT): Don't iterate device here.
20171 (GRUB_MOD_FINI): Use free_array to release resource.
20172
20173 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20174 (grub_raid5_recover_func_t): New function variable type.
20175 (grub_raid6_recover_func_t): Likewise.
20176 (grub_raid5_recover_func): New variable.
20177 (grub_raid6_recover_func): Likewise.
20178 (grub_raid_register): New function.
20179 (grub_raid_unregister): Likewise.
20180 (grub_raid_rescan): Likewise.
20181 (grub_raid_block_xor): Likewise.
20182
20183 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20184 (CMD_CRC): New macro.
20185 (part): Removed.
20186 (read_file): Handle device as well as file.
20187 (cmd_crc): New function.
20188 (fstest): Handle multiple disks.
20189 (options): Remove part, raw and long, add root and diskcount.
20190 (usage): Add crc, remove -p, -r, -l, add -r and -c.
20191 (main): Find the first non option entry and ignore subsequent options,
20192 add handling for the new options, support multiple disks.
20193
20194 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20195
20196 2008-08-23 Bean <bean123ch@gmail.com>
20197
20198 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20199
20200 * genfslist.sh: Ignore kernel.mod.
20201
20202 * genpartmaplist.sh: Likewise.
20203
20204 2008-08-23 Robert Millan <rmh@aybabtu.com>
20205
20206 * util/getroot.c (find_root_device): Skip anything that starts with
20207 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20208
20209 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
20210
20211 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20212 * util/grub.d/00_header.in: Allow the administrator to change default
20213 gfxmode via ${GRUB_GFXMODE}.
20214
20215 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
20216
20217 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20218
20219 2008-08-21 Robert Millan <rmh@aybabtu.com>
20220
20221 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20222 loader.
20223 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20224 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20225
20226 2008-08-20 Carles Pina i Estany <carles@pina.cat>
20227
20228 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20229 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20230
20231 2008-08-19 Robert Millan <rmh@aybabtu.com>
20232
20233 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20234 (struct grub_virtual_screen): Remove `cursor_color'.
20235 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20236 initialization.
20237 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20238
20239 2008-08-18 Robert Millan <rmh@aybabtu.com>
20240
20241 Unify (identical) linux_normal.c files.
20242 * loader/i386/efi/linux_normal.c: Move from here ...
20243 * loader/linux_normal.c: ... to here. Update all users.
20244 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20245 * loader/i386/ieee1275/linux_normal.c: Likewise.
20246
20247 2008-08-18 Robert Millan <rmh@aybabtu.com>
20248
20249 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20250 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20251 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20252 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20253 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20254 New macros.
20255 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20256 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20257 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20258 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20259 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20260 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20261 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20262 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20263 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20264 portably using grub_getxy().
20265 Replace `-EFI' with `-bzImage' in boot message.
20266
20267 2008-08-17 Robert Millan <rmh@aybabtu.com>
20268
20269 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20270
20271 2008-08-17 Robert Millan <rmh@aybabtu.com>
20272
20273 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20274
20275 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20276 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20277 (grub_machine_mmap_iterate): New function declaration.
20278 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20279 structure.
20280 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20281 macros.
20282
20283 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20284 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20285 Move e820 parsing from here ...
20286 * kern/i386/pc/mmap.c: New file.
20287 (grub_machine_mmap_iterate): ... to here.
20288
20289 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20290 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20291 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20292 (grub_available_iterate): Redeclare to return `void', and redeclare
20293 its hook to use grub_uint64_t as addr and size parameters, and rename
20294 to ...
20295 (grub_machine_mmap_iterate): ... this. Update all users.
20296
20297 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20298 to make it more readable. Rename to ...
20299 (grub_machine_mmap_iterate): ... this.
20300
20301 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20302 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20303 (grub_multiboot): Allocate an extra region after the payload, and fill
20304 it with a Multiboot memory map. Adjust a.out loader to calculate size
20305 with the extra space.
20306 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20307 with the extra space.
20308
20309 2008-08-17 Carles Pina i Estany <carles@pina.cat>
20310
20311 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
20312
20313 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
20314
20315 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20316 mdate-sh to the list `find' searches for.
20317 * DISTLIST: Regenerated.
20318
20319 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
20320
20321 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20322 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
20323 genmoddep.awk, gensymlist.sh.in.
20324 (DISTDIRS): Add bus, docs, hook, lib.
20325 * DISTLIST: Regenerated.
20326 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
20327
20328 2008-08-16 Robert Millan <rmh@aybabtu.com>
20329
20330 * disk/raid.c (grub_raid_init): Handle/report errors set by
20331 grub_device_iterate().
20332 * disk/lvm.c (grub_lvm_init): Likewise.
20333
20334 2008-08-15 Bean <bean123ch@gmail.com>
20335
20336 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20337 and datehook.mod.
20338 (datetime_mod_SOURCES): New macro.
20339 (datetime_mod_CFLAGS): Likewise.
20340 (datetime_mod_LDFLAGS): Likewise.
20341 (date_mod_SOURCES): Likewise.
20342 (date_mod_CFLAGS): Likewise.
20343 (date_mod_LDFLAGS): Likewise.
20344 (datehook_mod_SOURCES): Likewise.
20345 (datehook_mod_CFLAGS): Likewise.
20346 (datehook_mod_LDFLAGS): Likewise.
20347
20348 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20349 and datehook.mod.
20350 (datetime_mod_SOURCES): New macro.
20351 (datetime_mod_CFLAGS): Likewise.
20352 (datetime_mod_LDFLAGS): Likewise.
20353 (date_mod_SOURCES): Likewise.
20354 (date_mod_CFLAGS): Likewise.
20355 (date_mod_LDFLAGS): Likewise.
20356 (datehook_mod_SOURCES): Likewise.
20357 (datehook_mod_CFLAGS): Likewise.
20358 (datehook_mod_LDFLAGS): Likewise.
20359
20360 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20361 and datehook.mod.
20362 (datetime_mod_SOURCES): New macro.
20363 (datetime_mod_CFLAGS): Likewise.
20364 (datetime_mod_LDFLAGS): Likewise.
20365 (date_mod_SOURCES): Likewise.
20366 (date_mod_CFLAGS): Likewise.
20367 (date_mod_LDFLAGS): Likewise.
20368 (datehook_mod_SOURCES): Likewise.
20369 (datehook_mod_CFLAGS): Likewise.
20370 (datehook_mod_LDFLAGS): Likewise.
20371
20372 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20373 and datehook.mod.
20374 (datetime_mod_SOURCES): New macro.
20375 (datetime_mod_CFLAGS): Likewise.
20376 (datetime_mod_LDFLAGS): Likewise.
20377 (date_mod_SOURCES): Likewise.
20378 (date_mod_CFLAGS): Likewise.
20379 (date_mod_LDFLAGS): Likewise.
20380 (datehook_mod_SOURCES): Likewise.
20381 (datehook_mod_CFLAGS): Likewise.
20382 (datehook_mod_LDFLAGS): Likewise.
20383
20384 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20385 and datehook.mod.
20386 (datetime_mod_SOURCES): New macro.
20387 (datetime_mod_CFLAGS): Likewise.
20388 (datetime_mod_LDFLAGS): Likewise.
20389 (date_mod_SOURCES): Likewise.
20390 (date_mod_CFLAGS): Likewise.
20391 (date_mod_LDFLAGS): Likewise.
20392 (datehook_mod_SOURCES): Likewise.
20393 (datehook_mod_CFLAGS): Likewise.
20394 (datehook_mod_LDFLAGS): Likewise.
20395
20396 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20397
20398 * commands/date.c: New file.
20399
20400 * hook/datehook.c: Likewise.
20401
20402 * include/grub/lib/datetime.h: Likewise.
20403
20404 * include/grub/i386/cmos.h: Likewise.
20405
20406 * lib/datetime.c: Likewise.
20407
20408 * lib/i386/datetime.c: Likewise.
20409
20410 * lib/efi/datetime.c: Likewise.
20411
20412 2008-08-14 Robert Millan <rmh@aybabtu.com>
20413
20414 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20415 (grub_mkelfimage_SOURCES): New variable.
20416 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20417
20418 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20419 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20420 * conf/powerpc-ieee1275.rmk: Likewise.
20421 * conf/i386-ieee1275.rmk: Likewise.
20422
20423 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20424 * kern/i386/coreboot/init.c: Likewise.
20425
20426 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20427 with `<grub/cpu/kernel.h>'.
20428 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20429 to ...
20430 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20431 * kern/i386/coreboot/startup.S: Likewise.
20432
20433 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20434 (GRUB_MOD_GAP): Remove.
20435 * include/grub/powerpc/kernel.h: New file.
20436 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20437 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20438 * include/grub/i386/kernel.h: New file.
20439 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20440 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20441 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20442
20443 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20444 `grub-mkelfimage'.
20445 Use --directory when invoking grub_mkimage.
20446
20447 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20448 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20449 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20450 and GRUB_KERNEL_CPU_PREFIX.
20451
20452 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
20453
20454 * include/grub/err.h (grub_err_printf): New function prototype.
20455 * util/misc.c (grub_err_printf): New function.
20456 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20457 grub_printf.
20458 * kern/err.c (grub_print_error): Use grub_err_printf.
20459
20460 2008-08-13 Robert Millan <rmh@aybabtu.com>
20461
20462 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20463
20464 2008-08-13 Robert Millan <rmh@aybabtu.com>
20465
20466 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20467 boot entry.
20468
20469 2008-08-12 Robert Millan <rmh@aybabtu.com>
20470
20471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20472 of the relocation code from here ...
20473 (grub_multiboot): ... to here.
20474 (forward_relocator, backward_relocator): Move from here ...
20475 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20476 (grub_multiboot_backward_relocator): ... to here.
20477 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20478 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20479 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20480 (grub_multiboot_forward_relocator_end)
20481 (grub_multiboot_backward_relocator)
20482 (grub_multiboot_backward_relocator_end): New variables.
20483
20484 2008-08-12 Bean <bean123ch@gmail.com>
20485
20486 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20487
20488 2008-08-11 Robert Millan <rmh@aybabtu.com>
20489
20490 * kern/i386/linuxbios/startup.S: Move from here ...
20491 * kern/i386/coreboot/startup.S: ... to here.
20492
20493 * kern/i386/linuxbios/init.c: Move from here ...
20494 * kern/i386/coreboot/init.c: ... to here.
20495
20496 * kern/i386/linuxbios/table.c: Move from here ...
20497 * kern/i386/coreboot/mmap.c: ... to here.
20498
20499 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20500
20501 2008-08-11 Robert Millan <rmh@aybabtu.com>
20502
20503 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20504 errors. Leave it to the upper layer to handle them.
20505
20506 2008-08-09 Christian Franke <franke@computer.org>
20507
20508 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20509 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20510 Install `grub.d/10_windows' only on Cygwin.
20511 * configure.ac: Add subst of `target_os'.
20512 Check `target_os' also before setting TARGET_OBJ2ELF.
20513 Add `--enable-grub-pe2elf'.
20514
20515 2008-08-08 Robert Millan <rmh@aybabtu.com>
20516
20517 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20518 (grub_last_time): Change type to grub_uint64_t.
20519 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20520 (grub_disk_close): Likewise.
20521
20522 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20523 (run_menu): Migrate code from to using grub_get_time_ms().
20524
20525 * util/misc.c (grub_get_time_ms): New function.
20526
20527 2008-08-08 Marco Gerards <marco@gnu.org>
20528
20529 * disk/ata.c (grub_ata_regget): Change return type to
20530 `grub_uint8_t'.
20531 (grub_ata_regget2): Likewise.
20532 (grub_ata_wait_status): New function.
20533 (grub_ata_wait_busy): Removed function, updated all users to use
20534 `grub_ata_wait_status'.
20535 (grub_ata_wait_drq): Likewise.
20536 (grub_ata_cmd): New function.
20537 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20538 error handling.
20539 (grub_ata_pio_write): Add error handling.
20540 (grub_atapi_identify): Likewise.
20541 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20542 handling.
20543 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20544 handling. Actually use the detected registers. Reorder the
20545 detection logic such that it is easier to read.
20546 (grub_ata_pciinit): Do not assign the same ID to each controller.
20547 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20548 handling.
20549 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20550
20551 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20552
20553 2008-08-08 Marco Gerards <marco@gnu.org>
20554
20555 * NEWS: Update.
20556
20557 2008-08-07 Bean <bean123ch@gmail.com>
20558
20559 * include/grub/x86_64/pci.h: New file.
20560
20561 2008-08-07 Christian Franke <franke@computer.org>
20562
20563 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20564 (TIMER2_GATE): Likewise.
20565 (grub_pit_wait): Add enable/disable of the timer2 gate
20566 bit of port 0x61. This fixes a possible infinite loop.
20567
20568 2008-08-07 Bean <bean123ch@gmail.com>
20569
20570 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20571 kern/i386/tsc.c and kern/i386/pit.c.
20572
20573 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20574 x86_64 platform.
20575
20576 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20577 <grub/i386/tsc.h>.
20578
20579 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20580
20581 2008-08-07 Bean <bean123ch@gmail.com>
20582
20583 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20584
20585 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20586
20587 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20588 multiple inclusion. Add #include <grub/types.h>.
20589
20590 2008-08-06 Christian Franke <franke@computer.org>
20591
20592 * conf/common.rmk: Build and install `10_windows'.
20593 * util/grub.d/10_windows.in: New script.
20594
20595 2008-08-06 Pavel Roskin <proski@gnu.org>
20596
20597 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20598
20599 2008-08-06 Robert Millan <rmh@aybabtu.com>
20600
20601 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20602 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20603
20604 2008-08-06 Bean <bean123ch@gmail.com>
20605
20606 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20607 (grub_pxefs_fs_int): Remove dummy definition.
20608 (grub_pxefs_open): Use data->block_size to store the current block
20609 size setting.
20610 (grub_pxefs_read): Use block size stored in data->block_size. As the
20611 value of grub_pxe_blksize can be changed after the file is opened.
20612
20613 2008-08-06 Bean <bean123ch@gmail.com>
20614
20615 * fs/i386/pc/pxe.c (curr_file): new variable.
20616 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20617 require the dummy internal file system anymore.
20618 (grub_pxefs_read): Removed.
20619 (grub_pxefs_close): Likewise.
20620 (grub_pxefs_fs_int): Likewise.
20621 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20622 connection when we switch file.
20623 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20624
20625 2008-08-06 Robert Millan <rmh@aybabtu.com>
20626
20627 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20628 `halt.mod'.
20629 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20630 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20631
20632 * kern/i386/halt.c: New file.
20633 * kern/i386/reboot.c: Likewise.
20634 * include/grub/i386/reboot.h: Likewise.
20635 * include/grub/i386/halt.h: Likewise.
20636
20637 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20638 Include `<grub/cpu/halt.h>'.
20639 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20640 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20641
20642 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20643 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20644 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20645 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20646 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20647 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20648 from here ...
20649 * include/grub/i386/at_keyboard.h: ... to here.
20650
20651 2008-08-05 Robert Millan <rmh@aybabtu.com>
20652
20653 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20654 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20655 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20656 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20657 `kern/generic/millisleep.c'.
20658
20659 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20660 instead of grub_get_rtc().
20661 (grub_tsc_init): Initialize `tsc_boot_time'.
20662
20663 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20664 (grub_machine_init): Use grub_tsc_init() rather than
20665 installing an RTC-based handler via grub_install_get_time_ms().
20666
20667 * kern/i386/pit.c: New file.
20668 * include/grub/i386/pit.h: Likewise.
20669
20670 2008-08-05 Bean <bean123ch@gmail.com>
20671
20672 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20673
20674 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20675 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20676 (pxe_mod_SOURCES): New macro.
20677 (pxe_mod_CFLAGS): Likewise.
20678 (pxe_mod_LDFLAGS): Likewise.
20679 (pxecmd_mod_SOURCES): Likewise.
20680 (pxecmd_mod_CFLAGS): Likewise.
20681 (pxecmd_mod_LDFLAGS): Likewise.
20682
20683 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20684 (grub_pxe_call): Likewise.
20685
20686 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20687
20688 * commands/i386/pc/pxecmd.c: New file.
20689
20690 * fs/i386/pc/pxe.c: Likewise.
20691
20692 * include/grub/i386/pc/pxe.h: Likewise.
20693
20694 2008-08-05 Bean <bean123ch@gmail.com>
20695
20696 * util/console.c (grub_console_cur_color): New variable.
20697 (grub_console_standard_color): Likewise.
20698 (grub_console_normal_color): Likewise.
20699 (grub_console_highlight_color): Likewise.
20700 (color_map): Likewise.
20701 (use_color): Likewise.
20702 (NUM_COLORS): New macro.
20703 (grub_ncurses_setcolorstate): Handle color properly.
20704 (grub_ncurses_setcolor): Don't change color here, just remember the
20705 settings, color will be set in grub_ncurses_setcolorstate.
20706 (grub_ncurses_getcolor): New function.
20707 (grub_ncurses_init): Initialize color pairs.
20708 (grub_ncurses_term): New member grub_ncurses_getcolor.
20709
20710 2008-08-05 Colin D Bennett <colin@gibibit.com>
20711
20712 High resolution timer support. Implemented for x86 CPUs using TSC.
20713 Extracted generic grub_millisleep() so it's linked in only as needed.
20714 This requires a Pentium compatible CPU; if the RDTSC instruction is
20715 not supported, then it falls back on the generic grub_get_time_ms()
20716 implementation that uses the machine's RTC.
20717
20718 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20719 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20720 `kern/generic/millisleep.c'.
20721
20722 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20723 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20724
20725 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20726 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20727
20728 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20729
20730 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20731 `kern/generic/millisleep.c'.
20732
20733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20734
20735 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20736
20737 * kern/generic/rtc_get_time_ms.c: New file.
20738
20739 * kern/generic/millisleep.c: New file.
20740
20741 * kern/misc.c: Don't include
20742 <kern/time.h> anymore.
20743 (grub_millisleep_generic): Removed.
20744
20745 * commands/sleep.c (grub_interruptible_millisleep): Uses
20746 grub_get_time_ms() instead of grub_get_rtc().
20747
20748 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20749 function.
20750 (grub_cpu_is_cpuid_supported): New inline function.
20751 (grub_cpu_is_tsc_supported): New inline function.
20752 (grub_tsc_init): New function prototype.
20753 (grub_tsc_get_time_ms): New function prototype.
20754
20755 * kern/i386/tsc.c (grub_get_time_ms): New file.
20756
20757 * include/grub/time.h: Include <grub/types.h.
20758 (grub_millisleep_generic): Removed.
20759 (grub_get_time_ms): New prototype.
20760 (grub_install_get_time_ms): New prototype.
20761 (grub_rtc_get_time_ms): New prototype.
20762
20763 * kern/time.c (grub_get_time_ms): New function.
20764 (grub_install_get_time_ms): New function.
20765
20766 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20767 <grub/time.h> anymore.
20768 (grub_millisleep): Removed.
20769 (grub_machine_init): Call grub_tsc_init.
20770
20771 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20772 get_time_ms() implementation.
20773
20774 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20775 (ieee1275_get_time_ms): New function.
20776 (grub_machine_init): Install get_time_ms() implementation.
20777
20778 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20779 (grub_machine_init): Call grub_tsc_init().
20780 (grub_millisleep): Removed.
20781
20782 * kern/ieee1275/init.c (grub_millisleep): Removed.
20783 (grub_machine_init): Install ieee1275_get_time_ms()
20784 implementation.
20785 (ieee1275_get_time_ms): New function.
20786 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
20787 real work.
20788
20789 2008-08-05 Marco Gerards <marco@gnu.org>
20790
20791 * disk/ata.c: Include <grub/pci.h>.
20792 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
20793 (grub_ata_initialize): Rewritten.
20794 (grub_ata_device_initialize): New function.
20795
20796 2008-08-04 Pavel Roskin <proski@gnu.org>
20797
20798 * kern/main.c: Include grub/mm.h.
20799
20800 2008-08-04 Robert Millan <rmh@aybabtu.com>
20801
20802 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
20803 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
20804 corruption problem).
20805
20806 2008-08-04 Robert Millan <rmh@aybabtu.com>
20807
20808 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
20809 warnings introduced in my last commit.
20810
20811 2008-08-03 Robert Millan <rmh@aybabtu.com>
20812
20813 Make PCI available on all i386 architectures.
20814
20815 * include/grub/i386/pc/pci.h: Move from here ...
20816 * include/grub/i386/pci.h: ... to here.
20817
20818 * include/grub/i386/pc/pci.h: Remove.
20819 * include/grub/i386/efi/pci.h: Remove.
20820 * include/grub/x86_64/efi/pci.h: Remove.
20821
20822 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
20823 `<grub/cpu/pci.h>'.
20824
20825 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
20826 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
20827 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
20828
20829 * conf/i386-ieee1275.rmk: Likewise.
20830
20831 2008-08-03 Robert Millan <rmh@aybabtu.com>
20832
20833 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
20834 (grub_console_setcursor): Make it possible to set cursor off.
20835
20836 2008-08-03 Robert Millan <rmh@aybabtu.com>
20837
20838 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
20839 of modules instead of assuming which platform provides what.
20840 * util/update-grub.in: Likewise.
20841
20842 2008-08-03 Robert Millan <rmh@aybabtu.com>
20843
20844 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
20845 instead of `grub_install_dos_part' to determine whether a drive needs
20846 to be prepended to prefix (`grub_install_dos_part' is not reliable,
20847 because it can be overridden when loading GRUB via Multiboot).
20848
20849 2008-08-02 Robert Millan <rmh@aybabtu.com>
20850
20851 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
20852
20853 2008-08-02 Robert Millan <rmh@aybabtu.com>
20854
20855 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
20856 of informational grub_dprintf() calls.
20857
20858 2008-08-02 Robert Millan <rmh@aybabtu.com>
20859
20860 * disk/memdisk.c (memdisk_size): Don't initialize.
20861 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
20862
20863 * include/grub/i386/pc/kernel.h
20864 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
20865 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
20866 (grub_memdisk_image_size, grub_arch_memdisk_addr)
20867 (grub_arch_memdisk_size): Remove.
20868
20869 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
20870 field (was only used to transfer a constant). Add `type' field to
20871 support multiple module types.
20872 (grub_module_iterate): New function.
20873
20874 * kern/device.c (grub_device_open): Do not hide error messages
20875 when grub_disk_open() fails. Use grub_print_error() instead.
20876
20877 * kern/i386/pc/init.c (grub_arch_modules_addr)
20878 (grub_arch_memdisk_size): Remove functions.
20879 (grub_arch_modules_addr): Return the module address in high memory
20880 (now that it isn't copied anymore).
20881
20882 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
20883 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
20884 decompression routine (grub_total_module_size already includes that
20885 now). Don't copy modules back to low memory.
20886
20887 * kern/main.c: Include `<grub/mm.h>'.
20888 (grub_load_modules): Split out (and use) ...
20889 (grub_module_iterate): ... this function, which iterates through
20890 module objects and runs a hook.
20891 Comment out grub_mm_init_region() call, as it would cause non-ELF
20892 modules to be overwritten.
20893
20894 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
20895 the memdisk image in its own region, make it part of the module list.
20896 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
20897 (main): Parse --memdisk|-m option, and pass user-provided path as
20898 parameter to generate_image().
20899 (add_segments): Pass `memdisk_path' down to load_modules().
20900 (load_modules): Embed memdisk image in module section when requested.
20901 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
20902 `header.type' instead of `header.offset'.
20903
20904 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
20905 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
20906 (memdisk_mod_LDFLAGS): New variables.
20907 * conf/i386-coreboot.rmk: Likewise.
20908 * conf/i386-ieee1275.rmk: Likewise.
20909
20910 2008-08-02 Robert Millan <rmh@aybabtu.com>
20911
20912 * loader/i386/pc/multiboot.c (playground, forward_relocator)
20913 (backward_relocator): New variables. Used to allocate and relocate
20914 the payload, respectively.
20915 (grub_multiboot_load_elf32): Load into heap instead of requested
20916 address, install the appropriate relocator code in each bound of
20917 the payload, and set the entry point such that
20918 grub_multiboot_real_boot() will jump to one of them.
20919
20920 * kern/i386/loader.S (grub_multiboot_payload_size)
20921 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20922 (grub_multiboot_payload_entry_offset): New variables.
20923 (grub_multiboot_real_boot): Set cpu context to what the relocator
20924 expects, and jump to the relocator instead of the payload.
20925
20926 * include/grub/i386/loader.h (grub_multiboot_payload_size)
20927 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20928 (grub_multiboot_payload_entry_offset): Export.
20929
20930 2008-08-01 Bean <bean123ch@gmail.com>
20931
20932 * normal/menu_entry.c (editor_getline): Don't return the original
20933 string as result, as it will be released by lexer once it has done
20934 using it.
20935
20936 2008-08-01 Robert Millan <rmh@aybabtu.com>
20937
20938 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
20939 within menuentries, not before them.
20940 util/grub.d/10_hurd.in: Likewise.
20941
20942 2008-08-01 Bean <bean123ch@gmail.com>
20943
20944 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
20945 (bufio_mod_SOURCES): New macro.
20946 (bufio_mod_CFLAGS): Likewise.
20947 (bufio_mod_LDFLAGS): Likewise.
20948
20949 * include/grub/bufio.h: New file.
20950
20951 * io/bufio.c: Likewise.
20952
20953 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
20954 (grub_video_reader_png): Use grub_buffile_open to open file.
20955
20956 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
20957 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
20958
20959 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
20960 (grub_video_reader_tga): Use grub_buffile_open to open file.
20961
20962 * font/manager.c: Include <grub/bufio.h>.
20963 (add_font): Use grub_buffile_open to open file.
20964
20965 2008-07-31 Robert Millan <rmh@aybabtu.com>
20966
20967 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
20968 ELF segments, use a macro for arbitrarily accessing any of them instead
20969 of preparing a pointer that allows access to one at a time.
20970 (grub_multiboot_load_elf64): Likewise.
20971
20972 2008-07-31 Bean <bean123ch@gmail.com>
20973
20974 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
20975 GRUB_KERNEL_MACHINE_DATA_END.
20976
20977 2008-07-30 Robert Millan <rmh@aybabtu.com>
20978
20979 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
20980 Increase from 0x50 to 0x60.
20981 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
20982 use UUIDs to identify the root drive for them. If that's not
20983 possible, abort.
20984 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
20985 check, for cross-disk installs.
20986
20987 2008-07-30 Robert Millan <rmh@aybabtu.com>
20988
20989 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
20990 is non-empty, use it to set the `prefix' environment variable instead
20991 of the usual approach.
20992 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
20993 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
20994 environment variable instead of dummy make_install_device().
20995
20996 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
20997 (start): Insert a data section, with `grub_prefix' variable.
20998 * kern/i386/linuxbios/startup.S: Likewise.
20999
21000 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21001 New variable reference.
21002 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21003 New macro. Defines offset of `grub_prefix' within startup.S (relative
21004 to `start').
21005 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21006 section within startup.S (relative to `start').
21007 * include/grub/i386/coreboot/kernel.h: Likewise.
21008
21009 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21010 Overwrite grub_prefix with its contents, at the beginning of the
21011 first segment.
21012 (main): Understand -p|--prefix.
21013
21014 2008-07-30 Robert Millan <rmh@aybabtu.com>
21015
21016 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21017
21018 2008-07-30 Robert Millan <rmh@aybabtu.com>
21019
21020 * term/i386/pc/vga_text.c (grub_console_cls): Use
21021 grub_console_gotoxy() to go back to beginning of the screen.
21022 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21023
21024 2008-07-29 Christian Franke <franke@computer.org>
21025
21026 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21027 Add conversion of emulated mount points on Cygwin.
21028
21029 2008-07-29 Christian Franke <franke@computer.org>
21030
21031 * util/update-grub.in: Add a check for admin
21032 group on Cygwin.
21033 Remove old `grub.cfg.new' before creation.
21034 Add `-f' to `mv' to handle the different filesystem
21035 semantics of Windows.
21036
21037 2008-07-29 Bean <bean123ch@gmail.com>
21038
21039 * normal/main.c (get_line): Fix buffer overflow bug.
21040
21041 2008-07-28 Robert Millan <rmh@aybabtu.com>
21042
21043 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21044 (struct grub_apple_header): New struct. Describes the layout of
21045 the partmap header.
21046 (apple_partition_map_iterate): Check the header magic as well as the
21047 partition magic (which was already being checked).
21048
21049 2008-07-28 Pavel Roskin <proski@gnu.org>
21050
21051 * genmk.rb: Add a warning to the beginning of the output that
21052 it's a generated file and should not be edited.
21053
21054 2008-07-28 Robert Millan <rmh@aybabtu.com>
21055
21056 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21057 with the same number are found, just use issue a warning with
21058 grub_dprintf(), as this error has been reported to be non-fatal.
21059
21060 2008-07-27 Robert Millan <rmh@aybabtu.com>
21061
21062 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21063 information.
21064
21065 2008-07-27 Bean <bean123ch@gmail.com>
21066
21067 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21068 (grub_fat_find_dir): Ignore case when comparing filename.
21069
21070 2008-07-27 Bean <bean123ch@gmail.com>
21071
21072 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21073 smallino, as it's more descriptive, and i8count can be confused with
21074 the other field count.
21075 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21076 inode type.
21077
21078 2008-07-27 Bean <bean123ch@gmail.com>
21079
21080 * commands/crc.c: New file.
21081
21082 * lib/crc.c: Likewise.
21083
21084 * include/grub/lib/crc.h: Likewise.
21085
21086 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21087
21088 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21089 (hexdump): Move this function to ...
21090
21091 * lib/hexdump.c: ... here.
21092
21093 * include/grub/hexdump.h: Renamed to ...
21094
21095 * include/grub/lib/hexdump.h: ... this.
21096
21097 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21098
21099 * util/grub-editenv.c: Likewise.
21100
21101 * include/envblk.h: Renamed to ...
21102
21103 * include/lib/envblk.h: ... this.
21104
21105 * util/envblk.c: Renamed to ...
21106
21107 * lib/envblk.c: ... this.
21108
21109 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21110 lib/hexdump.c.
21111 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21112 (pkglib_MODULES): Add crc.mod.
21113 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21114 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21115 (crc_mod_SOURCES): New macro.
21116 (crc_mod_CFLAGS): Likewise.
21117 (crc_mod_LDFLAGS): Likewise.
21118
21119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21120
21121 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21122
21123 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21124
21125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21126
21127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21128
21129 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
21130
21131 * commands/help.c: Include <grub/term.h>.
21132 (TERM_WIDTH): Removed. Updated all users.
21133
21134 2008-07-27 Pavel Roskin <proski@gnu.org>
21135
21136 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21137 spurious warnings about a comment within a comment.
21138
21139 2008-07-25 Robert Millan <rmh@aybabtu.com>
21140
21141 * util/getroot.c (find_root_device): Skip devices that match
21142 /dev/dm-[0-9]. This lets the real device be found for any type of
21143 abstraction (LVM, EVMS, RAID..).
21144 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21145 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21146 device is found first, find_root_device() will now skip it.
21147
21148 2008-07-24 Pavel Roskin <proski@gnu.org>
21149
21150 * include/grub/types.h: Use __builtin_bswap32() and
21151 __builtin_bswap64() with gcc 4.3 and newer.
21152
21153 2008-07-24 Christian Franke <franke@computer.org>
21154
21155 * util/i386/pc/grub-install.in: If `--debug' is specified,
21156 pass `--verbose' to grub-setup.
21157 Abort script if make_system_path_relative_to_its_root() fails.
21158
21159 2008-07-24 Bean <bean123ch@gmail.com>
21160
21161 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21162 variable `target_platform' should be `platform'.
21163
21164 2008-07-24 Bean <bean123ch@gmail.com>
21165
21166 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
21167 (grub_png_init_fixed_block): New function.
21168 (grub_png_decode_image_data): Handle fixed huffman code compression.
21169
21170 2008-07-24 Bean <bean123ch@gmail.com>
21171
21172 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21173 (grub_pe2elf_SOURCES): New macro.
21174 (CLEANFILES): Add grub-pe2elf.
21175
21176 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21177 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21178 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21179 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21180 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21181 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21182 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21183 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21184 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21185 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21186 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21187 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21188 (GRUB_PE32_DT_FUNCTION): Likewise.
21189 (GRUB_PE32_REL_I386_DIR32): Likewise.
21190 (GRUB_PE32_REL_I386_REL32): Likewise.
21191 (grub_pe32_symbol): New structure.
21192 (grub_pe32_reloc): Likewise.
21193
21194 * util/grub-pe2elf.c: New file.
21195
21196 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21197 start symbol in non pc platform.
21198
21199 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21200
21201 The following patches are from Christian Franke.
21202
21203 * include/grub/dl.h: Remove .previous, gas supports this only
21204 for ELF format.
21205
21206 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21207 Remove .type, gas supports this only for ELF format.
21208
21209 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21210 nullbytes in symbol table. This fixes an infinite loop if table is
21211 zero filled.
21212
21213 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21214 TARGET_IMG_LDFLAGS and EXEEXT.
21215
21216 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21217 TARGET_IMG_LDFLAGS_AC.
21218 (grub_CHECK_STACK_ARG_PROBE): New function.
21219
21220 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21221
21222 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21223
21224 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21225 to set TARGET_IMG_LD* accordingly.
21226 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21227 Add call to grub_CHECK_STACK_ARG_PROBE.
21228 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21229
21230 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21231
21232 * genmk.rb: Add EXEEXT to CLEANFILES.
21233
21234 2008-07-23 Robert Millan <rmh@aybabtu.com>
21235
21236 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21237 define the codes for arrows and lines used for the menu).
21238 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21239 as well.
21240
21241 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21242 fonts, because the latter are too slow.
21243
21244 2008-07-21 Bean <bean123ch@gmail.com>
21245
21246 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21247 a20. Run keyboard test last, as it will cause macbook to halt.
21248
21249 2008-07-18 Pavel Roskin <proski@gnu.org>
21250
21251 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21252 load foreign architecture modules correctly anyway. Keep
21253 support for loading host architecture modules, whether we
21254 compile them or not.
21255
21256 2008-07-17 Pavel Roskin <proski@gnu.org>
21257
21258 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21259 change target_cpu. The compiler default can mismatch target_cpu
21260 in any case.
21261
21262 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21263 * kern/efi/efi.c: Likewise.
21264
21265 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21266 target compiler is functional.
21267 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21268 are set up.
21269
21270 * configure.ac: Default to efi platform for x86_64-apple. Allow
21271 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21272 adjustments from the rest, only do them if target is not
21273 explicitly given. Merge other adjustments with the final sanity
21274 check. Remove an extraneous check for supported CPU. Be
21275 specific which CPU and which platform is not supported.
21276
21277 * configure.ac: Default to pc platform for x86_64.
21278
21279 2008-07-17 Robert Millan <rmh@aybabtu.com>
21280
21281 Partial LinuxBIOS -> Coreboot rename.
21282
21283 * conf/i386-linuxbios.rmk: Renamed to ...
21284 * conf/i386-coreboot.rmk: ... this.
21285 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21286 * configure.ac: Accept "coreboot" as input platform (but maintain
21287 compatibility with "linuxbios").
21288 * include/grub/i386/linuxbios: Renamed to ...
21289 * include/grub/i386/coreboot: ... this.
21290
21291 2008-07-17 Bean <bean123ch@gmail.com>
21292
21293 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
21294 (appleldr_mod_SOURCE): New variable.
21295 (appleldr_mod_CFLAGS): Likewise.
21296 (appleldr_mod_LDFLAGS): Likewise.
21297 (pci_mod_SOURCES): Likewise.
21298 (pci_mod_CFLAGS): Likewise.
21299 (pci_mod_LDFLAGS): Likewise.
21300 (lspci_mod_SOURCES): Likewise.
21301 (lspci_mod_CFLAGS): Likewise.
21302 (lspci_mod_LDFLAGS): Likewise.
21303
21304 * conf/x86_64-efi.rmk: New file.
21305
21306 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21307 macro.
21308 (grub_efidisk_write): Likewise.
21309
21310 * include/efi/api.h (efi_call_0): New macro.
21311 (efi_call_1): Likewise.
21312 (efi_call_2): Likewise.
21313 (efi_call_3): Likewise.
21314 (efi_call_4): Likewise.
21315 (efi_call_5): Likewise.
21316 (efi_call_6): Likewise.
21317
21318 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21319 grub_rescue_cmd_chainloader.
21320
21321 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21322 (grub_pe32_optional_header): Change some fields based on i386 or
21323 x86_64 platform.
21324 (GRUB_PE32_PE32_MAGIC): Likewise.
21325
21326 * include/grub/efi/uga_draw.h: New file.
21327
21328 * include/grub/elf.h (STN_ABS): New constant.
21329 (R_X86_64_NONE): Relocation constant for x86_64.
21330 (R_X86_64_64): Likewise.
21331 (R_X86_64_PC32): Likewise.
21332 (R_X86_64_GOT32): Likewise.
21333 (R_X86_64_PLT32): Likewise.
21334 (R_X86_64_COPY): Likewise.
21335 (R_X86_64_GLOB_DAT): Likewise.
21336 (R_X86_64_JUMP_SLOT): Likewise.
21337 (R_X86_64_RELATIVE): Likewise.
21338 (R_X86_64_GOTPCREL): Likewise.
21339 (R_X86_64_32): Likewise.
21340 (R_X86_64_32S): Likewise.
21341 (R_X86_64_16): Likewise.
21342 (R_X86_64_PC16): Likewise.
21343 (R_X86_64_8): Likewise.
21344 (R_X86_64_PC8): Likewise.
21345
21346 * include/grub/i386/efi/pci.h: New file.
21347
21348 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21349 Change it value based on platform.
21350 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21351 (GRUB_E820_RAM): Likewise.
21352 (GRUB_E820_RESERVED): Likewise.
21353 (GRUB_E820_ACPI): Likewise.
21354 (GRUB_E820_NVS): Likewise.
21355 (GRUB_E820_EXEC_CODE): Likewise.
21356 (GRUB_E820_MAX_ENTRY): Likewise.
21357 (grub_e820_mmap): New structure.
21358 (linux_kernel_header): Change the efi field according to different
21359 kernel version, also field from linux_kernel_header.
21360
21361 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21362
21363 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21364 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21365 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21366 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21367 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21368 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21369 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21370 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21371 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21372 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21373
21374 * include/grub/x86_64/efi/kernel.h: New file.
21375
21376 * include/grub/x86_64/efi/loader.h: Likewise.
21377
21378 * include/grub/x86_64/efi/machine.h: Likewise.
21379
21380 * include/grub/x86_64/efi/pci.h: Likewise.
21381
21382 * include/grub/x86_64/efi/time.h: Likewise.
21383
21384 * include/grub/x86_64/linux.h: Likewise.
21385
21386 * include/grub/x86_64/setjmp.h: Likewise.
21387
21388 * include/grub/x86_64/time.h: Likewise.
21389
21390 * include/grub/x86_64/types.h: Likewise.
21391
21392 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21393 GRUB_TARGET_SIZEOF_VOID_P.
21394
21395 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21396 (grub_efi_locate_handle): Likewise.
21397 (grub_efi_open_protocol): Likewise.
21398 (grub_efi_set_text_mode): Likewise.
21399 (grub_efi_stall): Likewise.
21400 (grub_exit): Likewise.
21401 (grub_reboot): Likewise.
21402 (grub_halt): Likewise.
21403 (grub_efi_exit_boot_services): Likewise.
21404 (grub_get_rtc): Likewise.
21405
21406 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21407 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21408 (grub_efi_allocate_pages): Wrap efi calls.
21409 (grub_efi_free_pages): Wrap efi calls.
21410 (grub_efi_get_memory_map): Wrap efi calls.
21411
21412 * kern/x86_64/dl.c: New file.
21413
21414 * kern/x86_64/efi/callwrap.S: Likewise.
21415
21416 * kern/x86_64/efi/startup.S: Likewise.
21417
21418 * loader/efi/appleloader.c: Likewise.
21419
21420 * loader/efi/chainloader.c (cmdline): New variable.
21421 (grub_chainloader_unload): Wrap efi calls.
21422 (grub_chainloader_boot): Likewise.
21423 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21424 command line.
21425
21426 * loader/efi/chainloader_normal.c (chainloader_command):
21427 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21428 command line.
21429
21430 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21431 method.
21432 (grub_e820_add_region): New function.
21433 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21434 booting.
21435 (grub_find_video_card): New function.
21436 (grub_linux_setup_video): New function.
21437 (grub_rescue_cmd_linux): Probe for video information.
21438
21439 * normal/x86_64/setjmp.S: New file.
21440
21441 * term/efi/console.c (map_char): New function.
21442 (grub_console_putchar): Map unicode char.
21443 (grub_console_checkkey): Wrap efi calls.
21444 (grub_console_getkey): Likewise.
21445 (grub_console_getwh): Likewise.
21446 (grub_console_gotoxy): Likewise.
21447 (grub_console_cls): Likewise.
21448 (grub_console_setcolorstate): Likewise.
21449 (grub_console_setcursor): Likewise.
21450
21451 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21452
21453 2008-07-16 Pavel Roskin <proski@gnu.org>
21454
21455 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21456 format strings.
21457
21458 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21459 pointer, not an integer. This fixes a warning and prevents
21460 precision loss on 64-bit systems.
21461 (relocate_addresses): Remove unneeded cast.
21462
21463 2008-07-15 Pavel Roskin <proski@gnu.org>
21464
21465 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21466
21467 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21468
21469 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21470 Fix comparison between signed and unsigned.
21471
21472 * include/grub/i386/ieee1275/console.h: Declare
21473 grub_console_init() and grub_console_fini().
21474
21475 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21476 It's empty and unused.
21477
21478 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21479 beginning to avoid warnings with some compilers.
21480
21481 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21482 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21483
21484 2008-07-14 Pavel Roskin <proski@gnu.org>
21485
21486 * kern/env.c (grub_register_variable_hook): Don't copy empty
21487 string, it leaks memory. Pass "" to grub_env_set(), it should
21488 handle constant strings.
21489
21490 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21491 * commands/cmp.c (grub_cmd_cmp): Likewise.
21492 * kern/dl.c (grub_dl_flush_cache): Likewise.
21493 (grub_dl_load_core): Likewise.
21494 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21495 (grub_elf64_load_phdrs): Likewise.
21496
21497 2008-07-13 Pavel Roskin <proski@gnu.org>
21498
21499 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21500 between signed and unsigned.
21501 (LzmaEnc_Finish): Fix warning about an unused parameter.
21502
21503 2008-07-13 Bean <bean123ch@gmail.com>
21504
21505 * Makefile.in (enable_lzo): New rule.
21506
21507 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21508
21509 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21510
21511 * boot/i386/pc/lnxboot.S: #include <config.h>.
21512
21513 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
21514 its value according to the compression algorithm used, lzo or lzma.
21515
21516 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21517 compression algorithm according to configure macro.
21518
21519 * kern/i386/pc/startup.S (codestart): Likewise.
21520
21521 * kern/i386/pc/lzma_decode.S: New file.
21522
21523 * include/grub/lib/LzFind.h: Likewise.
21524
21525 * include/grub/lib/LzHash.h: Likewise.
21526
21527 * include/grub/lib/LzmaDec.h: Likewise.
21528
21529 * include/grub/lib/LzmaEnc.h: Likewise.
21530
21531 * include/grub/lib/LzmaTypes.h: Likewise.
21532
21533 * lib/LzFind.c: Likewise.
21534
21535 * lib/LzmaDec.c: Likewise.
21536
21537 * lib/LzmaEnc.c: Likewise.
21538
21539 2008-07-13 Bean <bean123ch@gmail.com>
21540
21541 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21542 (grub_ext4_extent_header): New structure.
21543 (grub_ext4_extent): Likewise.
21544 (grub_ext4_extent_idx): Likewise.
21545 (grub_ext4_find_leaf): New function.
21546 (grub_ext2_read_block): Handle extents.
21547
21548 2008-07-12 Robert Millan <rmh@aybabtu.com>
21549
21550 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21551
21552 2008-07-11 Robert Millan <rmh@aybabtu.com>
21553
21554 * util/grub.d/40_custom.in: New file. Example on how to add custom
21555 entries to /etc/grub.d.
21556 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21557 40_custom (implicitly, by merging all the grub.d rules).
21558
21559 2008-07-11 Pavel Roskin <proski@gnu.org>
21560
21561 * commands/read.c (grub_getline): Fix invalid memory access.
21562 Don't add newline to the variable value.
21563
21564 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21565 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21566 (serial_hw_get_port): Check validity of the port number.
21567 (grub_cmd_serial): Check return value of serial_hw_get_port().
21568
21569 2008-07-07 Pavel Roskin <proski@gnu.org>
21570
21571 * boot/i386/pc/diskboot.S (notification_string): Replace
21572 "Loading kernel" with just "loading". This is shorter, less
21573 confusing and saves a few bytes for possible future changes.
21574
21575 2008-07-05 Pavel Roskin <proski@gnu.org>
21576
21577 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21578 size for ATAPI devices, they are undefined. Output sector
21579 number in decimal form.
21580
21581 * disk/ata.c: Use named constants for status bits.
21582
21583 2008-07-04 Pavel Roskin <proski@gnu.org>
21584
21585 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21586 grub_addr_t before casting it to the void pointer to fix a
21587 warning. Non-addressable regions are discarded earlier.
21588 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21589 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21590 (check_signature): Don't shadow table_header.
21591 (grub_linuxbios_table_iterate): Cast numeric constants to
21592 grub_linuxbios_table_header_t.
21593 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21594 grub_stop().
21595
21596 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21597 prevent warnings.
21598
21599 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21600 pointer, which can cause warnings. Support 64-bit addresses.
21601
21602 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21603 of sizeof(long). This fixes PowerPC image generation on x86_64.
21604
21605 2008-07-04 Robert Millan <rmh@aybabtu.com>
21606
21607 This fixes a performance issue when pc & gpt partmap iterators
21608 didn't abort iteration even after our hook found what it was
21609 looking for (often causing expensive probes of non-existent drives).
21610
21611 Some callers relied on previous buggy behaviour, since they would
21612 raise an error when their own hooks caused early abortion of its
21613 iteration.
21614
21615 * kern/device.c (grub_device_open): Improve error message.
21616 * disk/lvm.c (grub_lvm_open): Likewise.
21617 * disk/raid.c (grub_raid_open): Likewise.
21618
21619 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21620 when hook requests it, independently of grub_errno.
21621 (pc_partition_map_probe): Do not fail when find_func() caused
21622 early abortion of pc_partition_map_iterate().
21623
21624 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21625 when hook requests it, independently of grub_errno.
21626 (gpt_partition_map_probe): Do not fail when find_func() caused
21627 early abortion of gpt_partition_map_iterate().
21628
21629 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21630 when hook requests it, independently of grub_errno. Do not fail when
21631 part_map_iterate_hook() caused early abortion of p->iterate().
21632
21633 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21634 when grub_partition_iterate() returned with non-zero.
21635
21636 2008-07-03 Pavel Roskin <proski@gnu.org>
21637
21638 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21639 like we do in grub_ata_pio_read().
21640 (grub_ata_readwrite): Always write individual sectors. Fix the
21641 sector count for the remainder.
21642 (grub_ata_write): Enable writing to ATA devices. Correctly
21643 report error for ATAPI devices.
21644
21645 2008-07-02 Pavel Roskin <proski@gnu.org>
21646
21647 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21648 warning.
21649
21650 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21651 for every read sector, we already increment it for the whole
21652 batch. This fixes reading more than 256 sectors at once.
21653
21654 * util/grub-editenv.c (cmd_info): Cast argument to long
21655 explicitly. ptrdiff_t reduces to int on i386.
21656
21657 * util/grub-editenv.c (main): Be specific which parameter is
21658 missing.
21659
21660 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21661 (memdisk): Make memdisk_orig_addr a pointer.
21662
21663 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21664 for file offsets, use grub_off_t instead. Fix printf format
21665 warnings.
21666
21667 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21668 there. Real unexpected warnings should not drown in the noise
21669 about known problems.
21670
21671 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21672 grub_disk_addr_t for memory addresses.
21673
21674 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21675 explicitly to fix a warning.
21676
21677 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21678
21679 * Makefile.in (MODULE_LDFLAGS): New variable.
21680 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21681 the linker accepts --build-id=none.
21682 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21683 MODULE_LDFLAGS.
21684 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21685
21686 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21687 those in Linux XFS code. Provide a way to access 64-bit parent
21688 inode.
21689 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21690 the end of struct grub_xfs_dir_header.
21691
21692 2008-07-02 Bean <bean123ch@gmail.com>
21693
21694 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21695 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21696 and GRUB_IEEE1275_FLAG_NO_ANSI.
21697
21698 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21699 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21700 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21701
21702 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21703 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21704
21705 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21706 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21707
21708 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21709 esc sequence on non ANSI terminal.
21710 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21711
21712 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21713 beginning of file.
21714
21715 2008-07-02 Bean <bean123ch@gmail.com>
21716
21717 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21718 (grub_editenv_SOURCES): New variable.
21719 (pkglib_MODULES): Add loadenv.mod.
21720 (loadenv_mod_SOURCES): New variable.
21721 (loadenv_mod_CFLAGS): Likewise.
21722 (loadenv_mod_LDFLAGS): Likewise.
21723
21724 * include/grub/envblk.h: New file.
21725
21726 * util/envblk.c: New file.
21727
21728 * util/grub-editenv.c: New file.
21729
21730 * commands/loadenv.c: New file.
21731
21732 2008-07-01 Pavel Roskin <proski@gnu.org>
21733
21734 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21735 not unsigned char. This fixes warnings and is consistent with
21736 other tags.
21737
21738 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21739
21740 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21741
21742 * term/tparm.c (analyze): Always set *popcount.
21743
21744 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21745 cast to fix a warning.
21746
21747 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21748 cast to suppress a warning.
21749
21750 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21751 grub_fshelp_read_file() expects.
21752
21753 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21754 write uuid as a 32-bit value in CPU byte order, so declare and
21755 use it as such.
21756
21757 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21758 long if the format specifier expects it.
21759 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21760 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21761 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21762 long to fix a warning.
21763 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21764 grub_dprintf() arguments to fix warnings.
21765
21766 2008-06-30 Pavel Roskin <proski@gnu.org>
21767
21768 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21769 install_bsd_part immediately before core.img is embedded or
21770 modified on disk. This fixes core.img verification if core.img
21771 cannot be embedded.
21772
21773 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21774 core_path to calculate the blocklist.
21775 Patch from Javier Martín <lordhabbit@gmail.com>
21776
21777 2008-06-29 Robert Millan <rmh@aybabtu.com>
21778
21779 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21780 block to disk block.
21781 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21782 Patch from Niels Böhm <bitbucket@arcor.de>
21783
21784 2008-06-29 Robert Millan <rmh@aybabtu.com>
21785
21786 * util/update-grub_lib.in (font_path): Search for fonts in
21787 /boot/grub first, which is more likely to be readable (we aren't
21788 deciding where fonts live, just looking for them).
21789
21790 2008-06-26 Pavel Roskin <proski@gnu.org>
21791
21792 * util/biosdisk.c (read_device_map): Don't leave dead map
21793 entries for devices failing stat() check.
21794
21795 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
21796 core_path_dev for the core.img path on the target device.
21797
21798 2008-06-26 Robert Millan <rmh@aybabtu.com>
21799
21800 * disk/fs_uuid.c: New file.
21801 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
21802 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
21803 (fs_uuid_mod_LDFLAGS): New variables.
21804 * include/grub/disk.h (grub_disk_dev_id): Add
21805 `GRUB_DISK_DEVICE_UUID_ID'.
21806 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
21807 implement iterate().
21808
21809 2008-06-26 Robert Millan <rmh@aybabtu.com>
21810
21811 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
21812 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
21813 Linux image includes no initrd.
21814
21815 2008-06-21 Javier Martín <lordhabbit@gmail.com>
21816
21817 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
21818 call to resolve the core image location that effectively appended the
21819 name twice.
21820
21821 2008-06-21 Robert Millan <rmh@aybabtu.com>
21822
21823 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
21824 call from here ...
21825
21826 * util/grub.d/10_hurd.in: ... to here ...
21827 * util/grub.d/10_linux.in: ... and here.
21828
21829 2008-06-19 Robert Millan <rmh@aybabtu.com>
21830
21831 * kern/main.c (grub_main): Export `prefix' variable immediately
21832 after it has been set by grub_machine_set_prefix().
21833
21834 2008-06-19 Robert Millan <rmh@aybabtu.com>
21835
21836 * commands/search.c (search_label, search_fs_uuid, search_file): Print
21837 search result when not saving to variable, not the other way around.
21838 When saving to variable, abort iteration as soon as a match is found.
21839
21840 2008-06-19 Robert Millan <rmh@aybabtu.com>
21841
21842 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
21843 check for partition that provides /boot/grub. Its logic is flawed,
21844 as it prevents prepare_grub_to_access_device() from being called
21845 multiple times.
21846
21847 2008-06-19 Robert Millan <rmh@aybabtu.com>
21848
21849 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
21850 "insmod" command directly when abstraction modules are needed,
21851 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
21852 since it had already been processed).
21853
21854 2008-06-19 Pavel Roskin <proski@gnu.org>
21855
21856 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
21857 changed. This is needed in case GRUB_LIBDIR changes.
21858 * conf/i386-ieee1275.rmk: Likewise.
21859 * conf/i386-linuxbios.rmk: Likewise.
21860 * conf/i386-pc.rmk: Likewise.
21861 * conf/powerpc-ieee1275.rmk: Likewise.
21862
21863 2008-06-18 Pavel Roskin <proski@gnu.org>
21864
21865 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
21866 kernel_elf_symlist.c to symlist.c for consistency with other
21867 architectures. Update all users.
21868 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21869
21870 2008-06-18 Robert Millan <rmh@aybabtu.com>
21871
21872 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
21873 it in prefix.
21874
21875 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
21876 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
21877 a RAID device, run setup() for all members independently on whether
21878 LVM abstraction is being used.
21879 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
21880 If grub-mkimage has set `*install_dos_part == -2', don't override this
21881 value.
21882 Perform *install_dos_part adjustments independently on whether
21883 we're embedding or not.
21884 Clarify error message when image is too big for embedding.
21885 Remove duplicate *install_dos_part stanza.
21886
21887 2008-06-17 Robert Millan <rmh@aybabtu.com>
21888
21889 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
21890 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
21891 variables.
21892 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
21893 values in grub_ofconsole_normal_color and
21894 grub_ofconsole_highlight_color (they're not directly related to
21895 background and foreground).
21896 (grub_ofconsole_setcolorstate): Extract background and foreground
21897 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
21898
21899 2008-06-17 Robert Millan <rmh@aybabtu.com>
21900
21901 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
21902 /boot/grub for the check in last commit, not /boot (they could be
21903 different partitions).
21904
21905 2008-06-16 Robert Millan <rmh@aybabtu.com>
21906
21907 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
21908 asked to setup access for the same partition that provides /boot,
21909 don't bother using UUIDs since our root already has the value we
21910 want.
21911
21912 2008-06-16 Robert Millan <rmh@aybabtu.com>
21913
21914 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
21915 I2O devices.
21916 Patch from Sven Mueller <sven@debian.org>.
21917
21918 2008-06-16 Robert Millan <rmh@aybabtu.com>
21919
21920 * util/update-grub.in: Check for $EUID instead of $UID.
21921 Reported by Vincent Zweije.
21922
21923 2008-06-16 Bean <bean123ch@gmail.com>
21924
21925 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
21926 (grub_ext2_read_block): Likewise.
21927 (grub_ext2_read_inode): Likewise.
21928 (grub_ext2_mount): Likewise.
21929 (grub_ext2_close): Likewise.
21930 (grub_ext3_get_journal): Removed.
21931
21932 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
21933 (grub_reiserfs_read_symlink): Likewise.
21934 (grub_reiserfs_mount): Likewise.
21935 (grub_reiserfs_open): Likewise.
21936 (grub_reiserfs_read): Likewise.
21937 (grub_reiserfs_close): Likewise.
21938 (grub_reiserfs_get_journal): Removed.
21939
21940 * fs/fshelp.c (grub_fshelp_read): Removed.
21941 (grub_fshelp_map_block): Likewise.
21942
21943 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
21944 (grub_fshelp_journal): Likewise.
21945 (grub_fshelp_read): Likewise.
21946 (grub_fshelp_map_block): Likewise.
21947
21948 2008-06-16 Pavel Roskin <proski@gnu.org>
21949
21950 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
21951 floating point anymore.
21952 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
21953
21954 2008-06-15 Pavel Roskin <proski@gnu.org>
21955
21956 * commands/ls.c (grub_ls_list_files): Use integer calculations
21957 for human readable format, avoid floating point use.
21958 * kern/misc.c (grub_ftoa): Remove.
21959 (grub_vsprintf): Remove floating point support.
21960
21961 2008-06-15 Robert Millan <rmh@aybabtu.com>
21962
21963 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
21964 devices.
21965 Reported by Max Vozeler.
21966
21967 2008-06-15 Robert Millan <rmh@aybabtu.com>
21968
21969 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
21970 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
21971 skipped later.
21972 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
21973 the beginning of the prefix.
21974
21975 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
21976 It is assumed that if we have a memdisk, grub-mkimage has set
21977 grub_prefix to include the "(memdisk)" drive in it.
21978
21979 2008-06-15 Robert Millan <rmh@aybabtu.com>
21980
21981 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
21982 Initialize keyboard controller after registering the terminal, so that
21983 grub_printf() can be called from grub_keyboard_controller_init().
21984
21985 2008-06-15 Robert Millan <rmh@aybabtu.com>
21986
21987 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
21988 extent-btree which is written as big endian on disk.
21989 Reported by Alain Greppin <al@chilibi.org>.
21990
21991 2008-06-14 Robert Millan <rmh@aybabtu.com>
21992
21993 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
21994 * util/i386/pc/grub-install.in (modules): Likewise.
21995
21996 2008-06-13 Pavel Roskin <proski@gnu.org>
21997
21998 * commands/ls.c (grub_ls_list_files): Fix format warnings.
21999
22000 2008-06-13 Bean <bean123ch@gmail.com>
22001
22002 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22003
22004 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22005
22006 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22007 to indicate sparse block.
22008
22009 2008-06-12 Pavel Roskin <proski@gnu.org>
22010
22011 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22012 number, grub_fshelp_read() does it for us.
22013
22014 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22015 linear disk read with journal translation.
22016 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22017 * include/grub/fshelp.h: Declare grub_fshelp_read().
22018
22019 2008-06-09 Pavel Roskin <proski@gnu.org>
22020
22021 * fs/minix.c (grub_minix_mount): Handle error reading
22022 superblock.
22023
22024 2008-06-08 Robert Millan <rmh@aybabtu.com>
22025
22026 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22027 don't append the RAID prefix afterwards.
22028 Reported by Clint Adams.
22029
22030 2008-06-08 Robert Millan <rmh@aybabtu.com>
22031
22032 Based on description from Pavel:
22033 * kern/disk.c (grub_disk_check_range): Rename to ...
22034 (grub_disk_adjust_range): ... this. Add a comment explaining the
22035 tasks performed by this function.
22036
22037 2008-06-08 Robert Millan <rmh@aybabtu.com>
22038
22039 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22040 `num_serial' (for consistency with other variables).
22041 (struct grub_ntfs_data): Add `uuid' member.
22042 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22043 (grub_ntfs_uuid): New function.
22044 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22045
22046 2008-06-07 Pavel Roskin <proski@gnu.org>
22047
22048 * util/biosdisk.c (open_device): Revert last change to the
22049 function, it broke installation. The sector needs to be
22050 different dependent on which device is opened.
22051
22052 2008-06-06 Robert Millan <rmh@aybabtu.com>
22053
22054 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22055 rest of GRUB, and breakage doesn't happen if its value were modified.
22056
22057 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22058 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22059 a constant (same value).
22060 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22061 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22062
22063 2008-06-06 Robert Millan <rmh@aybabtu.com>
22064
22065 * util/biosdisk.c (open_device): Do not modify sector offset when
22066 accessing a partition. kern/disk.c already handles this for us.
22067
22068 2008-06-06 Robert Millan <rmh@aybabtu.com>
22069
22070 * util/grub-emu.c (grub_machine_init): Move code in this function from
22071 here ...
22072 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22073 segfault in case grub_printf() is called).
22074
22075 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22076 grub_probe. Update all users not to explicitly add it again.
22077 (grub_device): New variable; contains corresponding device for grubdir.
22078 (fs_module, partmap_module, devabstraction_module): Pass
22079 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22080 every time.
22081
22082 2008-06-05 Robert Millan <rmh@aybabtu.com>
22083
22084 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22085 is found, print it (same layout as with labels).
22086
22087 2008-06-04 Robert Millan <rmh@aybabtu.com>
22088
22089 * util/biosdisk.c (get_drive): Rename to ...
22090 (find_grub_drive): ... this. Update all users.
22091
22092 (get_os_disk): Rename to ...
22093 (convert_system_partition_to_system_disk): ... this. Update all users.
22094
22095 (find_drive): Rename to ...
22096 (find_system_device): ... this. Update all users.
22097
22098 2008-06-04 Robert Millan <rmh@aybabtu.com>
22099
22100 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22101 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22102 (make_device_map): Likewise.
22103
22104 2008-06-01 Robert Millan <rmh@aybabtu.com>
22105
22106 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22107 before dereferencing it.
22108
22109 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22110 union with fat12/fat16-specific ones. Add some new fields, including
22111 `num_serial' for both versions.
22112 (struct grub_fat_data): Add `uuid' member.
22113 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22114 names. Initialize `data->uuid' using `num_serial'.
22115 (grub_fat_uuid): New function.
22116 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22117
22118 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22119 (grub_reiserfs_uuid): New function.
22120 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22121 member.
22122
22123 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22124 (grub_xfs_uuid): New function.
22125 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22126
22127 2008-06-01 Robert Millan <rmh@aybabtu.com>
22128
22129 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22130 code that is backward compatible with pre-uuid search command.
22131
22132 2008-05-31 Robert Millan <rmh@aybabtu.com>
22133
22134 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22135 floppies after everything else, to ensure floppy drive isn't accessed
22136 unnecessarily (patch from Bean).
22137
22138 2008-05-31 Robert Millan <rmh@aybabtu.com>
22139
22140 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22141 not print device names when we were asked to set a variable.
22142
22143 2008-05-31 Robert Millan <rmh@aybabtu.com>
22144
22145 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22146 using "cursor-on" and "cursor-off" commands (understood at least by
22147 the Open Firmware flavour on OLPC).
22148
22149 2008-05-31 Michael Gorven <michael@gorven.za.net>
22150
22151 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22152 on and off sequences.
22153
22154 2008-05-31 Robert Millan <rmh@aybabtu.com>
22155
22156 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22157 * util/update-grub.in: Likewise.
22158
22159 2008-05-30 Pavel Roskin <proski@gnu.org>
22160
22161 * util/biosdisk.c (linux_find_partition): Simplify logic and
22162 make the code more universal. Keep special processing for
22163 devfs, but use a simple rule for all other devices. If the
22164 device ends with a number, append 'p' and the partition number.
22165 Otherwise, append only the partition number.
22166
22167 2008-05-30 Robert Millan <rmh@aybabtu.com>
22168
22169 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22170 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22171 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22172 the `root' parameter to Linux.
22173
22174 2008-05-30 Robert Millan <rmh@aybabtu.com>
22175
22176 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22177 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22178 --fs_uuid with --fs-uuid.
22179 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22180 all filesystems support them).
22181
22182 2008-05-30 Robert Millan <rmh@aybabtu.com>
22183
22184 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
22185 grub_printf() flags, since we're printing in units of 2 bytes.
22186
22187 2008-05-30 Robert Millan <rmh@aybabtu.com>
22188
22189 * util/grub.d/00_header.in: Remove obsolete comment referencing
22190 convert_system_path_to_grub_path().
22191 * util/update-grub.in: Likewise.
22192 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22193 (convert_system_path_to_grub_path): Add a warning message explaining
22194 that this function is deprecated. Rely on is_path_readable_by_grub()
22195 for the readability checks.
22196 (font_path): Use is_path_readable_by_grub() for the readability
22197 check rather than convert_system_path_to_grub_path().
22198
22199 2008-05-30 Robert Millan <rmh@aybabtu.com>
22200
22201 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22202 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22203 converting it first.
22204 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22205 grub.cfg for access to font file, and afterwards call it again to set
22206 the root device.
22207
22208 2008-05-30 Robert Millan <rmh@aybabtu.com>
22209
22210 * commands/search.c (options): Add --fs_uuid option.
22211 (search_fs_uuid): New function.
22212 (grub_cmd_search): Fix --set argument passing.
22213 Use search_fs_uuid() when requested via --fs_uuid.
22214 (grub_search_init): Update help message.
22215 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22216 and redeclare it as an array of 16-bit words.
22217 (grub_ext2_uuid): New function.
22218 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22219 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22220 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22221 (GRUB_DEVICE_BOOT_UUID): New variables.
22222 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22223 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22224 whenever possible.
22225 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22226 just assume `root' variable has the right value.
22227 * util/grub.d/10_linux.in: Likewise.
22228 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22229 via PRINT_FS_UUID.
22230 (main): Recognise `-t fs_uuid' argument.
22231
22232 2008-05-30 Robert Millan <rmh@aybabtu.com>
22233
22234 * util/biosdisk.c (map): Redefine structure to hold information
22235 about GRUB drive name.
22236 (get_drive): Reimplement without assuming (and verifying) BIOS-like
22237 drive names.
22238 (call_hook): Remove.
22239 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22240 member. Assume drive has partitions.
22241 (grub_util_biosdisk_open): Access device names via `.device' struct
22242 member.
22243 (open_device): Likewise.
22244 (find_drive): Likewise.
22245 (read_device_map): Adjust map[] usage to match the new struct
22246 definition. Don't check for duplicates (still possible, but not cheap
22247 anymore).
22248 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22249 (make_device_name): Remove assumption of BIOS-like drive names.
22250
22251 2008-05-30 Pavel Roskin <proski@gnu.org>
22252
22253 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22254 compiling execute.c doesn't need grub_script.tab.h anymore.
22255 (normal/command.c_DEPENDENCIES): Likewise.
22256 (normal/function.c_DEPENDENCIES): Likewise.
22257 * conf/i386-ieee1275.rmk: Likewise.
22258 * conf/i386-linuxbios.rmk: Likewise.
22259 * conf/i386-pc.rmk: Likewise.
22260 * conf/powerpc-ieee1275.rmk: Likewise.
22261 * conf/sparc64-ieee1275.rmk: Likewise.
22262
22263 2008-05-29 Pavel Roskin <proski@gnu.org>
22264
22265 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22266 when scanning metadata for volume group name.
22267
22268 * include/grub/script.h: Don't include grub_script.tab.h. It's
22269 a generated file, which may only be included from the files with
22270 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22271 use union YYSTYPE, as the later allows forward declaration.
22272 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22273
22274 2008-05-29 Robert Millan <rmh@aybabtu.com>
22275
22276 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22277 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22278 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22279 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22280 scan codes.
22281
22282 2008-05-29 Robert Millan <rmh@aybabtu.com>
22283
22284 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22285 control key combinations.
22286
22287 2008-05-29 Robert Millan <rmh@aybabtu.com>
22288
22289 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22290 * util/ieee1275/grub-install.in: ... to here.
22291 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22292 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22293 (grub_install_SOURCES): Likewise.
22294
22295 2008-05-29 Robert Millan <rmh@aybabtu.com>
22296
22297 * fs/affs.c: Update copyright year.
22298 * fs/ext2.c: Likewise.
22299 * fs/fshelp.c: Likewise.
22300 * fs/hfsplus.c: Likewise.
22301 * fs/ntfs.c: Likewise.
22302 * fs/xfs.c: Likewise.
22303 * include/grub/fshelp.h: Likewise.
22304 * util/grub-mkdevicemap.c: Likewise.
22305
22306 2008-05-28 Robert Millan <rmh@aybabtu.com>
22307
22308 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22309 might need to be fatfs to support some firmware implementations
22310 (e.g. OFW or EFI).
22311
22312 2008-05-28 Robert Millan <rmh@aybabtu.com>
22313
22314 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22315 devices.
22316 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22317 (make_device_map): Likewise.
22318
22319 2008-05-20 Bean <bean123ch@gmail.com>
22320
22321 * fs/fshelp.c (grub_fshelp_map_block): New function.
22322 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22323 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22324
22325 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22326 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22327 (grub_fshelp_journal): New structure.
22328 (grub_fshelp_map_block): New function prototype.
22329 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22330 (grub_fshelp_map_block): Likewise.
22331
22332 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22333 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22334 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22335 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22336 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22337 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22338 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22339 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22340 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22341 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22342 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22343 (grub_ext2_sblock): New members for journal support.
22344 (grub_ext3_journal_header): New structure.
22345 (grub_ext3_journal_revoke_header): Likewise.
22346 (grub_ext3_journal_block_tag): Likewise.
22347 (grub_ext3_journal_sblock): Likewise.
22348 (grub_fshelp_node): New members logfile and journal.
22349 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22350 grub_fshelp_map_block to get real block number.
22351 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22352 number.
22353 (grub_ext2_read_inode): Likewise.
22354 (grub_ext3_get_journal): New function.
22355 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22356 (grub_ext2_close): Release memory used by journal.
22357
22358 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22359 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22360 (grub_reiserfs_transaction_header): Renamed to
22361 grub_reiserfs_description_block, replace field data with real_blocks.
22362 (grub_reiserfs_commit_block): New structure.
22363 (grub_reiserfs_data): New member journal.
22364 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22365 number.
22366 (grub_reiserfs_read_symlink): Likewise.
22367 (grub_reiserfs_iterate_dir): Likewise.
22368 (grub_reiserfs_open): Likewise.
22369 (grub_reiserfs_read): Likewise.
22370 (grub_reiserfs_get_journal): New function.
22371 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22372 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22373 using grub_reiserfs_get_journal.
22374 (grub_reiserfs_close): Release memory used by journal.
22375
22376 * fs/affs.c (grub_affs_read_block): Change block type to
22377 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22378
22379 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22380
22381 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22382
22383 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22384
22385 * fs/udf.c (grub_udf_read_block): Change block type to
22386 grub_disk_addr_t. Use type cast to avoid warning.
22387
22388 * fs/xfs.c (grub_xfs_read_block): Likewise.
22389
22390 2008-05-16 Christian Franke <franke@computer.org>
22391
22392 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22393 to ensure that break with ESC will always work.
22394 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22395 Remove ESC from keyboard queue.
22396
22397 2008-05-16 Christian Franke <franke@computer.org>
22398
22399 * util/biosdisk.c: [__CYGWIN__] Add includes.
22400 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22401 (get_os_disk): Move variable declarations to OS specific
22402 parts to avoid warning.
22403 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22404 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22405 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22406 Cygwin.
22407 * util/getroot.c: [__CYGWIN__] Add includes.
22408 (strip_extra_slashes): Fix "/" case.
22409 [__CYGWIN__] (get_win32_path): New function.
22410 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22411 [__CYGWIN__] (find_root_device): Disable.
22412 [__CYGWIN__] (get_bootsec_serial): New function.
22413 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22414 [__linux__] (grub_guess_root_device): Add early returns to simplify
22415 structure.
22416 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22417 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22418 check for Linux only.
22419
22420 2008-05-15 Bean <bean123ch@gmail.com>
22421
22422 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22423 keyboard hang problem in apple's intel mac.
22424
22425 2008-05-09 Robert Millan <rmh@aybabtu.com>
22426
22427 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22428 devices.
22429 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22430 (make_device_map): Likewise.
22431 Reported by Aurelien Jarno <aurel32@debian.org>
22432
22433 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
22434
22435 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22436 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22437 (make_device_map): Output entries for xvd type disks.
22438
22439 2008-05-07 Robert Millan <rmh@aybabtu.com>
22440
22441 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22442 devices.
22443 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22444 (make_device_map): Likewise.
22445 Reported by Roland Dreier <rdreier@cisco.com>
22446
22447 2008-05-07 Robert Millan <rmh@aybabtu.com>
22448
22449 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22450 grub_strstr() call. Correct a few mistakes in failure path handling.
22451
22452 2008-05-06 Robert Millan <rmh@aybabtu.com>
22453
22454 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22455 Do not print a trailing slash (therefore, the root directory is an
22456 empty string).
22457 (convert_system_path_to_grub_path): Do not remove trailing slash
22458 from make_system_path_relative_to_its_root() output.
22459
22460 * util/i386/pc/grub-install.in: Add trailing slash to output from
22461 make_system_path_relative_to_its_root().
22462
22463 2008-05-06 Robert Millan <rmh@aybabtu.com>
22464
22465 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22466 ensures that output lines aren't intermangled with those sent to
22467 stderr (via grub_util_info()).
22468 * util/grub-probe.c (grub_refresh): Likewise.
22469 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22470
22471 2008-05-05 Christian Franke <franke@computer.org>
22472
22473 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22474 Add Cygwin device names.
22475 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22476 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22477 (check_device): Return error instead of success on empty name.
22478 (make_device_map): Move label inside linux specific code to
22479 prevent compiler warning.
22480
22481 2008-04-30 Robert Millan <rmh@aybabtu.com>
22482
22483 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22484 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22485 first boot option.
22486 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22487
22488 2008-04-29 Robert Millan <rmh@aybabtu.com>
22489
22490 * docs/grub.cfg: New file (example GRUB configuration).
22491
22492 2008-04-26 Robert Millan <rmh@aybabtu.com>
22493
22494 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22495 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22496 and `disk/ieee1275/nand.c'.
22497
22498 2008-04-25 Bean <bean123ch@gmail.com>
22499
22500 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22501 i386-linuxbios.
22502
22503 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22504 change the buffer size to 4096 for cdrom device.
22505
22506 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22507 and nand.mod.
22508 (_linux_mod_SOURCES): New variable.
22509 (_linux_mod_CFLAGS): Likewise.
22510 (_linux_mod_LDFLAGS): Likewise.
22511 (linux_mod_SOURCES): Likewise.
22512 (linux_mod_CFLAGS): Likewise.
22513 (linux_mod_LDFLAGS): Likewise.
22514 (nand_mod_SOURCES): Likewise.
22515 (nand_mod_CFLAGS): Likewise.
22516 (nand_mod_LDFLAGS): Likewise.
22517
22518 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22519 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22520 type property. (nand device in olpc don't have this property)
22521
22522 * include/grub/disk.h (grub_disk_dev_id): New macro
22523 GRUB_DISK_DEVICE_NAND_ID.
22524
22525 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22526 function prototype.
22527 (grub_rescue_cmd_initrd): Likewise.
22528
22529 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22530 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22531 ofw_cif_handler and ofw_idt, adjust padding number.
22532
22533 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22534 GRUB_MACHINE_IEEE1275 is defined.
22535
22536 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22537 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22538
22539 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22540 on nested function heap_init.
22541 (grub_upper_mem): New variable for i386-ieee1275.
22542 (grub_get_extended_memory): New function for i386-ieee1275.
22543 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22544
22545 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22546 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22547 property.
22548
22549 * loader/i386/ieee1275/linux.c: New file.
22550
22551 * loader/i386/ieee1275/linux_normal.c: New file.
22552
22553 * disk/ieee1275/nand.c: New file.
22554
22555 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22556
22557 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22558 value.
22559 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22560
22561 2008-04-18 Robert Millan <rmh@aybabtu.com>
22562
22563 Restructures early code path on ieee1275 to unify grub_main() as
22564 the first C function that is executed in every platform.
22565
22566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22567 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22568 cmain().
22569 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22570 * kern/ieee1275/cmain.c (cmain): Rename to ...
22571 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22572 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22573 at the beginning.
22574
22575 2008-04-18 Robert Millan <rmh@aybabtu.com>
22576
22577 * util/update-grub.in: Fix syntax error when setting
22578 `GRUB_PRELOAD_MODULES'.
22579 Reported by Stephane Chazelas <stephane@artesyncp.com>
22580
22581 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22582
22583 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22584 section into account, newer toolchains generate unique build ids
22585 * configure.ac: remove the test for --build-id=none acceptance,
22586 we want build ids to be preserved
22587 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22588 far from other sections don't cause the raw binary images grow
22589 size
22590
22591 2008-04-15 Robert Millan <rmh@aybabtu.com>
22592
22593 * disk/lvm.c: Update copyright year.
22594 * kern/misc.c: Likewise.
22595
22596 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22597
22598 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
22599 there is no memory left for physical volume name.
22600
22601 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22602
22603 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22604 volume name mapping to support bigger than 9 character names properly.
22605
22606 2008-04-13 Robert Millan <rmh@aybabtu.com>
22607
22608 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22609 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22610
22611 2008-04-13 Christian Franke <franke@computer.org>
22612
22613 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22614 to create a floppy emulation boot CD when non emulation mode
22615 does not work.
22616 Enable Joliet CD filesystem extension.
22617
22618 2008-04-13 Robert Millan <rmh@aybabtu.com>
22619
22620 * kern/misc.c (grub_strncat): Fix off-by-one error.
22621 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22622
22623 * kern/env.c (grub_env_context_close): Clear current context, not
22624 previous one.
22625 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22626
22627 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22628
22629 2008-04-13 Robert Millan <rmh@aybabtu.com>
22630
22631 Improve robustness when handling LVM.
22632
22633 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
22634 (and leave `*p' unmodified).
22635 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22636 through it.
22637 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22638 iterating through it.
22639 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22640 through it.
22641 (grub_lvm_scan_device): Check the return value (and fail gracefully
22642 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22643 Don't assume `vg->pvs != NULL' when iterating through it.
22644
22645 2008-04-13 Robert Millan <rmh@aybabtu.com>
22646
22647 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22648 * genmk.rb (partmap): New variable.
22649 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22650 (#{partmap}): New target rule.
22651 * genpartmaplist.sh: New file.
22652 * Makefile.in (pkglib_DATA): Add partmap.lst.
22653 (partmap.lst): New target rule.
22654 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22655 modules (including all partition maps), instead of preloading them.
22656
22657 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22658
22659 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22660 `linux-boot-prober' (if installed) to detect other operating
22661 systems which are installed on the computer and add them to
22662 the boot menu.
22663 * conf/common.rmk: Build and install 30_os-prober.
22664
22665 2008-04-12 Robert Millan <rmh@aybabtu.com>
22666
22667 * kern/powerpc/ieee1275/init.c: Move from here ...
22668 * kern/ieee1275/init.c: ... to here. Update all users.
22669
22670 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22671 * kern/ieee1275/cmain.c: ... to here. Update all users.
22672
22673 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22674 * kern/ieee1275/openfw.c: ... to here. Update all users.
22675
22676 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22677 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22678
22679 2008-04-10 Pavel Roskin <proski@gnu.org>
22680
22681 * configure.ac: Always use "_cv_" in cache variables for
22682 compatibility with Autoconf 2.62.
22683
22684 2008-04-07 Robert Millan <rmh@aybabtu.com>
22685
22686 Revert grub/machine/init.h addition by Pavel (since it breaks on
22687 i386-ieee1275 and others):
22688 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22689 * util/powerpc/ieee1275/misc.c: Likewise.
22690
22691 2008-04-07 Robert Millan <rmh@aybabtu.com>
22692
22693 * util/grub-probe.c (probe): Improve error message.
22694
22695 2008-04-07 Robert Millan <rmh@aybabtu.com>
22696
22697 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22698 (this prevents the presence of a bogus entry from ruining the whole
22699 thing).
22700
22701 2008-04-06 Pavel Roskin <proski@gnu.org>
22702
22703 * util/biosdisk.c: Include grub/util/biosdisk.h.
22704 * util/grub-fstest.c (execute_command): Make static.
22705 * util/grub-mkdevicemap.c (check_device): Likewise.
22706 * util/i386/pc/misc.c: Include grub/machine/init.h.
22707 * util/powerpc/ieee1275/misc.c: Likewise.
22708 * util/lvm.c: Include grub/util/lvm.h.
22709 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22710 grub/cache.h.
22711 * util/raid.c: Include grub/util/raid.h.
22712 (grub_util_getdiskname): Make static.
22713
22714 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22715 grub_hostfs_fini(), as they are called from grub_init_all() and
22716 grub_fini_all() respectively. This fixes an infinite loop in
22717 grub-fstest due to double registration of hostfs.
22718 Reported by Christian Franke <Christian.Franke@t-online.de>
22719
22720 2008-04-05 Pavel Roskin <proski@gnu.org>
22721
22722 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22723 all 8 functions. Otherwise, probe function 0 only.
22724
22725 2008-04-04 Pavel Roskin <proski@gnu.org>
22726
22727 * commands/lspci.c (grub_lspci_iter): Print the bus number
22728 correctly.
22729
22730 * commands/lspci.c (grub_pci_classes): Fix typos.
22731 (grub_lspci_iter): Don't print func twice. Print vendor ID
22732 before device ID, as it's normally done.
22733
22734 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22735 Fix signedness warnings.
22736 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22737 Likewise.
22738 * util/ieee1275/get_disk_name.c: Include config.h so that
22739 _GNU_SOURCE is defined and getline() is declared. Mark an
22740 unused argument as such. Fix a signedness warning.
22741
22742 2008-04-02 Pavel Roskin <proski@gnu.org>
22743
22744 * genkernsyms.sh.in: Use more robust assignments for CC and
22745 srcdir. Quote srcdir.
22746 * gensymlist.sh.in: Likewise. Assert at the compile time that
22747 the symbol table is not empty.
22748
22749 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22750 * fs/cpio.c (grub_cpio_read): Likewise.
22751
22752 2008-04-01 Pavel Roskin <proski@gnu.org>
22753
22754 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22755 * disk/host.c (grub_host_open): Likewise.
22756 * disk/loopback.c (grub_loopback_open): Likewise.
22757 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22758 disk->id as in disk/host.c, not a multi-character constant.
22759
22760 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22761 later is obsolete, potentially dangerous and sets a bad example.
22762 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22763 * util/misc.c (grub_util_get_image_size): Likewise.
22764
22765 * disk/loopback.c (options): Improve help for "--partitions".
22766
22767 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22768 options to align them with the short options, e.g. "echo -e".
22769
22770 2008-03-31 Bean <bean123ch@gmail.com>
22771
22772 * video/reader/png.c (grub_png_data): New member is_16bit and
22773 image_data.
22774 (grub_png_decode_image_header): Detect 16 bit png image.
22775 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22776 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22777 (grub_video_reader_png): Release memory occupied by image_data.
22778
22779 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22780 4096 bytes.
22781 (grub_nfs_mount): Skip the test for sector per cluster.
22782
22783 * include/grub/ntfs.h (MAX_SPC): Removed.
22784
22785 2008-03-31 Bean <bean123ch@gmail.com>
22786
22787 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
22788 (grub_probe_SOURCES): Add fs/afs.c.
22789 (grub_fstest_SOURCES): Likewise.
22790 (afs_mod_SOURCES): New variable.
22791 (afs_mod_CFLAGS): Likewise.
22792 (afs_mod_LDFLAGS): Likewise.
22793
22794 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
22795 (grub_emu_SOURCES): Likewise.
22796
22797 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22798
22799 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22800
22801 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22802
22803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22804
22805 * fs/afs.c: New file.
22806
22807 2008-03-30 Pavel Roskin <proski@gnu.org>
22808
22809 * disk/host.c: Include grub/misc.h to fix a warning.
22810 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
22811 warnings about implicit declarations.
22812
22813 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
22814 variable.
22815 * include/grub/i386/loader.h: Change declaration of
22816 grub_linux_boot() to match what grub_loader_set() expects.
22817 * util/getroot.c (grub_guess_root_device): Return const char* to
22818 fix a warning.
22819 * util/grub-probe.c (probe): Fix a warning about uninitialized
22820 abstraction_name variable.
22821 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
22822 second argument as unused to fix a warning.
22823
22824 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
22825 missing grub_error() call.
22826
22827 * util/update-grub_lib.in: Define datarootdir, since Autoconf
22828 2.60 and newer uses it to define datadir.
22829
22830 * commands/sleep.c: Fix warning about implicit declaration.
22831 * disk/memdisk.c: Likewise.
22832 * loader/aout.c: Likewise.
22833 * loader/i386/bsd_normal.c: Likewise.
22834 * util/grub-probe.c: Likewise.
22835
22836 * commands/i386/cpuid.c (has_longmode): Make static.
22837 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
22838 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
22839
22840 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
22841 GDT. This is more robust, as %ds can change.
22842 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
22843 calling real_to_prot().
22844 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
22845
22846 2008-03-28 Pavel Roskin <proski@gnu.org>
22847
22848 * kern/i386/pc/startup.S: Assert that uncompressed functions
22849 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
22850 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
22851 code, as they push parts of the code (error handlers) beyond
22852 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
22853 code as correctness and size.
22854
22855 2008-03-28 Pavel Roskin <proski@gnu.org>
22856
22857 * kern/i386/pc/startup.S
22858 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
22859 data block address to the real mode, keep offset minimal. This
22860 works around a bug in AWARD BIOS on old Athlon systems, which
22861 makes CD detection hang.
22862
22863 2008-03-26 Pavel Roskin <proski@gnu.org>
22864
22865 * normal/color.c (grub_parse_color_name_pair): Make `name' a
22866 const.
22867 * include/grub/normal.h: Add grub_parse_color_name_pair()
22868 declaration.
22869
22870 2008-03-24 Bean <bean123ch@gmail.com>
22871
22872 * disk/i386/pc/biosdisk.c (cd_start): Removed.
22873 (cd_count): Removed.
22874 (cd_drive): New variable.
22875 (grub_biosdisk_get_drive): Don't check for (cdN) device.
22876 (grub_biosdisk_call_hook): Likewise.
22877 (grub_biosdisk_iterate): Change cdrom detection method.
22878 (grub_biosdisk_open): Replace cd_start with cd_drive.
22879 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
22880 detect cdrom device.
22881
22882 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
22883 Removed.
22884 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
22885 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
22886 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
22887 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
22888 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
22889 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
22890 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
22891 (grub_biosdisk_cdrp): New structure.
22892 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
22893
22894 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
22895
22896 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
22897 device.
22898
22899 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
22900 New function.
22901
22902 2008-03-20 Robert Millan <rmh@aybabtu.com>
22903
22904 Remove 2 TiB limit in ata.mod.
22905 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
22906 (grub_ata_dumpinfo): Print sector count with 0x%llx.
22907 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
22908 grub_uint64_t instead of grub_uint32_t.
22909
22910 2008-03-05 Bean <bean123ch@gmail.com>
22911
22912 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
22913 (grub_multiboot): Set boot device.
22914
22915 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
22916
22917 2008-03-02 Bean <bean123ch@gmail.com>
22918
22919 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
22920 symlink_buffer.
22921
22922 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
22923
22924 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
22925 texinfo.tex.
22926
22927 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
22928 modified.
22929
22930 * docs/fdl.texi: New file.
22931
22932 * docs/mdate-sh: New file. Copied from gnulib.
22933 * docs/texinfo.tex: Likewise.
22934
22935 * config.guess: Updated from gnulib.
22936 * install-sh: Likewise.
22937
22938 2008-02-28 Robert Millan <rmh@aybabtu.com>
22939
22940 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
22941 (aout_mod_SOURCES): New variable.
22942 (aout_mod_CFLAGS): Likewise.
22943 (aout_mod_LDFLAGS): Likewise.
22944
22945 * conf/i386-ieee1275.rmk: Likewise.
22946
22947 2008-02-28 Robert Millan <rmh@aybabtu.com>
22948
22949 * util/update-grub.in: Reorganise terminal validity check. Accept
22950 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
22951 Based on suggestion by Franklin PIAT.
22952
22953 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
22954
22955 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
22956 function.
22957 * util/getroot.c (grub_util_check_block_device): New function that
22958 returns the given argument if it is a block device and returns NULL else.
22959 * util/grub-probe.c (argument_is_device): New variable.
22960 (probe): Promote device_name from a variable to an argument. Receive
22961 device_name from grub_util_check_block_device() if path is NULL and from
22962 grub_guess_root_device() else. Do not free() device_name anymore.
22963 (options): Introduce new parameter '-d, --device'.
22964 (main): Add description of the new parameter to the help screen.
22965 Rename path variable to argument. Set argument_is_device if the '-d'
22966 option is given. Pass argument to probe() depending on
22967 argument_is_device.
22968
22969 2008-02-24 Bean <bean123ch@gmail.com>
22970
22971 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
22972 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
22973 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
22974 (GRUB_ISO9660_VOLDESC_PART): Likewise.
22975 (GRUB_ISO9660_VOLDESC_END): Likewise.
22976 (grub_iso9660_primary_voldesc): New member escape.
22977 (grub_iso9660_data): New member joliet.
22978 (grub_iso9660_convert_string): New function.
22979 (grub_iso9660_mount): Detect joliet extension.
22980 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
22981 (grub_iso9660_iso9660_label): Likewise.
22982
22983 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
22984 (grub_setup_SOURCES): Add fs/udf.c.
22985 (grub_fstest_SOURCES): Likewise.
22986 (udf_mod_SOURCES): New variable.
22987 (udf_mod_CFLAGS): Likewise.
22988 (udf_mod_LDFLAGS): Likewise.
22989
22990 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
22991 (grub_emu_SOURCES): Likewise.
22992
22993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22994
22995 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22996
22997 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22998
22999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23000
23001 * fs/udf.c: New file.
23002
23003 2008-02-24 Robert Millan <rmh@aybabtu.com>
23004
23005 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23006 (normal/lexer.c_DEPENDENCIES): New variables.
23007 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23008 (normal/lexer.c_DEPENDENCIES): Likewise.
23009 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23010 (normal/lexer.c_DEPENDENCIES): Likewise.
23011 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23012 (normal/lexer.c_DEPENDENCIES): Likewise.
23013 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23014 (normal/lexer.c_DEPENDENCIES): Likewise.
23015 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23016 (normal/lexer.c_DEPENDENCIES): Likewise.
23017
23018 2008-02-23 Robert Millan <rmh@aybabtu.com>
23019
23020 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23021 since they were intended to be in hex. This didn't break previously
23022 because of a bug in gpt_partition_map_iterate() (see below).
23023
23024 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23025 when checking the validity of GPT header.
23026 Remove `partno', since it always provides the same information as `i'.
23027
23028 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23029
23030 * include/grub/efi/time.h: Fix a wrong comment.
23031
23032 2008-02-19 Pavel Roskin <proski@gnu.org>
23033
23034 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23035 message.
23036
23037 2008-02-19 Bean <bean123ch@gmail.com>
23038
23039 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23040 (aout_mod_SOURCES): New variable.
23041 (aout_mod_CFLAGS): Likewise.
23042 (aout_mod_LDFLAGS): Likewise.
23043 (_bsd_mod_SOURCES): New variable.
23044 (_bsd_mod_CFLAGS): Likewise.
23045 (_bsd_mod_LDFLAGS): Likewise.
23046 (bsd_mod_SOURCES): New variable.
23047 (bsd_mod_CFLAGS): Likewise.
23048 (bsd_mod_LDFLAGS): Likewise.
23049
23050 * include/grub/aout.h: New file.
23051
23052 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23053
23054 * include/grub/i386/bsd.h: New file.
23055
23056 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23057 to make it public.
23058
23059 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23060 function is called, so that it's possible to change it inside the hook.
23061 (grub_elf64_load): Likewise.
23062 (grub_elf_file): Don't close the file if elf header is not found.
23063 (grub_elf_close): Close the file if grub_elf_file fails (The new
23064 grub_elf_file won't close it).
23065 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23066 (grub_elf64_size): Likewise.
23067
23068 * kern/i386/loader.S (grub_unix_real_boot): New function.
23069
23070 * loader/aout.c: New file.
23071
23072 * loader/i386/bsd.c: New file.
23073
23074 * loader/i386/bsd_normal.c: New file.
23075
23076 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23077
23078 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
23079 can test other formats.
23080
23081 2008-02-19 Robert Millan <rmh@aybabtu.com>
23082
23083 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23084 (grub_gpt_partition_type_empty): Redefine with macro from
23085 `<grub/gpt_partition.h>'.
23086 (gpt_partition_map_iterate): Adjust partition type comparison.
23087
23088 Export `entry' as partmap-specific `part.data' struct.
23089 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23090
23091 * include/grub/gpt_partition.h (grub_gpt_header)
23092 (grub_gpt_partentry): ... to here (new file).
23093
23094 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23095
23096 (grub_gpt_partition_type_bios_boot): New const variable, defined
23097 with macro from `<grub/gpt_partition.h>'.
23098
23099 (setup): Replace `first_start' with `embed_region', which keeps
23100 track of the embed region (and is partmap-agnostic).
23101
23102 Replace find_first_partition_start() with find_usable_region(),
23103 which finds a usable region for embedding using partmap-specific
23104 knowledge (supports PC/MSDOS and GPT).
23105
23106 Fix all assumptions that the embed region start at sector 1, using
23107 `embed_region.start' from now on. Similarly, use `embed_region.end'
23108 rather than `first_start' to calculate available size.
23109
23110 In grub_util_info() message, replace "into after the MBR" with an
23111 indication of the specific sector our embed region starts at.
23112
23113 2008-02-19 Robert Millan <rmh@aybabtu.com>
23114
23115 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23116 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23117 `commands/reboot.c'.
23118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23119 (halt_mod_SOURCES): Likewise.
23120 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23121 (halt_mod_SOURCES): Likewise.
23122
23123 2008-02-17 Christian Franke <franke@computer.org>
23124
23125 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23126
23127 2008-02-17 Robert Millan <rmh@aybabtu.com>
23128
23129 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23130 set `first_start' to 0 for non-PC/MSDOS partition maps.
23131
23132 2008-02-16 Robert Millan <rmh@aybabtu.com>
23133
23134 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23135 do not assume partition map is PC/MSDOS before performing checks that
23136 are specific to that layout.
23137
23138 2008-02-13 Robert Millan <rmh@aybabtu.com>
23139
23140 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23141 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23142 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23143
23144 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23145
23146 * configure.ac: Only a cosmetic change on the handling of
23147 -fno-stack-protector.
23148
23149 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
23150
23151 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23152 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23153 reboot.c.
23154 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23155 (halt_mod_SOURCES): New variable.
23156 (halt_mod_CFLAGS): Likewise.
23157 (halt_mod_LDFLAGS): Likewise.
23158 (reboot_mod_SOURCES): Likewise.
23159 (reboot_mod_CFLAGS): Likewise.
23160 (reboot_mod_LDFLAGS): Likewise.
23161
23162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23163 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23164 reboot.c.
23165 (halt_mod_SOURCES): Likewise.
23166 (reboot_mod_SOURCES): Likewise.
23167
23168 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23169 commands/i386/pc/reboot.c by commands/reboot.c.
23170 (reboot_mod_SOURCES): Likewise.
23171
23172 * commands/i386/pc/reboot.c: merge this file ...
23173
23174 * commands/ieee1275/reboot.c: ... and this file ...
23175
23176 * commands/reboot.c: ... to this file.
23177 Add some precompiler directive to include the correct header for
23178 each machine.
23179
23180 * commands/ieee1275/halt.c: move this file ...
23181
23182 * commands/halt.c: ... to here.
23183 Add some precompiler directive to include the correct header for
23184 each machine.
23185
23186 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23187 (grub_halt): Likewise.
23188
23189 * kern/efi/efi.c (grub_reboot): New function.
23190 (grub_halt): Likewise.
23191
23192 2008-02-12 Robert Millan <rmh@aybabtu.com>
23193
23194 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23195 /dev (like it is done for /dev/mapper). This doesn't provide support
23196 for EVMS, but at least it is now easy to identify the problem when it
23197 arises.
23198
23199 2008-02-11 Robert Millan <rmh@aybabtu.com>
23200
23201 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23202 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23203 comparing it with -1, not 0.
23204
23205 2008-02-10 Robert Millan <rmh@aybabtu.com>
23206
23207 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23208 `disk/lvm.c'.
23209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23210 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23211
23212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23213 `disk/lvm.c' to the end of the list.
23214 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23215 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23216
23217 2008-02-10 Robert Millan <rmh@aybabtu.com>
23218
23219 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23220 grub_print_error() instead. This will let user know why we're entering
23221 rescue mode.
23222 Based on suggestions from Sam Morris.
23223
23224 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
23225
23226 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23227 on remaining N args, instead of "--" arg N times.
23228
23229 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23230
23231 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23232 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23233 pattern for unknown glyphs.
23234
23235 2008-02-09 Robert Millan <rmh@aybabtu.com>
23236
23237 * configure.ac: Probe for `help2man'.
23238 * Makefile.in (builddir): New variable.
23239 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23240 or otherwise add a few flags/options to it.
23241 (install-local): For every executable utility or script that is
23242 installed, invoke $(HELP2MAN) to install a manpage based on --help
23243 output.
23244
23245 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23246 that it doesn't prevent --help from working in build tree.
23247
23248 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23249 with `bug-grub@gnu.org'.
23250 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23251 * util/update-grub.in (usage): New function.
23252 Implement proper argument check, with support for --help and --version
23253 (as well as existing -y).
23254
23255 2008-02-09 Christian Franke <franke@computer.org>
23256
23257 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23258 avoid overwriting previous output.
23259 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23260
23261 2008-02-09 Robert Millan <rmh@aybabtu.com>
23262
23263 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23264 drawing the menu.
23265
23266 2008-02-09 Robert Millan <rmh@aybabtu.com>
23267
23268 * commands/sleep.c: New file.
23269 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23270 (sleep_mod_SOURCES): New variable.
23271 (sleep_mod_CFLAGS): Likewise.
23272 (sleep_mod_LDFLAGS): Likewise.
23273
23274 2008-02-09 Robert Millan <rmh@aybabtu.com>
23275
23276 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23277 situations in which we can deduce the RAID size and the superblock
23278 doesn't match it.
23279
23280 2008-02-09 Robert Millan <rmh@aybabtu.com>
23281
23282 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23283 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23284 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23285
23286 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23287 and return a grub_diskmemberlist_t composed of physical array members.
23288 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23289
23290 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23291 prototype.
23292 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23293 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23294 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23295
23296 * util/grub-probe.c (probe): Move partmap probing code from here ...
23297 (probe_partmap): ... to here.
23298 (probe): Use probe_partmap() once for the disk we're probing, and
23299 additionally, when such disk contains a memberlist() struct member,
23300 once for each disk that is contained in the structure returned by
23301 memberlist().
23302
23303 2008-02-09 Robert Millan <rmh@aybabtu.com>
23304
23305 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23306 environment variable to 'all' in order to obtain debug output from
23307 non-util/ code.
23308 * util/i386/pc/grub-setup.c (main): Likewise.
23309
23310 2008-02-08 Robert Millan <rmh@aybabtu.com>
23311
23312 * disk/raid.c (grub_raid_scan_device): Check for
23313 `array->device[sb.this_disk.number]' rather than for
23314 `array->device[sb.this_disk.number]->name', since the latter is not
23315 guaranteed to be accessible.
23316
23317 2008-02-08 Robert Millan <rmh@aybabtu.com>
23318
23319 * disk/raid.c: Update copyright.
23320 * fs/cpio.c: Likewise.
23321 * include/grub/raid.h: Likewise.
23322 * loader/i386/pc/multiboot.c: Likewise.
23323 * util/hostfs.c: Likewise.
23324
23325 2008-02-08 Robert Millan <rmh@aybabtu.com>
23326
23327 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23328 to a grub_disk_t array.
23329 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23330 `device[x]'.
23331 (grub_raid_scan_device): Replace `device[x].name' accesses with
23332 `device[x]->name'. Simplify initialization of `array->device[x]'.
23333
23334 2008-02-08 Robert Millan <rmh@aybabtu.com>
23335
23336 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23337 grub_dprintf() calls.
23338 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23339 error message.
23340
23341 2008-02-07 Christian Franke <franke@computer.org>
23342
23343 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23344 instead of fseek and ftell to support large files.
23345 (grub_hostfs_read): Likewise.
23346
23347 2008-02-07 Robert Millan <rmh@aybabtu.com>
23348
23349 Patch from Jeroen Dekkers.
23350 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
23351 failure, since successfully reading all array members might not be
23352 required.
23353
23354 2008-02-06 Robert Millan <rmh@aybabtu.com>
23355
23356 * util/grub-probe.c (probe): Simplify partmap probing (with the
23357 assumption that the first word up to the underscore equals to
23358 the module name).
23359
23360 2008-02-06 Christian Franke <franke@computer.org>
23361
23362 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23363 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23364 last block of a cpio or tar stream.
23365 Check for "TRAILER!!!" instead of any empty data
23366 block to detect last block of a cpio stream.
23367 (grub_cpio_dir): Fix constness of variable np.
23368 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23369 cpio or tar trailer is detected. This fixes a crash
23370 on open of a non existing file.
23371
23372 2008-02-05 Bean <bean123ch@gmail.com>
23373
23374 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23375 address of entry.
23376 (grub_multiboot_load_elf64): Likewise.
23377 (grub_multiboot): Initialize mbi structure.
23378
23379 * util/grub-fstest.c: Don't include unused header file script.h.
23380
23381 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
23382 of file.
23383 (grub_fstest_SOURCES): Likewise.
23384
23385 2008-02-05 Robert Millan <rmh@aybabtu.com>
23386
23387 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23388 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23389 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23390 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23391
23392 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23393 (translation_table): Replace hardcoded values with macros
23394 provided by `<grub/term.h>'.
23395
23396 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23397 (keyboard_map): Correct/add a few values, with macros provided
23398 by `<grub/term.h>'.
23399 (keyboard_map_shift): Zero values that don't differ from their
23400 `keyboard_map' equivalents.
23401 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23402 Discard the second scan code that is always sent by Caps lock.
23403 Only use `keyboard_map_shift' when it provides a non-zero value,
23404 otherwise fallback to `keyboard_map'.
23405
23406 2008-02-04 Bean <bean123ch@gmail.com>
23407
23408 * Makefile.in (enable_grub_fstest): New variable.
23409
23410 * conf/common.rmk (grub_fstest_init.lst): New rule.
23411 (grub_fstest_init.h): Likewise.
23412 (grub_fstest_init.c): Likewise.
23413 (util/grub-fstest.c_DEPENDENCIES): New variable.
23414 (grub_fstest_SOURCES): Likewise.
23415
23416 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23417
23418 * util/grub-fstest.c: New file.
23419
23420 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23421
23422 Make grub-setup handle a separate root device.
23423
23424 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23425 so that the root device can be compared with the destination
23426 device.
23427 When embedding the core image, if the root and destination devices
23428 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23429 0xFF.
23430 When not embedding, set ROOT_DRIVE to 0xFF.
23431
23432 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23433
23434 Add support for having a grub directory in a different drive. This
23435 is still only the data handling part.
23436
23437 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23438 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23439 (grub_root_drive): New variable.
23440
23441 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23442 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23443 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23444 as it was.
23445
23446 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23447
23448 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23449 macro.
23450 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23451
23452 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23453 is bogus, because PXE booting does not specify any drive
23454 correctly.
23455
23456 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23457 am not sure if this is really correct.
23458
23459 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23460 is always identical to the boot drive when booting from a CD.
23461
23462 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23463 longer.
23464 (root_drive): New variable.
23465 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23466 (setup_sectors): Push %dx right after popping it, because %dh will
23467 be modified later.
23468 (copy_buffer): Restore %dx.
23469
23470 2008-02-03 Robert Millan <rmh@aybabtu.com>
23471
23472 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23473 use `cdboot.img' for cdrom images.
23474
23475 2008-02-03 Robert Millan <rmh@aybabtu.com>
23476
23477 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23478 only setup gfxterm when `font' command has succeeded.
23479
23480 2008-02-03 Robert Millan <rmh@aybabtu.com>
23481
23482 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23483 (grub_rescue_cmd_multiboot_loader)
23484 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23485
23486 2008-02-03 Pavel Roskin <proski@gnu.org>
23487
23488 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
23489 %edx and %esi from stack only after grub_gate_a20() is called.
23490 grub_gate_a20() clobbers %edx.
23491
23492 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23493
23494 * configure.ac (AC_INIT): Bumped to 1.96.
23495
23496 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23497 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23498 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23499 video/readers/png.c.
23500
23501 2008-02-03 Bean <bean123ch@gmail.com>
23502
23503 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23504 (cdboot_img_SOURCES): New variable.
23505 (cdboot_img_ASFLAGS): New variable.
23506 (cdboot_img_LDFLAGS): New variable.
23507
23508 * boot/i386/pc/cdboot.S: New file.
23509
23510 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23511 (cd_count): Likewise.
23512 (grub_biosdisk_get_drive): Add support for cd device.
23513 (grub_biosdisk_call_hook): Likewise.
23514 (grub_biosdisk_iterate): Likewise.
23515 (grub_biosdisk_open): Likewise.
23516 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23517 (grub_biosdisk_rw): Support reading from cd device.
23518 (GRUB_MOD_INIT): Iterate cd devices.
23519
23520 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23521 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23522 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23523
23524 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23525
23526 2008-02-02 Robert Millan <rmh@aybabtu.com>
23527
23528 * commands/read.c: New file.
23529 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23530 (read_mod_SOURCES): New variable.
23531 (read_mod_CFLAGS): Likewise.
23532 (read_mod_LDFLAGS): Likewise.
23533
23534 2008-02-02 Robert Millan <rmh@aybabtu.com>
23535
23536 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23537 determining whether menu has to be displayed.
23538
23539 2008-02-02 Marco Gerards <marco@gnu.org>
23540
23541 * bus/pci.c: New file.
23542
23543 * include/grub/pci.h: Likewise.
23544
23545 * include/grub/i386/pc/pci.h: Likewise.
23546
23547 * commands/lspci.c: Likewise.
23548
23549 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23550 `lspci.mod'.
23551 (pci_mod_SOURCES): New variable.
23552 (pci_mod_CFLAGS): Likewise.
23553 (pci_mod_LDFLAGS): Likewise.
23554 (lspci_mod_SOURCES): Likewise.
23555 (lspci_mod_CFLAGS): Likewise.
23556 (lspci_mod_LDFLAGS): Likewise.
23557
23558 2008-02-02 Bean <bean123ch@gmail.com>
23559
23560 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23561 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23562
23563 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23564 (grub_xfs_btree_node): New structure.
23565 (grub_xfs_btree_root): New structure.
23566 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23567 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23568 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23569 (GRUB_XFS_EXTENT_SIZE): Likewise.
23570 (grub_xfs_read_block): Support btree format type.
23571 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23572 Use directory block as basic unit.
23573
23574 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23575
23576 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23577 __attribute__ ((__regparm__ (1))).
23578
23579 2008-02-01 Robert Millan <rmh@aybabtu.com>
23580
23581 Correct a mistake in previous commit.
23582
23583 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23584 top.
23585 (normal/command.c_DEPENDENCIES): New variable.
23586
23587 2008-02-01 Robert Millan <rmh@aybabtu.com>
23588
23589 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23590 top.
23591 (normal/command.c_DEPENDENCIES): New variable.
23592 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23593 * conf/i386-ieee1275.rmk: Likewise.
23594 * conf/i386-linuxbios.rmk: Likewise.
23595 * conf/i386-pc.rmk: Likewise.
23596 * conf/sparc64-ieee1275.rmk: Likewise.
23597 * conf/powerpc-ieee1275.rmk: Likewise.
23598 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23599
23600 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23601
23602 2008-02-01 Robert Millan <rmh@aybabtu.com>
23603
23604 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23605 call at beginning of function.
23606
23607 2008-01-31 Pavel Roskin <proski@gnu.org>
23608
23609 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
23610 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23611 (grub_mkrescue_SOURCES): Likewise.
23612 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23613
23614 2008-01-30 Robert Millan <rmh@aybabtu.com>
23615
23616 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23617 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23618 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23619 (grub_probe_SOURCES): ... to here.
23620
23621 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23622 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23623 * conf/i386-ieee1275.rmk: Likewise.
23624 * conf/i386-linuxbios.rmk: Likewise.
23625 * conf/powerpc-ieee1275.rmk: Likewise.
23626
23627 2008-01-30 Tristan Gingold <gingold@free.fr>
23628
23629 * kern/rescue.c: Silently accept empty lines.
23630
23631 2008-01-29 Bean <bean123ch@gmail.com>
23632
23633 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23634 (real_code_2): Code cleanup and change comment style.
23635 (move_memory): Avoid using 32-bit address mode.
23636
23637 2008-01-29 Bean <bean123ch@gmail.com>
23638
23639 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23640 (png_mod_SOURCES): New variable.
23641 (png_mod_CFLAGS): Likewise.
23642 (png_mod_LDFLAGS): Likewise.
23643
23644 * video/readers/png.c: New file.
23645
23646 2008-01-28 Robert Millan <rmh@aybabtu.com>
23647
23648 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23649 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23650 `ifndef GRUB_MOD_GAP' hack.
23651 * util/elf/grub-mkimage.c (add_segments): Likewise.
23652
23653 2008-01-27 Robert Millan <rmh@aybabtu.com>
23654
23655 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23656 `GRUB_MOD_GAP' for platforms in which it's not defined.
23657 * util/elf/grub-mkimage.c (add_segments): Likewise.
23658
23659 2008-01-27 Robert Millan <rmh@aybabtu.com>
23660
23661 Get grub-emu to build again (including parallel builds).
23662
23663 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23664 Split into ...
23665 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23666 (normal/execute.c_DEPENDENCIES): ... this, ...
23667 (grub-emu_DEPENDENCIES): ... and this.
23668
23669 * conf/i386-efi.rmk: Likewise.
23670 * conf/i386-linuxbios.rmk: Likewise.
23671 * conf/i386-ieee1275.rmk: Likewise.
23672 * conf/powerpc-ieee1275.rmk: Likewise.
23673 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23674
23675 2008-01-27 Robert Millan <rmh@aybabtu.com>
23676
23677 * NEWS: Add a few items.
23678
23679 2008-01-27 Robert Millan <rmh@aybabtu.com>
23680
23681 Fix parallel builds with grub-emu. Based on earlier commit for
23682 grub-probe and grub-setup.
23683
23684 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23685 (util/grub-emu.c_DEPENDENCIES): ... this.
23686 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23687 (util/grub-emu.c_DEPENDENCIES): ... this.
23688 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23689 (util/grub-emu.c_DEPENDENCIES): ... this.
23690 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23691 (util/grub-emu.c_DEPENDENCIES): ... this.
23692 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23693 (util/grub-emu.c_DEPENDENCIES): ... this.
23694
23695 2008-01-27 Pavel Roskin <proski@gnu.org>
23696
23697 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23698 to create a gap between _end and the modules added to the image
23699 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23700 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23701 * util/elf/grub-mkimage.c (add_segments): Likewise.
23702
23703 2008-01-26 Pavel Roskin <proski@gnu.org>
23704
23705 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23706 just return an error.
23707
23708 2008-01-26 Bean <bean123ch@gmail.com>
23709
23710 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23711 (grub_reiserfs_get_item): Save offset of the next item.
23712 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23713
23714 2008-01-25 Robert Millan <rmh@aybabtu.com>
23715
23716 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23717 make all filesystem sources appear together (possibly fixing omissions
23718 while at it).
23719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23721 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23723
23724 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23725 add `kern/file.c'.
23726 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23727 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23728 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23729 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23730
23731 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23732 (probe): Add a sanity check to make sure of our ability to read
23733 requested files when probing for filesystem type.
23734
23735 * genmk.rb: Update copyright year (2007).
23736
23737 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23738 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23739 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23740 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23741 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23742 : Remove function prototypes.
23743
23744 2008-01-25 Robert Millan <rmh@aybabtu.com>
23745
23746 Revert my previous commits (based on wrong assumption of how grub_errno
23747 works).
23748
23749 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
23750 * kern/file.c (grub_file_open): Likewise.
23751
23752 2008-01-24 Pavel Roskin <proski@gnu.org>
23753
23754 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23755 that hang if GRUB tries to setup colors.
23756 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23757 colors for firmwares that don't support it.
23758 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23759 Recognize Open Hack'Ware, set flags to work around its
23760 limitations.
23761
23762 2008-01-24 Robert Millan <rmh@aybabtu.com>
23763
23764 * kern/file.c (grub_file_open): Do not account previous failures of
23765 unrelated functions when grub_errno is checked for.
23766 Reported by Oleg Strikov.
23767
23768 2008-01-24 Bean <bean123ch@gmail.com>
23769
23770 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23771 (grub_ufs_sblock): New member volume name.
23772 (grub_ufs_find_file): Fix string copy bug.
23773 (grub_ufs_label): Implement this function properly.
23774
23775 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23776 (grub_hfs_iterate_records): Use the correct file number for extents
23777 and catalog file. Fix problem in next index calculation.
23778 (grub_hfs_find_node): Replace recursive function call with loop.
23779 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23780
23781 2008-01-23 Robert Millan <rmh@aybabtu.com>
23782
23783 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23784 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23785 (grub_multiboot2_real_boot): New function prototype.
23786
23787 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
23788 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
23789
23790 * kern/i386/ieee1275/init.c (grub_os_area_addr)
23791 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
23792
23793 2008-01-23 Robert Millan <rmh@aybabtu.com>
23794
23795 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
23796 #ifdef'ed out grub_printf().
23797
23798 2008-01-23 Robert Millan <rmh@aybabtu.com>
23799
23800 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
23801 grub_dprintf calls, since they make "debug=all" mode unusable.
23802 (grub_console_checkkey): Likewise.
23803
23804 2008-01-23 Robert Millan <rmh@aybabtu.com>
23805
23806 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23807 `term/i386/pc/at_keyboard.c'.
23808 (pkglib_MODULES): Add `serial.mod'.
23809 (serial_mod_SOURCES): New variable.
23810 (serial_mod_CFLAGS): Likewise.
23811 (serial_mod_LDFLAGS): Likewise.
23812
23813 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
23814 `<grub/powerpc/ieee1275/console.h>'.
23815 (grub_keyboard_controller_init): New function prototype.
23816 (grub_console_checkkey): Likewise.
23817 (grub_console_getkey): Likewise.
23818
23819 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
23820 keyboard on i386.
23821
23822 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
23823 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
23824
23825 2008-01-23 Robert Millan <rmh@aybabtu.com>
23826
23827 * kern/i386/pc/init.c (make_install_device): When memdisk image is
23828 present, "(memdisk)/boot/grub" becomes the default prefix.
23829
23830 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
23831 a memdisk tarball with all the modules. Add --overlay=DIR option that
23832 allows users to overlay additional files into the image.
23833
23834 2008-01-23 Robert Millan <rmh@aybabtu.com>
23835
23836 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
23837 and `machine/memory.h'.
23838 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
23839 (_multiboot_mod_SOURCES): New variable.
23840 (_multiboot_mod_CFLAGS): Likewise.
23841 (_multiboot_mod_LDFLAGS): Likewise.
23842 (multiboot_mod_SOURCES): Likewise.
23843 (multiboot_mod_CFLAGS): Likewise.
23844 (multiboot_mod_LDFLAGS): Likewise.
23845
23846 * include/grub/i386/ieee1275/loader.h: New file.
23847
23848 * include/grub/i386/ieee1275/machine.h: Likewise.
23849
23850 * include/grub/i386/ieee1275/memory.h: Likewise.
23851
23852 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
23853 variable declaration.
23854 (grub_os_area_size): Likewise.
23855
23856 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
23857 (grub_lower_mem, grub_upper_mem): New variables.
23858 (grub_stop_floppy): New function (just to make
23859 grub_multiboot2_real_boot() happy).
23860
23861 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
23862 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
23863 (grub_stop): New function.
23864 Include `"../realmode.S"' and `"../loader.S"'.
23865
23866 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
23867 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
23868
23869 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
23870 rely on grub_multiboot2_real_boot() for final boot.
23871
23872 2008-01-22 Robert Millan <rmh@aybabtu.com>
23873
23874 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
23875 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
23876 device that doesn't look like an SD card.
23877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23878 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
23879 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
23880 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
23881 found.
23882
23883 2008-01-22 Robert Millan <rmh@aybabtu.com>
23884
23885 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
23886 avoid claiming over our own code.
23887
23888 2008-01-22 Bean <bean123ch@gmail.com>
23889
23890 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
23891 (jpeg_mod_SOURCES): New variable.
23892 (jpeg_mod_CFLAGS): Likewise.
23893 (jpeg_mod_LDFLAGS): Likewise.
23894
23895 * video/readers/jpeg.c : New file.
23896
23897 2008-01-22 Bean <bean123ch@gmail.com>
23898
23899 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
23900 there are no more items.
23901
23902 2008-01-21 Robert Millan <rmh@aybabtu.com>
23903
23904 * kern/mm.c (grub_mm_init_region): Improve debug message.
23905
23906 2008-01-21 Robert Millan <rmh@aybabtu.com>
23907
23908 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
23909 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
23910 address.
23911 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
23912 a C macro.
23913 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
23914 Indicates start of upper memory.
23915 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
23916 (generate_image): Abort when image size is big enough to corrupt
23917 upper memory.
23918
23919 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
23920 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
23921 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23922 instead of hardcoding 0xA0000.
23923 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
23924 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23925 instead of hardcoding 0xA0000.
23926
23927 2008-01-21 Robert Millan <rmh@aybabtu.com>
23928
23929 * disk/memdisk.c (memdisk_size): New variable.
23930 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
23931 `memdisk_size'.
23932 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
23933 image to dynamic memory.
23934 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
23935 `memdisk_size'. Free memdisk block.
23936
23937 2008-01-21 Robert Millan <rmh@aybabtu.com>
23938
23939 Fix detection of very small filesystems (like tar).
23940
23941 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
23942 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
23943 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
23944 a problem with this disk).
23945
23946 2008-01-21 Robert Millan <rmh@aybabtu.com>
23947
23948 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
23949 on grub_biosdisk_rw_standard() error.
23950
23951 2008-01-21 Robert Millan <rmh@aybabtu.com>
23952
23953 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
23954 recent changes.
23955 * kern/elf.c: Likewise.
23956 * kern/ieee1275/ieee1275.c: Likewise.
23957 * kern/powerpc/ieee1275/openfw.c: Likewise.
23958 * term/ieee1275/ofconsole.c: Likewise.
23959
23960 2008-01-21 Robert Millan <rmh@aybabtu.com>
23961
23962 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
23963
23964 * include/grub/kernel.h (grub_arch_memdisk_addr)
23965 (grub_arch_memdisk_size): Moved from here ...
23966
23967 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
23968 (grub_arch_memdisk_size): ... to here.
23969
23970 2008-01-21 Robert Millan <rmh@aybabtu.com>
23971
23972 Mostly based on bugfix from Bean.
23973
23974 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
23975 attribute with hook() parameter.
23976 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
23977 declaration.
23978 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
23979 attribute with hook() parameter.
23980 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
23981 declaration.
23982
23983 2008-01-21 Robert Millan <rmh@aybabtu.com>
23984
23985 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
23986 (pkglib_MODULES): Add `memdisk.mod'.
23987 (memdisk_mod_SOURCES): New variable.
23988 (memdisk_mod_CFLAGS): Likewise.
23989 (memdisk_mod_LDFLAGS): Likewise.
23990
23991 * disk/memdisk.c: New file.
23992
23993 * include/grub/disk.h (grub_disk_dev_id): Add
23994 `GRUB_DISK_DEVICE_MEMDISK_ID'.
23995
23996 * include/grub/i386/pc/kernel.h
23997 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
23998 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
23999 (grub_kernel_image_size): New variable declaration.
24000 (grub_total_module_size): Likewise.
24001 (grub_memdisk_image_size): Likewise.
24002
24003 * include/grub/i386/pc/memory.h
24004 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24005
24006 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24007 (grub_arch_memdisk_addr): New variable declaration.
24008 (grub_arch_memdisk_size): Likewise.
24009
24010 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24011 (grub_arch_memdisk_size): Likewise.
24012
24013 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24014 (codestart): Replace hardcoded `0x100000' with
24015 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24016
24017 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24018 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24019 not NULL, append the contents of the file it refers to, at the end of
24020 the compressed kernel image. Initialize `grub_memdisk_image_size'
24021 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24022 (options): Add "memdisk"|'m' option.
24023 (main): Parse --memdisk|-m option, and pass user-provided path as
24024 parameter to generate_image().
24025
24026 2008-01-20 Robert Millan <rmh@aybabtu.com>
24027
24028 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24029 grub_dprintf() calls from here ...
24030 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24031
24032 2008-01-20 Robert Millan <rmh@aybabtu.com>
24033
24034 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24035
24036 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24037 declaration.
24038 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24039 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24040 `GRUB_IEEE1275_FLAG_REAL_MODE'.
24041 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
24042 property).
24043 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24044 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24045
24046 2008-01-19 Robert Millan <rmh@aybabtu.com>
24047
24048 Get rid of confusing function (superseded by
24049 `grub_ieee1275_get_integer_property')
24050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24051 prototype.
24052 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24053 function.
24054 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24055 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
24056 in native endianness from grub_ieee1275_get_integer_property().
24057
24058 2008-01-19 Robert Millan <rmh@aybabtu.com>
24059
24060 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24061 command after "shut-down", since implementations differ on which
24062 the command for halt is.
24063
24064 2008-01-19 Robert Millan <rmh@aybabtu.com>
24065
24066 * include/grub/i386/linuxbios/console.h: Add header protection.
24067 (grub_keyboard_controller_init): New function prototype.
24068 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24069 (KEYBOARD_COMMAND_READ): Likewise.
24070 (KEYBOARD_COMMAND_WRITE): Likewise.
24071 (KEYBOARD_SCANCODE_SET1): Likewise.
24072 (grub_keyboard_controller_write): New function.
24073 (grub_keyboard_controller_read): Likewise.
24074 (grub_keyboard_controller_init): Likewise.
24075
24076 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24077 (grub_console_init): On coreboot/LinuxBIOS, call
24078 grub_keyboard_controller_init().
24079
24080 2008-01-19 Robert Millan <rmh@aybabtu.com>
24081
24082 PowerPC changes provided by Pavel Roskin.
24083
24084 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24085 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24086 don't rely on cmain() doing it.
24087 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24088 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24089
24090 2008-01-16 Robert Millan <rmh@aybabtu.com>
24091
24092 * include/grub/i386/linuxbios/memory.h
24093 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24094 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24095 receive `table_header' as argument. Instead, probe for it in the
24096 known memory ranges where it can be present.
24097 (grub_available_iterate): Do not pass a fixed `table_header' address
24098 to grub_linuxbios_table_iterate().
24099
24100 2008-01-15 Robert Millan <rmh@aybabtu.com>
24101
24102 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24103 * conf/i386-ieee1275.rmk: New file.
24104 * include/grub/i386/ieee1275/console.h: Likewise.
24105 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24106 * include/grub/i386/ieee1275/kernel.h: Likewise.
24107 * include/grub/i386/ieee1275/time.h: Likewise.
24108 * kern/i386/ieee1275/init.c: Likewise.
24109 * kern/i386/ieee1275/startup.S: Likewise.
24110
24111 2008-01-15 Robert Millan <rmh@aybabtu.com>
24112
24113 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24114 when pointers are 32-bit (but still do set it to one when they are
24115 64-bit).
24116
24117 2008-01-15 Robert Millan <rmh@aybabtu.com>
24118
24119 * include/grub/ieee1275/ieee1275.h
24120 (grub_ieee1275_get_integer_property): New function prototype.
24121
24122 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24123 (grub_ieee1275_get_integer_property): New function. Wraps around
24124 grub_ieee1275_get_property() to handle endianness.
24125
24126 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24127 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
24128 where appropriate.
24129 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24130 (grub_map): Likewise.
24131 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24132
24133 2008-01-15 Bean <bean123ch@gmail.com>
24134
24135 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24136 (grub_script_execute_cmdline): Reset grub_errno.
24137
24138 * normal/main.c (read_config_file): Reset grub_errno.
24139
24140 * normal/parse.y (script_init): New.
24141 (script): Move function and menuentry here.
24142 (delimiter): New.
24143 (command): Add delimiter at the end of command.
24144 (commands): Adjust to match the new command.
24145 (commandblock): Remove grub_script_lexer_record_start.
24146 (menuentry): Add grub_script_lexer_record_start, use the new commands.
24147 (if): Use the new commands.
24148
24149 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24150
24151 2008-01-15 Robert Millan <rmh@aybabtu.com>
24152
24153 * normal/menu.c (run_menu): Move timeout message from here ...
24154 (print_timeout): ... to here.
24155 (run_menu): Use print_timeout() once during initial draw to print
24156 the whole message, and again in every clock tick to update only
24157 the number of seconds.
24158
24159 2008-01-15 Robert Millan <rmh@aybabtu.com>
24160
24161 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24162 actual size of `available' from grub_ieee1275_get_property(), and
24163 restrict parsing to that bound.
24164
24165 2008-01-15 Christian Franke <franke@computer.org>
24166
24167 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24168 (argp_program_version): Remove variable.
24169 (argp_program_bug_address): Likewise.
24170 (options): Convert from struct argp_option to struct option.
24171 (struct arguments): Remove.
24172 (parse_opt): Remove.
24173 (usage): New function.
24174 (main): Replace struct args members by simple variables.
24175 Replace argp_parse() by getopt_long().
24176 Add switch to evaluate options.
24177 Add missing "(...)" around root_dev in prefix string.
24178
24179 2008-01-14 Robert Millan <rmh@aybabtu.com>
24180
24181 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24182 for grub_ieee1275_exit(), in order to improve portability.
24183
24184 2008-01-14 Robert Millan <rmh@aybabtu.com>
24185
24186 * util/grub.d/10_linux.in (prefix): Define.
24187 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24188
24189 2008-01-13 Pavel Roskin <proski@gnu.org>
24190
24191 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24192 grub_errno if no errors have been detected.
24193
24194 2008-01-12 Robert Millan <rmh@aybabtu.com>
24195
24196 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24197 (grub_util_get_dev_abstraction): New function prototype.
24198
24199 * util/getroot.c: Include `<grub/util/getroot.h>'
24200 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24201 (grub_util_get_dev_abstraction): ... here (new function).
24202
24203 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24204 `PRINT_ABSTRACTION'.
24205 (probe): Probe for abstraction type when requested.
24206 (main): Understand `--target=abstraction'.
24207
24208 * util/i386/efi/grub-install.in: Add abstraction module to core
24209 image when it is found to be necessary.
24210 * util/i386/pc/grub-install.in: Likewise.
24211 * util/powerpc/ieee1275/grub-install.in: Likewise.
24212
24213 * util/update-grub_lib.in (font_path): Return system path without
24214 converting to GRUB path.
24215 * util/update-grub.in: Convert system path returned by font_path()
24216 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24217 abstraction module is needed for loading fonts (if any). Export
24218 that as `GRUB_PRELOAD_MODULES'.
24219 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24220 insmod commands).
24221
24222 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24223
24224 Remove some unused code from reiserfs.
24225
24226 * fs/reiserfs.c (struct grub_reiserfs_key)
24227 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24228 (struct grub_reiserfs_node_body): Removed.
24229 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24230 Likewise.
24231 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24232 Likewise.
24233 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24234 Likewise.
24235 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24236 Likewise.
24237 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24238 Likewise.
24239 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24240 Likewise.
24241 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24242 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24243 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24244
24245 2008-01-10 Robert Millan <rmh@aybabtu.com>
24246
24247 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24248 Determines if a file is garbage left by packaging systems, etc.
24249 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24250 for processing /etc/grub.d scripts.
24251 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24252 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24253 as a condition for processing Linux images.
24254
24255 2008-01-10 Pavel Roskin <proski@gnu.org>
24256
24257 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24258 to compile reiserfs.c on PowerPC.
24259
24260 2008-01-10 Robert Millan <rmh@aybabtu.com>
24261
24262 * kern/device.c (grub_device_iterate): Do not abort device iteration
24263 when one of the devices cannot be opened.
24264 * kern/disk.c (grub_disk_open): Do not account previous failures of
24265 unrelated functions when grub_errno is checked for.
24266
24267 2008-01-08 Robert Millan <rmh@aybabtu.com>
24268
24269 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24270 `! grub_linux_is_bzimage', change order of address comparison to make
24271 it more intuitive, and improve "too big zImage" error message.
24272
24273 2008-01-08 Robert Millan <rmh@aybabtu.com>
24274
24275 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24276 `$(update-grub_DATA)'.
24277 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24278 targets.
24279
24280 2008-01-07 Robert Millan <rmh@aybabtu.com>
24281
24282 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24283 which instruction is modified by grub-setup during installation
24284 (since it wasn't obvious by only looking at this file).
24285
24286 2008-01-07 Robert Millan <rmh@aybabtu.com>
24287
24288 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24289 listing actual TODO items.
24290
24291 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24292
24293 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24294 correctly.
24295 (grub_reiserfs_get_key_offset): Likewise.
24296 (grub_reiserfs_set_key_offset): Likewise.
24297 (grub_reiserfs_set_key_type): Likewise.
24298 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
24299
24300 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24301 better to remove the bitfield version completely.
24302
24303 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24304
24305 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24306 allocated from the heap, due to the fshelp implementation.
24307 (grub_reiserfs_dir): Free NODE, due to the same reason.
24308
24309 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24310
24311 Mostly from Vincent Pelletier:
24312
24313 * fs/reiserfs.c: New file.
24314
24315 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24316 (reiserfs_mod_SOURCES): New variable.
24317 (reiserfs_mod_CFLAGS): Likewise.
24318 (reiserfs_mod_LDFLAGS): Likewise.
24319
24320 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24321 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24322 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24323 normal/color.c.
24324
24325 2008-01-06 Robert Millan <rmh@aybabtu.com>
24326
24327 * normal/color.c: Remove `<grub/env.h>'.
24328
24329 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24330
24331 * include/grub/normal.h: Include <grub/env.h>.
24332
24333 2008-01-05 Robert Millan <rmh@aybabtu.com>
24334
24335 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24336 usage example with `(hd0,1)'.
24337 Reported by Samuel Thibault.
24338
24339 2008-01-05 Robert Millan <rmh@aybabtu.com>
24340
24341 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24342 (grub_linux_boot_zimage): Rename to ...
24343 (grub_linux_boot): ... this.
24344 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24345 (grub_linux_boot_zimage): Conditionalize zImage copy.
24346
24347 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24348 (grub_linux_boot_bzimage): Remove prototype.
24349 (grub_linux_boot_zimage): Rename to ...
24350 (grub_linux_boot): ... this.
24351
24352 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24353 (grub_linux_boot): Remove function.
24354
24355 2008-01-05 Robert Millan <rmh@aybabtu.com>
24356
24357 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24358 (grub_env_write_color_highlight): Likewise.
24359 (grub_wait_after_message): Likewise.
24360
24361 * normal/color.c: New file.
24362
24363 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24364 (normal_mod_DEPENDENCIES): Likewise.
24365
24366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24367 (normal_mod_DEPENDENCIES): Likewise.
24368
24369 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24370 (normal_mod_DEPENDENCIES): Likewise.
24371
24372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24373 (normal_mod_DEPENDENCIES): Likewise.
24374
24375 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24376 for waiting after a message is printed.
24377 * normal/main.c (read_config_file): Likewise.
24378 (grub_normal_init): Register grub_env_write_color_normal() and
24379 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24380 `color_highlight' variables as global.
24381
24382 * normal/menu.c (grub_wait_after_message): New function.
24383 (grub_color_menu_normal): New variable. Replaces ...
24384 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24385 (grub_color_menu_highlight): New variable. Replaces ...
24386 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24387 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24388 `GRUB_TERM_COLOR_STANDARD'.
24389 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24390 `normal_code' and `highlight_code' to `old_color_normal' and
24391 `old_color_highlight', respectively.
24392 (grub_menu_init_page): Update colors when drawing the menu, based on
24393 `menu_color_normal' and `menu_color_highlight' variables.
24394 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24395 a message is printed.
24396
24397 2008-01-05 Robert Millan <rmh@aybabtu.com>
24398
24399 * kern/env.c (grub_env_context_open): Propagate hooks for global
24400 variables to new context.
24401
24402 * kern/main.c (grub_set_root_dev): Export `root' variable.
24403
24404 2008-01-05 Robert Millan <rmh@aybabtu.com>
24405
24406 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
24407 discs unconditionally, since udev and others have options to provide
24408 them.
24409
24410 2008-01-05 Robert Millan <rmh@aybabtu.com>
24411
24412 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24413
24414 2008-01-04 Christian Franke <franke@computer.org>
24415
24416 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24417 of eisa_mmap.
24418
24419 2008-01-03 Pavel Roskin <proski@gnu.org>
24420
24421 * kern/i386/linuxbios/init.c: Put "void" to all function
24422 declarations with no arguments.
24423 * kern/powerpc/ieee1275/init.c: Likewise.
24424 * term/i386/pc/at_keyboard.c: Likewise.
24425 * term/i386/pc/vga_text.c: Likewise.
24426 * util/grub-mkdevicemap.c: Likewise.
24427
24428 2008-01-02 Robert Millan <rmh@aybabtu.com>
24429
24430 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24431 message when loaded image is out of bounds.
24432 (grub_multiboot_load_elf64): Likewise.
24433
24434 2008-01-02 Pavel Roskin <proski@gnu.org>
24435
24436 * util/grub.d/10_linux.in: Try version without ".old" when
24437 looking for initrd. It's better to use initrd from the newer
24438 kernel of the same version than no initrd at all.
24439
24440 2008-01-01 Robert Millan <rmh@aybabtu.com>
24441
24442 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24443
24444 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24445
24446 * include/grub/video.h: Added grub_video_unmap_color and
24447 grub_video_get_active_render_target.
24448 (grub_video_adapter): Added unmap_color and get_active_render_target.
24449
24450 * video/video.c: Added grub_video_unmap_color and
24451 grub_video_get_active_render_target.
24452 (grub_video_get_info): Changed method to accept NULL pointer as an
24453 argument to allow detection of active video adapter.
24454
24455 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24456 grub_video_vbe_unmap_color_int.
24457 Added grub_video_vbe_unmap_color and
24458 grub_video_vbe_get_active_render_target.
24459 (grub_video_vbe_adapter): Added unmap_color and
24460 get_active_render_target.
24461
24462 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
24463 with grub_video_vbe_unmap_color_int.
24464
24465 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24466 (DEFAULT_NORMAL_COLOR): Likewise.
24467 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24468 (DEFAULT_FG_COLOR): Removed.
24469 (DEFAULT_BG_COLOR): Likewise.
24470 (DEFAULT_CURSOR_COLOR): Changed value.
24471 (grub_virtual_screen): Added standard_color_setting,
24472 normal_color_setting, highlight_color_setting and term_color.
24473 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24474 (bitmap_width): Added.
24475 (bitmap_height): Likewise.
24476 (bitmap): Likewise.
24477 (set_term_color): Likewise.
24478 (grub_virtual_screen_setup): Changed to use new terminal coloring
24479 settings.
24480 (grub_gfxterm_init): Added init for bitmap.
24481 (grub_gfxterm_fini): Added destroy for bitmap.
24482 (redraw_screen_rect): Updated to use background bitmap and new
24483 terminal coloring.
24484 (scroll_up): Added optimization for case when there is no bitmap.
24485 (grub_gfxterm_cls): Fixed to use correct background color.
24486 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24487 coloring.
24488 (grub_virtual_screen_setcolor): Likewise.
24489 (grub_virtual_screen_getcolor): Added.
24490 (grub_gfxterm_background_image_cmd): Likewise.
24491 (grub_video_term): Added setcolor and getcolor.
24492 (MOD_INIT): Added registration of background_image command.
24493 (MOD_TERM): Added unregistration for background_image command.
24494
24495 2007-12-30 Pavel Roskin <proski@gnu.org>
24496
24497 * loader/multiboot_loader.c: Fix multiboot command
24498 unregistration. Fix all typos in the word "multiboot".
24499
24500 2007-12-29 Pavel Roskin <proski@gnu.org>
24501
24502 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24503 support for initrd names used in Fedora.
24504
24505 2007-12-26 Bean <bean123ch@gmail.com>
24506
24507 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24508 (cpio_mod_SOURCES): New variable.
24509 (cpio_mod_CFLAGS): Likewise.
24510 (cpio_mod_LDFLAGS): Likewise.
24511
24512 * fs/cpio.c: New file.
24513
24514 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24515
24516 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24517
24518 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24519
24520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24521
24522 2007-12-25 Robert Millan <rmh@aybabtu.com>
24523
24524 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24525 (grub_getcolor): New function.
24526
24527 * kern/term.c (grub_getcolor): New function.
24528 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24529 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24530 (print_entry): Set normal and highlight colors to
24531 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24532 respectively, before printing and restore them to old
24533 values afterwards.
24534 (grub_menu_init_page): Likewise. Fill an additional colored space
24535 that would otherwise be left blank.
24536
24537 * term/efi/console.c (grub_console_getcolor): New function.
24538 (struct grub_console_term.getcolor): New variable.
24539 * term/i386/pc/console.c (grub_console_getcolor): New function.
24540 (struct grub_console_term.getcolor): New variable.
24541 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24542 (struct grub_console_term.getcolor): New variable.
24543
24544 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24545 (struct grub_console_term.setcolor): Remove variable.
24546 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24547 (struct grub_console_term.setcolor): Remove variable.
24548 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24549 (struct grub_console_term.setcolor): Remove variable.
24550 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24551 (struct grub_console_term.setcolor): Remove variable.
24552
24553 2007-12-25 Robert Millan <rmh@aybabtu.com>
24554
24555 * configure.ac: Search for possible unifont.hex locations, and
24556 define UNIFONT_HEX if found.
24557
24558 * Makefile.in (UNIFONT_HEX): Define variable.
24559 (DATA): Rename to ...
24560 (PKGLIB): ... this. Update all users.
24561 (PKGDATA): New variable.
24562 (pkgdata_IMAGES): Rename to ...
24563 (pkglib_IMAGES): ... this. Update all users.
24564 (pkgdata_MODULES): Rename to ...
24565 (pkglib_MODULES): ... this. Update all users.
24566 (pkgdata_PROGRAMS): Rename to ...
24567 (pkglib_PROGRAMS): ... this. Update all users.
24568 (pkgdata_DATA): Rename to ...
24569 (pkglib_DATA): ... this. Update all users.
24570 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24571 (unicode.pff, ascii.pff): New rules.
24572 (all-local): Add `$(PKGDATA)' dependency.
24573 (install-local): Process `$(PKGDATA)'.
24574
24575 * util/update-grub_lib.in (font_path): Search for *.pff files in
24576 a few more locations, including `${pkgdata}'.
24577
24578 2007-12-23 Robert Millan <rmh@aybabtu.com>
24579
24580 Patch from Bean <bean123ch@gmail.com>:
24581 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24582 `size'.
24583
24584 2007-12-21 Bean <bean123ch@gmail.com>
24585
24586 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24587 (ntfscomp_mod_SOURCES): New variable.
24588 (ntfscomp_mod_CFLAGS): Likewise.
24589 (ntfscomp_mod_LDFLAGS): Likewise.
24590
24591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24592 (grub_probe_SOURCES): Likewise.
24593 (grub_emu_SOURCES): Likewise.
24594
24595 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24596 (grub_emu_SOURCES): Likewise.
24597
24598 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24599 (grub_emu_SOURCES): Likewise.
24600
24601 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24602 (grub_emu_SOURCES): Likewise.
24603
24604 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24605 (read_run_list): Renamed to grub_ntfs_read_run_list.
24606 (decomp_nextvcn): Moved to ntfscomp.c.
24607 (decomp_getch): Likewise.
24608 (decomp_get16): Likewise.
24609 (decomp_block): Likewise.
24610 (read_block): Likewise.
24611 (read_data): Partially moved to ntfscomp.c.
24612 (fixup): Change unsigned to grub_uint16_t.
24613 (read_mft): Change unsigned long to grub_uint32_t.
24614 (read_attr): Likewise.
24615 (read_data): Likewise.
24616 (read_run_data): Likewise.
24617 (read_run_list): Likewise.
24618 (read_mft): Likewise.
24619
24620 * fs/ntfscomp.c: New file.
24621
24622 * include/grub/ntfs.h: New file.
24623
24624 2007-12-16 Robert Millan <rmh@aybabtu.com>
24625
24626 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24627 IDE disk check, since Linux is known to support 20 IDE disks.
24628 Reported by Colin Watson.
24629
24630 2007-12-15 Bean <bean123ch@gmail.com>
24631
24632 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24633 (lnxboot_img_SOURCES): New variable.
24634 (lnxboot_img_ASFLAGS): Likewise.
24635 (lnxboot_img_LDFLAGS): Likewise.
24636
24637 * boot/i386/pc/lnxboot.S: New file.
24638
24639 2007-11-24 Pavel Roskin <proski@gnu.org>
24640
24641 * configure.ac: Test if '--build-id=none' is supported by the
24642 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24643 objcopy to generate incorrect binary files (binutils
24644 2.17.50.0.18-1 as shipped by Fedora 8).
24645 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24646 linking, so that build ID doesn't break the test.
24647
24648 2007-11-24 Pavel Roskin <proski@gnu.org>
24649
24650 * include/grub/i386/time.h: use "void" in the argument list
24651 of grub_cpu_idle().
24652 * include/grub/powerpc/time.h: Likewise.
24653 * include/grub/sparc64/time.h: Likewise.
24654
24655 2007-11-18 Christian Franke <franke@computer.org>
24656
24657 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24658 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24659 This fixes the problem that function keys did not work in grub-emu.
24660
24661 2007-11-18 Christian Franke <franke@computer.org>
24662
24663 * disk/host.c (grub_host_open): Remove attribute unused from
24664 name parameter. Add check for "host". This fixes the problem
24665 that grub-emu does not find partitions.
24666
24667 2007-11-18 Christian Franke <franke@computer.org>
24668
24669 * util/hostfs.c (is_dir): New function.
24670 (grub_hostfs_dir): Handle missing dirent.d_type case.
24671 (grub_hostfs_read): Add missing fseek().
24672 (grub_hostfs_label): Clear label pointer. This fixes a crash
24673 of grub-emu on "ls (host)".
24674
24675 2007-11-18 Christian Franke <franke@computer.org>
24676
24677 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24678 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24679 to 64 bit boundary by default.
24680
24681 2007-11-18 Bean <bean123ch@gmail.com>
24682
24683 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24684 (hexdump_mod_SOURCES): New variable.
24685 (hexdump_mod_CFLAGS): Likewise.
24686 (hexdump_mod_LDFLAGS): Likewise.
24687
24688 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24689
24690 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24691
24692 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24693
24694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24695
24696 * include/grub/hexdump.h: New file.
24697
24698 * commands/hexdump.c: New file.
24699
24700 2007-11-10 Robert Millan <rmh@aybabtu.com>
24701
24702 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24703 in grub_outb() calls.
24704 (beep_on): Likewise.
24705
24706 2007-11-10 Christian Franke <franke@computer.org>
24707
24708 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24709 (grub_menu_run): Likewise.
24710
24711 2007-11-10 Robert Millan <rmh@aybabtu.com>
24712
24713 * include/grub/i386/efi/machine.h: New file.
24714 * include/grub/i386/linuxbios/machine.h: Likewise.
24715 * include/grub/i386/pc/machine.h: Likewise.
24716 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24717 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24718
24719 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24720 (serial_hw_io_addr): New variable.
24721 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24722 instead of `(unsigned short *) 0x400'.
24723
24724 2007-11-10 Bean <bean123ch@gmail.com>
24725
24726 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24727
24728 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24729
24730 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24731 (vga_mod_SOURCES): Added.
24732 (vga_mod_CFLAGS): Likewise.
24733 (vga_mod_LDFLAGS): Likewise.
24734
24735 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24736 grub_outb() calls.
24737 (set_map_mask): Likewise.
24738 (set_read_map): Likewise.
24739 (set_read_address): Likewise.
24740 (vga_font): Removed variable.
24741 (get_vga_glyph): Removed function.
24742 (invalidate_char): Likewise.
24743 (write_char): Changed to use grub_font_get_glyph() for font
24744 information.
24745 (grub_vga_putchar): Likewise.
24746 (grub_vga_getcharwidth): Likewise.
24747
24748 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24749
24750 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24751 flags.
24752 (pxeboot_img_LDFLAGS): Likewise.
24753 (diskboot_img_LDFLAGS): Likewise.
24754 (kernel_img_LDFLAGS): Likewise.
24755
24756 2007-11-06 Robert Millan <rmh@aybabtu.com>
24757
24758 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24759 in grub_outb() calls.
24760 (serial_hw_init): Likewise.
24761
24762 2007-11-05 Robert Millan <rmh@aybabtu.com>
24763
24764 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24765 spaces. Skip non-regular files.
24766
24767 2007-11-05 Robert Millan <rmh@aybabtu.com>
24768
24769 * kern/disk.c (grub_disk_firmware_fini)
24770 (grub_disk_firmware_is_tainted): New variables.
24771
24772 * include/grub/disk.h (grub_disk_firmware_fini)
24773 (grub_disk_firmware_is_tainted): Likewise.
24774
24775 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24776 (grub_disk_biosdisk_fini): ... to here.
24777 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24778 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24779 is set. Register grub_disk_biosdisk_fini() in
24780 `grub_disk_firmware_fini'.
24781
24782 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24783 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24784 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24785 to finish existing firmware disk interface.
24786
24787 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
24788 (ata_mod_SOURCES): New variable.
24789 (ata_mod_CFLAGS): Likewise.
24790 (ata_mod_LDFLAGS): Likewise.
24791
24792 2007-11-05 Robert Millan <rmh@aybabtu.com>
24793
24794 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
24795 (grub_ata_wait): Reimplement using grub_millisleep().
24796
24797 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
24798 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
24799
24800 2007-11-03 Marco Gerards <marco@gnu.org>
24801
24802 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
24803 (CRTC_ADDR_PORT): New macro.
24804 (CRTC_DATA_PORT): Likewise.
24805 (CRTC_CURSOR): Likewise.
24806 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24807 (CRTC_CURSOR_ADDR_LOW): Likewise.
24808 (update_cursor): New function.
24809 (grub_console_real_putchar): Call `update_cursor'.
24810 (grub_console_gotoxy): Likewise.
24811 (grub_console_cls): Set the default color when clearing the
24812 screen.
24813 (grub_console_setcursor): Implemented.
24814
24815 2007-11-03 Marco Gerards <marco@gnu.org>
24816
24817 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
24818 become activate.
24819 (grub_ata_pio_write): Likewise.
24820
24821 (grub_atapi_identify): Wait after issuing an ATA command.
24822 (grub_atapi_packet): Likewise.
24823 (grub_ata_identify): Likewise.
24824 (grub_ata_readwrite): Likewise.
24825
24826 2007-11-03 Marco Gerards <marco@gnu.org>
24827
24828 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
24829 (grub_ata_pio_write): Likewise.
24830 (grub_ata_readwrite): Use `grub_error', instead of
24831 returning `grub_errno'.
24832
24833 2007-11-03 Marco Gerards <marco@gnu.org>
24834
24835 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
24836 grub_ata_pio_write once for every single sector, instead of for
24837 multiple sectors.
24838
24839 2007-10-31 Robert Millan <rmh@aybabtu.com>
24840
24841 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
24842
24843 * conf/i386-linuxbios.rmk: New file.
24844
24845 * kern/i386/pc/hardware.c: Likewise.
24846 * term/i386/pc/at_keyboard.c: Likewise.
24847 * term/i386/pc/vga_text.c: Likewise.
24848
24849 * include/grub/i386/linuxbios/boot.h: Likewise.
24850 * include/grub/i386/linuxbios/console.h: Likewise.
24851 * include/grub/i386/linuxbios/init.h: Likewise.
24852 * include/grub/i386/linuxbios/kernel.h: Likewise.
24853 * include/grub/i386/linuxbios/loader.h: Likewise.
24854 * include/grub/i386/linuxbios/memory.h: Likewise.
24855 * include/grub/i386/linuxbios/serial.h: Likewise.
24856 * include/grub/i386/linuxbios/time.h: Likewise.
24857
24858 * kern/i386/linuxbios/init.c: Likewise.
24859 * kern/i386/linuxbios/startup.S: Likewise.
24860 * kern/i386/linuxbios/table.c: Likewise.
24861
24862 2007-10-31 Marco Gerards <marco@gnu.org>
24863
24864 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
24865 (ata_mod_SOURCES): New variable.
24866 (ata_mod_CFLAGS): Likewise.
24867 (ata_mod_LDFLAGS): Likewise.
24868
24869 * disk/ata.c: New file.
24870
24871 * include/grub/disk.h (grub_disk_dev_id): Add
24872 `GRUB_DISK_DEV_ATA_ID'.
24873
24874 2007-10-31 Robert Millan <rmh@aybabtu.com>
24875
24876 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
24877 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
24878
24879 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
24880 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
24881
24882 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
24883 `<grub/types.h>'.
24884
24885 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
24886
24887 2007-10-27 Robert Millan <rmh@aybabtu.com>
24888
24889 * include/grub/types.h (ULONG_MAX): Define macro.
24890
24891 2007-10-22 Robert Millan <rmh@aybabtu.com>
24892
24893 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
24894 `"../realmode.S"'.
24895 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
24896
24897 2007-10-22 Robert Millan <rmh@aybabtu.com>
24898
24899 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
24900 (pkgdata_MODULES): Add `biosdisk.mod'.
24901 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
24902 variables.
24903
24904 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
24905 (grub_biosdisk_init): Replace with ...
24906 (GRUB_MOD_INIT(biosdisk)): ... this.
24907 (grub_biosdisk_fini): Replace with ...
24908 (GRUB_MOD_FINI(biosdisk)): ... this.
24909
24910 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
24911 (grub_machine_init): Remove call to grub_biosdisk_init().
24912 (grub_machine_fini): Remove call to grub_machine_fini().
24913
24914 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
24915
24916 2007-10-22 Robert Millan <rmh@aybabtu.com>
24917
24918 * include/grub/time.h: New file.
24919 * include/grub/i386/time.h: Likewise.
24920 * include/grub/powerpc/time.h: Likewise.
24921 * include/grub/sparc64/time.h: Likewise.
24922
24923 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
24924 instances to ...
24925 (KERNEL_MACHINE_TIME_HEADER): ... this.
24926 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24927 instances to ...
24928 (KERNEL_MACHINE_TIME_HEADER): ... this.
24929 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24930 instances to ...
24931 (KERNEL_MACHINE_TIME_HEADER): ... this.
24932
24933 * kern/i386/efi/init.c: Include `<grub/time.h>'.
24934 (grub_millisleep): New function.
24935 * kern/i386/pc/init.c: Include `<grub/time.h>'.
24936 (grub_millisleep): New function.
24937 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
24938 Remove `grub/machine/time.h' include.
24939 (grub_millisleep): New function.
24940 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
24941 Remove `grub/machine/time.h' include.
24942 (grub_millisleep): New function.
24943
24944 * include/grub/misc.h (grub_div_roundup): New function.
24945
24946 * kern/misc.c: Include `<grub/time.h>'.
24947 (grub_millisleep_generic): New function.
24948
24949 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
24950 Add `time.h'.
24951 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
24952 Add `time.h'.
24953 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
24954 `machine/time.h'. Add `time.h'.
24955 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24956
24957 2007-10-21 Robert Millan <rmh@aybabtu.com>
24958
24959 * include/grub/misc.h (grub_max): New function.
24960
24961 2007-10-21 Robert Millan <rmh@aybabtu.com>
24962
24963 * util/misc.c (grub_util_info): Call fflush() before returning.
24964
24965 2007-10-20 Robert Millan <rmh@aybabtu.com>
24966
24967 * genmk.rb (Image): Copy `extra_flags' from here ...
24968 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
24969
24970 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
24971 to `argc' and `args' arguments.
24972
24973 2007-10-17 Robert Millan <rmh@aybabtu.com>
24974
24975 * kern/i386/loader.S: New file.
24976
24977 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
24978 * kern/i386/loader.S (grub_linux_prot_size)... to here.
24979 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
24980 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
24981 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
24982 * kern/i386/loader.S (grub_linux_real_addr)... to here.
24983 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
24984 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
24985 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
24986 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
24987 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
24988 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
24989 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
24990 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
24991
24992 * kern/i386/realmode.S: New file.
24993
24994 * kern/i386/pc/startup.S (protstack): Moved from here ...
24995 * kern/i386/realmode.S (protstack)... to here.
24996 * kern/i386/pc/startup.S (gdt): Moved from here ...
24997 * kern/i386/realmode.S (gdt)... to here.
24998 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
24999 * kern/i386/realmode.S (prot_to_real)... to here.
25000
25001 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25002 `kern/i386/realmode.S'.
25003
25004 2007-10-17 Robert Millan <rmh@aybabtu.com>
25005
25006 * include/grub/i386/loader.h: New file.
25007
25008 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25009 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25010 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25011 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25012 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25013 * include/grub/i386/loader.h (grub_linux_prot_size)
25014 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25015 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25016 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25017 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25018
25019 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25020
25021 2007-10-15 Robert Millan <rmh@aybabtu.com>
25022
25023 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25024 filesystem when dev->disk is unset.
25025 Do probe for filesystem even when dev->disk->has_partitions is set.
25026 In case a filesystem is found, always report it.
25027 In case it isn't, if dev->disk->has_partitions is set, report that
25028 a partition table was found instead of reporting that no filesystem
25029 could be identified.
25030
25031 2007-10-12 Robert Millan <rmh@aybabtu.com>
25032
25033 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25034 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25035
25036 * include/grub/types.h (grub_host_to_target16): New macro.
25037 (grub_host_to_target32): Likewise.
25038 (grub_host_to_target64): Likewise.
25039 (grub_target_to_host16): Likewise.
25040 (grub_target_to_host32): Likewise.
25041 (grub_target_to_host64): Likewise.
25042
25043 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25044 Renamed from to ...
25045 (GRUB_MOD_ALIGN): ...this. Update all users.
25046
25047 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25048 grub_host_to_target32.
25049 Replace grub_be_to_cpu32 with grub_target_to_host32.
25050 (load_modules): Likewise.
25051 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25052 Replace grub_be_to_cpu32 with grub_target_to_host32.
25053 Replace grub_cpu_to_be16 with grub_host_to_target16.
25054 Replace grub_cpu_to_be32 grub_host_to_target32.
25055
25056 2007-10-12 Robert Millan <rmh@aybabtu.com>
25057
25058 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25059 * util/elf/grub-mkimage.c: ... here.
25060
25061 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25062 `util/powerpc/ieee1275/grub-mkimage.c'.
25063
25064 2007-10-07 Robert Millan <rmh@aybabtu.com>
25065
25066 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25067 and make it easier to figure out.
25068 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25069 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25070 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25071 leave us with less than HEAP_MIN_SIZE total heap.
25072 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
25073
25074 2007-10-03 Robert Millan <rmh@aybabtu.com>
25075
25076 * include/grub/i386/io.h: New file.
25077 * commands/i386/pc/play.c (inb): Removed.
25078 (outb): Removed.
25079 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25080 with grub_outb().
25081 * term/i386/pc/serial.c (inb): Removed.
25082 (outb): Removed.
25083 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25084 with grub_outb().
25085 * term/i386/pc/vga.c (inb): Removed.
25086 (outb): Removed.
25087 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25088 with grub_outb().
25089
25090 2007-10-02 Robert Millan <rmh@aybabtu.com>
25091
25092 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25094 Reported by Marcin Kurek.
25095
25096 2007-09-07 Robert Millan <rmh@aybabtu.com>
25097
25098 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25099 SmartFirmware version updates (as released by Sven Luther), and avoid
25100 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25101 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25102 known broken.
25103
25104 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25105
25106 From Hitoshi Ozeki:
25107 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25108 when merging two regions.
25109
25110 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25111
25112 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25113 * normal/completion.c (grub_normal_do_completion): Likewise.
25114 Reported by Hitoshi Ozeki.
25115
25116 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25117
25118 Do not use devices at boot in chainloading.
25119
25120 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25121 (boot_part_addr): Likewise.
25122 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25123 with BOOT_DRIVE and BOOT_PART_ADDR.
25124 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25125 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25126
25127 2007-08-29 Robert Millan <rmh@aybabtu.com>
25128
25129 Patch from Simon Peter <dn.tlp@gmx.net>:
25130 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25131 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25132 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25133 util/i386/pc/grub-setup.c_DEPENDENCIES.
25134 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25135 util/grub-probe.c_DEPENDENCIES.
25136 * conf/powerpc-ieee1275.rmk: Likewise.
25137
25138 2007-08-28 Robert Millan <rmh@aybabtu.com>
25139
25140 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25141 to tell grub-mkdevicemap how to name devices.
25142 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25143 feature).
25144
25145 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25146 util/i386/get_disk_name.c.
25147 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25148 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25149 util/ieee1275/get_disk_name.c.
25150
25151 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25152
25153 * DISTLIST: Add util/i386/get_disk_name.c and
25154 util/ieee1275/get_disk_name.c.
25155
25156 * util/grub-mkdevicemap.c: Replace device naming logic with
25157 grub_util_get_disk_name() calls.
25158
25159 2007-08-20 Robert Millan <rmh@aybabtu.com>
25160
25161 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25162 (so that it works for both plural and singular quantities).
25163
25164 2007-08-05 Robert Millan <rmh@aybabtu.com>
25165
25166 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25167 so that [xz] isn't taken into account when determining order.
25168
25169 2007-08-02 Marco Gerards <marco@gnu.org>
25170
25171 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25172 `include/multiboot2.h', `include/grub/elfload.h',
25173 `include/multiboot.h', `include/grub/multiboot.h',
25174 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25175 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25176 `kern/elf.c', `loader/multiboot_loader.c',
25177 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25178 `loader/i386/pc/multiboot2.c',
25179 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25180 `util/i386/pc/grub-mkrescue.in'. Remove
25181 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25182 `include/grub/i386/pc/util/biosdisk.h' and
25183 `include/grub/powerpc/ieee1275/multiboot.h'.
25184
25185 2007-08-02 Bean <bean123ch@gmail.com>
25186
25187 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25188 (ntfs_mod_SOURCES): New variable.
25189 (ntfs_mod_CFLAGS): Likewise.
25190 (ntfs_mod_LDFLAGS): Likewise.
25191
25192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25193 (grub_probe_SOURCES): Likewise.
25194 (grub_emu_SOURCES): Likewise.
25195
25196 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25197 (grub_emu_SOURCES): Likewise.
25198
25199 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25200 (grub_emu_SOURCES): Likewise.
25201
25202 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25203
25204 * fs/ntfs.c: New file.
25205
25206 2007-08-02 Bean <bean123ch@gmail.com>
25207
25208 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25209
25210 * file.h (grub_file): Likewise.
25211
25212 * fshelp.h (grub_fshelp_read_file): Likewise.
25213
25214 * util/i386/pc/grub-setup.c (setup): Likewise.
25215 (save_first_sector): Likewise.
25216 (save_blocklists): Likewise.
25217
25218 * fs/affs.c (grub_affs_read_file): Likewise.
25219
25220 * fs/ext2.c (grub_ext2_read_file): Likewise.
25221
25222 * fs/fat.c (grub_fat_read_data): Likewise.
25223
25224 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25225
25226 * fs/hfs.c (grub_hfs_read_file): Likewise.
25227
25228 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25229
25230 * fs/jfs.c (grub_jfs_read_file): Likewise.
25231
25232 * fs/minix.c (grub_minix_read_file): Likewise.
25233
25234 * fs/sfs.c (grub_sfs_read_file): Likewise.
25235
25236 * fs/ufs.c (grub_ufs_read_file): Likewise.
25237
25238 * fs/xfs.c (grub_xfs_read_file): Likewise.
25239
25240 * command/blocklist.c (read_blocklist): Likewise.
25241 (print_blocklist): Likewise.
25242
25243 2007-08-02 Marco Gerards <marco@gnu.org>
25244
25245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25246 `util/hostfs.c'.
25247
25248 * disk/host.c: New file.
25249
25250 * util/hostfs.c: Likewise.
25251
25252 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25253 return `GRUB_ERR_BAD_FS'.
25254 * fs/sfs.c (grub_sfs_mount): Likewise.
25255 * fs/xfs.c (grub_xfs_mount): Likewise.
25256
25257 * include/grub/disk.h (enum grub_disk_dev_id): Add
25258 `GRUB_DISK_DEVICE_HOST_ID'.
25259
25260 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25261
25262 2007-07-24 Jerone Young <jerone@gmail.com>
25263
25264 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
25265 modules for compilation.
25266 * conf/powerpc-ieee1275.rmk: Likewise.
25267
25268 * include/multiboot.h: Move multiboot definitions to one file. Rename
25269 many definitions to not get grub specific.
25270 * include/multiboot2.h: Create header with multiboot 2 definitions.
25271 * include/grub/multiboot.h: Header for grub specific function
25272 prototypes and definitions.
25273 * include/grub/multiboot2.h: Likewise.
25274 * include/grub/multiboot_loader.h: Likewise.
25275 * include/grub/i386/pc/multiboot.h: Removed.
25276 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25277
25278 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25279 and 2 to allow for one multiboot and module commands.
25280 * loader/multiboot2.c: Add multiboot2 functionality.
25281 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25282 and definition names.
25283 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25284 2 functions.
25285 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25286 ieee1275 specific multiboot2 code.
25287
25288 * kern/i386/pc/startup.S: Change headers and definition names for
25289 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25290
25291 2007-07-22 Robert Millan <rmh@aybabtu.com>
25292
25293 * geninitheader.sh: Process file specified in first parameter rather
25294 than hardcoding grub_modules_init.lst.
25295 * geninit.sh: Likewise. Also, construct header name dynamically rather
25296 than hardcoding grub_modules_init.h.
25297
25298 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25299 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25300 grub_probe_init.[ch] and grub_setup_init.[ch].
25301
25302 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25303 grub_modules_init.h with grub_emu_init.h.
25304 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25305 grub_probe_init.[ch] files.
25306 * conf/i386-efi.rmk: Likewise.
25307 * conf/i386-pc.rmk: Likewise.
25308 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25309 grub_setup_init.[ch] files.
25310
25311 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25312 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25313 to initialize modules rather than a list of hardcoded functions.
25314 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25315 grub_init_all() to initialize modules rather than a list of hardcoded
25316 functions.
25317
25318 2007-07-22 Robert Millan <rmh@aybabtu.com>
25319
25320 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25321 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25322
25323 2007-07-22 Robert Millan <rmh@aybabtu.com>
25324
25325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25326 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25327 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25328 flag when running on SmartFirmware.
25329 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25330 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25331 was set.
25332
25333 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25334 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25335 rather than decreasing it.
25336
25337 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25338 there's not enough space to do it, fail in the same way as when it
25339 can't be done because there are no partitions.
25340
25341 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25342 when nvsetenv failed.
25343
25344 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25345
25346 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25347 because this rule is automatically generated.
25348 (grub-mkrescue): Removed for the same reason as above.
25349
25350 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25351
25352 Migrate to GNU General Public License Version 3.
25353
25354 * COPYING: Replaced with the plain text version of GPLv3.
25355
25356 * config.guess: Updated from gnulib.
25357 * config.sub: Likewise.
25358
25359 * geninit.sh: Output a GPLv3 copyright notice.
25360 * geninitheader.sh: Likewise.
25361 * genmodsrc.sh: Likewise.
25362 * gensymlist.sh.in: Likewise.
25363
25364 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25365 * boot/i386/pc/diskboot.S: Likewise.
25366 * boot/i386/pc/pxeboot.S: Likewise.
25367 * commands/blocklist.c: Likewise.
25368 * commands/boot.c: Likewise.
25369 * commands/cat.c: Likewise.
25370 * commands/cmp.c: Likewise.
25371 * commands/configfile.c: Likewise.
25372 * commands/echo.c: Likewise.
25373 * commands/help.c: Likewise.
25374 * commands/ls.c: Likewise.
25375 * commands/search.c: Likewise.
25376 * commands/terminal.c: Likewise.
25377 * commands/test.c: Likewise.
25378 * commands/videotest.c: Likewise.
25379 * commands/i386/cpuid.c: Likewise.
25380 * commands/i386/pc/halt.c: Likewise.
25381 * commands/i386/pc/play.c: Likewise.
25382 * commands/i386/pc/reboot.c: Likewise.
25383 * commands/i386/pc/vbeinfo.c: Likewise.
25384 * commands/i386/pc/vbetest.c: Likewise.
25385 * commands/ieee1275/halt.c: Likewise.
25386 * commands/ieee1275/reboot.c: Likewise.
25387 * commands/ieee1275/suspend.c: Likewise.
25388 * disk/loopback.c: Likewise.
25389 * disk/lvm.c: Likewise.
25390 * disk/raid.c: Likewise.
25391 * disk/efi/efidisk.c: Likewise.
25392 * disk/i386/pc/biosdisk.c: Likewise.
25393 * disk/ieee1275/ofdisk.c: Likewise.
25394 * font/manager.c: Likewise.
25395 * fs/affs.c: Likewise.
25396 * fs/ext2.c: Likewise.
25397 * fs/fat.c: Likewise.
25398 * fs/fshelp.c: Likewise.
25399 * fs/hfs.c: Likewise.
25400 * fs/hfsplus.c: Likewise.
25401 * fs/iso9660.c: Likewise.
25402 * fs/jfs.c: Likewise.
25403 * fs/minix.c: Likewise.
25404 * fs/sfs.c: Likewise.
25405 * fs/ufs.c: Likewise.
25406 * fs/xfs.c: Likewise.
25407 * hello/hello.c: Likewise.
25408 * include/grub/acorn_filecore.h: Likewise.
25409 * include/grub/arg.h: Likewise.
25410 * include/grub/bitmap.h: Likewise.
25411 * include/grub/boot.h: Likewise.
25412 * include/grub/cache.h: Likewise.
25413 * include/grub/device.h: Likewise.
25414 * include/grub/disk.h: Likewise.
25415 * include/grub/dl.h: Likewise.
25416 * include/grub/elfload.h: Likewise.
25417 * include/grub/env.h: Likewise.
25418 * include/grub/err.h: Likewise.
25419 * include/grub/file.h: Likewise.
25420 * include/grub/font.h: Likewise.
25421 * include/grub/fs.h: Likewise.
25422 * include/grub/fshelp.h: Likewise.
25423 * include/grub/gzio.h: Likewise.
25424 * include/grub/hfs.h: Likewise.
25425 * include/grub/kernel.h: Likewise.
25426 * include/grub/loader.h: Likewise.
25427 * include/grub/lvm.h: Likewise.
25428 * include/grub/misc.h: Likewise.
25429 * include/grub/mm.h: Likewise.
25430 * include/grub/net.h: Likewise.
25431 * include/grub/normal.h: Likewise.
25432 * include/grub/parser.h: Likewise.
25433 * include/grub/partition.h: Likewise.
25434 * include/grub/pc_partition.h: Likewise.
25435 * include/grub/raid.h: Likewise.
25436 * include/grub/rescue.h: Likewise.
25437 * include/grub/script.h: Likewise.
25438 * include/grub/setjmp.h: Likewise.
25439 * include/grub/symbol.h: Likewise.
25440 * include/grub/term.h: Likewise.
25441 * include/grub/terminfo.h: Likewise.
25442 * include/grub/tparm.h: Likewise.
25443 * include/grub/types.h: Likewise.
25444 * include/grub/video.h: Likewise.
25445 * include/grub/efi/api.h: Likewise.
25446 * include/grub/efi/chainloader.h: Likewise.
25447 * include/grub/efi/console.h: Likewise.
25448 * include/grub/efi/console_control.h: Likewise.
25449 * include/grub/efi/disk.h: Likewise.
25450 * include/grub/efi/efi.h: Likewise.
25451 * include/grub/efi/pe32.h: Likewise.
25452 * include/grub/efi/time.h: Likewise.
25453 * include/grub/i386/linux.h: Likewise.
25454 * include/grub/i386/setjmp.h: Likewise.
25455 * include/grub/i386/types.h: Likewise.
25456 * include/grub/i386/efi/kernel.h: Likewise.
25457 * include/grub/i386/efi/loader.h: Likewise.
25458 * include/grub/i386/efi/time.h: Likewise.
25459 * include/grub/i386/pc/biosdisk.h: Likewise.
25460 * include/grub/i386/pc/boot.h: Likewise.
25461 * include/grub/i386/pc/chainloader.h: Likewise.
25462 * include/grub/i386/pc/console.h: Likewise.
25463 * include/grub/i386/pc/init.h: Likewise.
25464 * include/grub/i386/pc/kernel.h: Likewise.
25465 * include/grub/i386/pc/loader.h: Likewise.
25466 * include/grub/i386/pc/memory.h: Likewise.
25467 * include/grub/i386/pc/multiboot.h: Likewise.
25468 * include/grub/i386/pc/serial.h: Likewise.
25469 * include/grub/i386/pc/time.h: Likewise.
25470 * include/grub/i386/pc/vbe.h: Likewise.
25471 * include/grub/i386/pc/vbeblit.h: Likewise.
25472 * include/grub/i386/pc/vbefill.h: Likewise.
25473 * include/grub/i386/pc/vbeutil.h: Likewise.
25474 * include/grub/i386/pc/vga.h: Likewise.
25475 * include/grub/ieee1275/ieee1275.h: Likewise.
25476 * include/grub/ieee1275/ofdisk.h: Likewise.
25477 * include/grub/powerpc/libgcc.h: Likewise.
25478 * include/grub/powerpc/setjmp.h: Likewise.
25479 * include/grub/powerpc/types.h: Likewise.
25480 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25481 * include/grub/powerpc/ieee1275/console.h: Likewise.
25482 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25483 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25484 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25485 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25486 * include/grub/powerpc/ieee1275/time.h: Likewise.
25487 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25488 * include/grub/sparc64/libgcc.h: Likewise.
25489 * include/grub/sparc64/setjmp.h: Likewise.
25490 * include/grub/sparc64/types.h: Likewise.
25491 * include/grub/sparc64/ieee1275/console.h: Likewise.
25492 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25493 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25494 * include/grub/sparc64/ieee1275/time.h: Likewise.
25495 * include/grub/util/biosdisk.h: Likewise.
25496 * include/grub/util/getroot.h: Likewise.
25497 * include/grub/util/lvm.h: Likewise.
25498 * include/grub/util/misc.h: Likewise.
25499 * include/grub/util/raid.h: Likewise.
25500 * include/grub/util/resolve.h: Likewise.
25501 * io/gzio.c: Likewise.
25502 * kern/device.c: Likewise.
25503 * kern/disk.c: Likewise.
25504 * kern/dl.c: Likewise.
25505 * kern/elf.c: Likewise.
25506 * kern/env.c: Likewise.
25507 * kern/err.c: Likewise.
25508 * kern/file.c: Likewise.
25509 * kern/fs.c: Likewise.
25510 * kern/loader.c: Likewise.
25511 * kern/main.c: Likewise.
25512 * kern/misc.c: Likewise.
25513 * kern/mm.c: Likewise.
25514 * kern/parser.c: Likewise.
25515 * kern/partition.c: Likewise.
25516 * kern/rescue.c: Likewise.
25517 * kern/term.c: Likewise.
25518 * kern/efi/efi.c: Likewise.
25519 * kern/efi/init.c: Likewise.
25520 * kern/efi/mm.c: Likewise.
25521 * kern/i386/dl.c: Likewise.
25522 * kern/i386/efi/init.c: Likewise.
25523 * kern/i386/efi/startup.S: Likewise.
25524 * kern/i386/pc/init.c: Likewise.
25525 * kern/i386/pc/lzo1x.S: Likewise.
25526 * kern/i386/pc/startup.S: Likewise.
25527 * kern/ieee1275/ieee1275.c: Likewise.
25528 * kern/powerpc/cache.S: Likewise.
25529 * kern/powerpc/dl.c: Likewise.
25530 * kern/powerpc/ieee1275/cmain.c: Likewise.
25531 * kern/powerpc/ieee1275/crt0.S: Likewise.
25532 * kern/powerpc/ieee1275/init.c: Likewise.
25533 * kern/powerpc/ieee1275/openfw.c: Likewise.
25534 * kern/sparc64/cache.S: Likewise.
25535 * kern/sparc64/dl.c: Likewise.
25536 * kern/sparc64/ieee1275/init.c: Likewise.
25537 * kern/sparc64/ieee1275/openfw.c: Likewise.
25538 * loader/efi/chainloader.c: Likewise.
25539 * loader/efi/chainloader_normal.c: Likewise.
25540 * loader/i386/efi/linux.c: Likewise.
25541 * loader/i386/efi/linux_normal.c: Likewise.
25542 * loader/i386/pc/chainloader.c: Likewise.
25543 * loader/i386/pc/chainloader_normal.c: Likewise.
25544 * loader/i386/pc/linux.c: Likewise.
25545 * loader/i386/pc/linux_normal.c: Likewise.
25546 * loader/i386/pc/multiboot.c: Likewise.
25547 * loader/i386/pc/multiboot_normal.c: Likewise.
25548 * loader/powerpc/ieee1275/linux.c: Likewise.
25549 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25550 * normal/arg.c: Likewise.
25551 * normal/cmdline.c: Likewise.
25552 * normal/command.c: Likewise.
25553 * normal/completion.c: Likewise.
25554 * normal/execute.c: Likewise.
25555 * normal/function.c: Likewise.
25556 * normal/lexer.c: Likewise.
25557 * normal/main.c: Likewise.
25558 * normal/menu.c: Likewise.
25559 * normal/menu_entry.c: Likewise.
25560 * normal/misc.c: Likewise.
25561 * normal/parser.y: Likewise.
25562 * normal/script.c: Likewise.
25563 * normal/i386/setjmp.S: Likewise.
25564 * normal/powerpc/setjmp.S: Likewise.
25565 * normal/sparc64/setjmp.S: Likewise.
25566 * partmap/acorn.c: Likewise.
25567 * partmap/amiga.c: Likewise.
25568 * partmap/apple.c: Likewise.
25569 * partmap/gpt.c: Likewise.
25570 * partmap/pc.c: Likewise.
25571 * partmap/sun.c: Likewise.
25572 * term/gfxterm.c: Likewise.
25573 * term/terminfo.c: Likewise.
25574 * term/efi/console.c: Likewise.
25575 * term/i386/pc/console.c: Likewise.
25576 * term/i386/pc/serial.c: Likewise.
25577 * term/i386/pc/vesafb.c: Likewise.
25578 * term/i386/pc/vga.c: Likewise.
25579 * term/ieee1275/ofconsole.c: Likewise.
25580 * util/biosdisk.c: Likewise.
25581 * util/console.c: Likewise.
25582 * util/genmoddep.c: Likewise.
25583 * util/getroot.c: Likewise.
25584 * util/grub-emu.c: Likewise.
25585 * util/grub-mkdevicemap.c: Likewise.
25586 * util/grub-probe.c: Likewise.
25587 * util/lvm.c: Likewise.
25588 * util/misc.c: Likewise.
25589 * util/raid.c: Likewise.
25590 * util/resolve.c: Likewise.
25591 * util/update-grub.in: Likewise.
25592 * util/update-grub_lib.in: Likewise.
25593 * util/grub.d/00_header.in: Likewise.
25594 * util/grub.d/10_hurd.in: Likewise.
25595 * util/grub.d/10_linux.in: Likewise.
25596 * util/i386/efi/grub-install.in: Likewise.
25597 * util/i386/efi/grub-mkimage.c: Likewise.
25598 * util/i386/pc/grub-install.in: Likewise.
25599 * util/i386/pc/grub-mkimage.c: Likewise.
25600 * util/i386/pc/grub-mkrescue.in: Likewise.
25601 * util/i386/pc/grub-setup.c: Likewise.
25602 * util/i386/pc/misc.c: Likewise.
25603 * util/powerpc/ieee1275/grub-install.in: Likewise.
25604 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25605 * util/powerpc/ieee1275/misc.c: Likewise.
25606 * video/bitmap.c: Likewise.
25607 * video/video.c: Likewise.
25608 * video/i386/pc/vbe.c: Likewise.
25609 * video/i386/pc/vbeblit.c: Likewise.
25610 * video/i386/pc/vbefill.c: Likewise.
25611 * video/i386/pc/vbeutil.c: Likewise.
25612 * video/readers/tga.c: Likewise.
25613
25614 2007-07-02 Robert Millan <rmh@aybabtu.com>
25615
25616 * conf/i386-efi.rmk: Replace obsolete reference to
25617 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25618 with util/getroot.c.
25619 * conf/powerpc-ieee1275.rmk: Likewise.
25620 * conf/sparc64-ieee1275.rmk: Likewise.
25621
25622 * util/grub-emu.c (main): Fix unchecked pointer handling.
25623
25624 2007-07-02 Robert Millan <rmh@aybabtu.com>
25625
25626 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25627 invocation to fail, in order to support partition-less media.
25628
25629 * util/i386/pc/grub-install.in: Likewise.
25630
25631 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25632 which fs or partmap modules are needed (akin to its sister scripts).
25633
25634 Also use grub-probe to get rid of unportable /proc/mounts check.
25635
25636 Print the same informational message that the other scripts do, before
25637 exiting.
25638
25639 2007-06-23 Robert Millan <rmh@aybabtu.com>
25640
25641 * util/update-grub_lib.in (font_path): New function. Determine whether
25642 a font file can be found and, if so, echo the GRUB path to it.
25643
25644 * util/update-grub.in: Handle multiple terminals depending on user
25645 input, platform availability and font file presence. Propagate
25646 variables of our findings to /etc/grub.d/ children.
25647
25648 * util/grub.d/00_header.in: Handle multiple terminals, based on
25649 environment setup by update-grub.
25650
25651 2007-06-23 Robert Millan <rmh@aybabtu.com>
25652
25653 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
25654
25655 2007-06-21 Robert Millan <rmh@aybabtu.com>
25656
25657 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25658 indicate end of data section in kernel image.
25659 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25660 GRUB_KERNEL_MACHINE_DATA_END.
25661
25662 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25663 space for it.
25664 * kern/i386/efi/startup.S: Likewise.
25665
25666 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25667 during image generation. Implement --prefix option to override this
25668 patch.
25669 * util/i386/efi/grub-mkimage.c: Likewise.
25670
25671 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25672 code to make path relative to its root into a separate function.
25673
25674 * util/i386/pc/grub-install.in: Use newly provided
25675 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25676 pass the result to grub-install --prefix.
25677
25678 2007-06-13 Robert Millan <rmh@aybabtu.com>
25679
25680 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25681 DEFAULT_DEVICE_MAP.
25682 * util/grub-emu.c: Use above definitions from misc.h instead of
25683 defining them.
25684 * util/grub-mkdevicemap.c: Likewise.
25685 * util/i386/pc/grub-setup.c: Likewise.
25686 * util/grub-probe.c: Likewise.
25687 (probe): Abort with grub_util_error() when either
25688 grub_guess_root_device or grub_util_get_grub_dev fails.
25689
25690 2007-06-12 Robert Millan <rmh@aybabtu.com>
25691
25692 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25693 "pager" assignment.
25694 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25695 "pcdata".
25696 * util/grub-probe.c (probe): Likewise for "drive_name".
25697
25698 2007-06-11 Robert Millan <rmh@aybabtu.com>
25699
25700 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25701 not just the cdrom one.
25702
25703 2007-06-11 Robert Millan <rmh@aybabtu.com>
25704
25705 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25706 Add --pkglibdir=DIR option to override pkglibdir.
25707 Mention --image-type=TYPE in help output.
25708 Fix --grub-mkimage (it was a no-op).
25709 Abort gracefully when no parameter is given.
25710
25711 2007-06-11 Robert Millan <rmh@aybabtu.com>
25712
25713 * util/i386/pc/grub-mkrescue.in: New file.
25714 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25715 * Makefile.in: Handle bin_SCRIPTS.
25716
25717 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25718
25719 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25720 list of video modes.
25721
25722 2007-06-06 Robert Millan <rmh@aybabtu.com>
25723
25724 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25725 file doesn't exist, or if it is in a filesystem grub can't read.
25726
25727 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25728 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25729 header comment to fit in 80 columns when the variables are resolved.
25730
25731 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25732 could be identified by update-grub. Remove redundant check for
25733 unifont.pff existence (since convert_system_path_to_grub_path now
25734 handles that).
25735
25736 2007-06-04 Robert Millan <rmh@aybabtu.com>
25737
25738 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25739
25740 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25741
25742 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25743
25744 2007-06-04 Robert Millan <rmh@aybabtu.com>
25745
25746 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25747
25748 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25749 grub_apple_partition_map_fini.
25750
25751 * util/biosdisk.c
25752 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25753 to access >2 TiB disks).
25754
25755 Print disk->total_sectors with %llu instead of %lu, since this
25756 variable is always 64-bit (prevents wrong disk size from being displayed
25757 on either >2 TiB disk or big-endian CPU).
25758
25759 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25760 into a generic case that supports all (sane) partition maps.
25761
25762 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25763 breaks big-endian.
25764
25765 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25766 and grub_apple_partition_map_fini() after that.
25767
25768 2007-06-01 Robert Millan <rmh@aybabtu.com>
25769
25770 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25771
25772 * util/grub.d/00_header.in: Only enable gfxterm when
25773 convert_system_path_to_grub_path() succeeds.
25774
25775 2007-05-20 Robert Millan <rmh@aybabtu.com>
25776
25777 * util/update-grub_lib.in: New file.
25778 * DISTLIST: Add update-grub_lib.in.
25779 * conf/common.rmk: Generate update-grub_lib and install it in
25780 $(lib_DATA).
25781 * Makefile.in: Add install routine for $(lib_DATA).
25782
25783 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25784 function provided by update-grub_lib to support arbitrary paths of
25785 unifont.pff.
25786 * util/update-grub.in: Use convert_system_path_to_grub_path() to
25787 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
25788
25789 2007-05-19 Robert Millan <rmh@aybabtu.com>
25790
25791 * commands/i386/cpuid.c: New module.
25792 * DISTLIST: Add it.
25793 * conf/i386-efi.rmk: Enable cpuid.mod.
25794 * conf/i386-pc.rmk: Likewise.
25795
25796 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25797
25798 * kern/disk.c (grub_disk_read): Check return value of
25799 grub_realloc().
25800
25801 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25802
25803 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
25804 arrays.
25805 * disk/raid.c (grub_raid_open): Likewise.
25806
25807 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25808
25809 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
25810 stack instead of on the heap.
25811
25812 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
25813 before doing a read on it.
25814
25815 * configure.ac: Only use -fno-stack-protector for the target
25816 environment.
25817
25818 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25819
25820 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
25821 __attribute_ ((unused)) to mode_type argument.
25822
25823 * util/getroot.c (grub_guess_root_device): Fix #endif.
25824
25825 * kern/misc.c (memcmp): Fix prototype.
25826
25827 * include/grub/partition.h [GRUB_UTIL]
25828 (grub_gpt_partition_map_init): Add prototype.
25829 (grub_gpt_partition_map_fini): Likewise.
25830
25831 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
25832 at the right place.
25833
25834 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
25835 (grub_fat_read_data): Likewise.
25836 (grub_fat_find_dir): Likewise.
25837
25838 * font/manager.c (find_glyph): Make table a const.
25839 (grub_font_get_glyph): Remove bitmap from if statement.
25840
25841 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
25842
25843 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
25844 code, first search for device in /dev/mapper, then in /dev.
25845 (grub_util_get_grub_dev): New function.
25846 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
25847 prototype.
25848 * util/grub-probe.c (probe): Remove check for RAID, call
25849 grub_util_get_grub_dev() instead of
25850 grub_util_biosdisk_get_grub_dev().
25851 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
25852 grub_util_biosdisk_get_grub_dev().
25853 * util/i386/pc/grub-setup.c (main): Likewise.
25854
25855 2007-05-16 Robert Millan <rmh@aybabtu.com>
25856
25857 * DISTLIST: Update for the latest changes.
25858 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
25859 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
25860 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
25861 grub/util/biosdisk.h.
25862 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
25863 grub/util/biosdisk.h.
25864
25865 2007-05-16 Robert Millan <rmh@aybabtu.com>
25866
25867 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
25868
25869 2007-05-16 Robert Millan <rmh@aybabtu.com>
25870
25871 * util/i386/efi/grub-install.in: New.
25872 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
25873 newly added grub-install.
25874 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
25875 include.
25876 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
25877 grub/util/biosdisk.h.
25878 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
25879 grub/util/biosdisk.h.
25880
25881 2007-05-16 Robert Millan <rmh@aybabtu.com>
25882
25883 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
25884 * include/grub/util/biosdisk.h: ... here.
25885 * util/i386/pc/biosdisk.c: Moved to ...
25886 * util/biosdisk.c: ... here.
25887 * util/i386/pc/getroot.c: Moved to ...
25888 * util/getroot.c: ... here.
25889 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
25890 * util/grub-mkdevicemap.c: ... here.
25891 * util/i386/pc/grub-probe.c: Moved to ...
25892 * util/grub-probe.c: ... here.
25893
25894 2007-05-15 Robert Millan <rmh@aybabtu.com>
25895
25896 * util/update-grub.in: Remove duplicated line in grub.cfg header
25897 message.
25898
25899 2007-05-13 Robert Millan <rmh@aybabtu.com>
25900
25901 * util/update-grub.in: Fix a few assumptions about the devices holding
25902 /, /boot and /boot/grub being the same.
25903 * util/grub.d/00_header.in: Likewise.
25904 * util/grub.d/10_hurd.in: Likewise.
25905 * util/grub.d/10_linux.in: Likewise.
25906
25907 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
25908 patterns. Use that to define the `.old' suffix as older than `'.
25909
25910 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
25911
25912 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
25913 the grub.cfg header message.
25914
25915 2007-05-11 Robert Millan <rmh@aybabtu.com>
25916
25917 * util/update-grub.in: Create device.map if it doesn't already exist,
25918 before attempting to run grub-probe.
25919 Check for grub-probe and grub-mkdevicemap with the same code
25920 grub-install is using.
25921 Remove test mode.
25922
25923 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
25924
25925 * Makefile.in: Add the datarootdir autoconf variable.
25926
25927 2007-05-09 Robert Millan <rmh@aybabtu.com>
25928
25929 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
25930 fail gracefully if dev->disk->partition == NULL.
25931
25932 2007-05-07 Robert Millan <rmh@aybabtu.com>
25933
25934 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
25935 determine partition map module.
25936 * util/i386/pc/grub-install.in: Use this feature to decide which
25937 partition module to load, instead of hardcoding pc and gpt.
25938
25939 2007-05-07 Robert Millan <rmh@aybabtu.com>
25940
25941 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
25942 source directory differs from build directory.
25943
25944 2007-05-05 Robert Millan <rmh@aybabtu.com>
25945
25946 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
25947 initialisation.
25948
25949 2007-05-05 Robert Millan <rmh@aybabtu.com>
25950
25951 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
25952
25953 2007-05-05 Robert Millan <rmh@aybabtu.com>
25954
25955 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
25956 command-line arguments via ${GRUB_CMDLINE_LINUX}.
25957
25958 2007-05-05 Robert Millan <rmh@aybabtu.com>
25959
25960 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
25961 (grub_probe_SOURCES): Likewise.
25962 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
25963 GPT and initialize dos_part and bsd_part accordingly.
25964 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
25965 install_bsd_part.
25966 (main): Activate gpt module for use during partition identification,
25967 and deactivate it afterwards.
25968 * util/i386/pc/grub-install.in: Add gpt module to core.img.
25969 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
25970 partition identification, and deactivate it afterwards.
25971
25972 2007-05-05 Robert Millan <rmh@aybabtu.com>
25973
25974 * term/i386/pc/console.c (grub_console_fini): Call
25975 grub_term_set_current() before grub_term_unregister().
25976
25977 2007-05-04 Robert Millan <rmh@aybabtu.com>
25978
25979 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
25980 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
25981 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
25982 and update-grub_DATA.
25983 * conf/common.rmk: Build and install update-grub components.
25984 * conf/common.mk: Regenerate.
25985 * util/update-grub.in: New. Core of update-grub.
25986 * util/grub.d/00_header.in: New. Generates grub.cfg header.
25987 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
25988 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
25989 * util/grub.d/README: New. Document grub.d directory layout.
25990
25991 2007-05-01 Robert Millan <rmh@aybabtu.com>
25992
25993 * util/grub-emu.c: Move initialization functions
25994 grub_util_biosdisk_init() and grub_init_all() before
25995 grub_util_biosdisk_get_grub_dev(), which relies on them.
25996
25997 2007-04-19 Robert Millan <rmh@aybabtu.com>
25998
25999 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26000 it is used later.
26001
26002 2007-04-18 Jerone Young <jerone@gmail.com>
26003
26004 * kernel/elf.c: Add missing parenthesis for conditional statement
26005 stanza.
26006
26007 2007-04-10 Jerone Young <jerone@gmail.com>
26008
26009 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26010 continue on and look for device node with real device name.
26011
26012 2007-04-10 Jerone Young <jerone@gmail.com>
26013
26014 * configure.ac: Add argument for autoconf to use transformation
26015 ability.
26016 * Makefile.in: Add autoconf package transformation code.
26017 * util/i386/pc/grub-install.in: Likewise.
26018 * util/powerpc/ieee1275/grub-install.in: Likewise.
26019
26020 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26021
26022 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26023 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26024 (EXT2_REVISION): Likewise.
26025 (EXT2_INODE_SIZE): Likewise.
26026 (struct grub_ext2_block_group): Added a missing member
26027 "used_dirs".
26028 (grub_ext2_read_inode): Divide by the inode size in a superblock
26029 instead of 128 to obtain INODES_PER_BLOCK.
26030 Use the macro EXT2_INODE_SIZE instead of directly using
26031 SBLOCK->INODE_SIZE.
26032
26033 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26034
26035 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26036 superblock instead of the structure size to compute an
26037 offset. This fixes the problem that GRUB could not read a
26038 filesystem when inode size is different from 128-byte.
26039
26040 2007-03-05 Marco Gerards <marco@gnu.org>
26041
26042 * normal/main.c (read_config_file): When "menu" is not set, create
26043 an initial context.
26044
26045 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26046
26047 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26048 (HEAP_LIMIT): New macro.
26049 (grub_claim_heap): Claim memory up to `heaplimit'.
26050
26051 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26052
26053 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26054 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26055 (_start): Likewise.
26056 (grub_arch_modules_addr): Return address after `_end'.
26057 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26058 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26059 (add_segments): Calculate `_end' from phdr size and location.
26060 (ALIGN_UP): Moved to ...
26061 * include/grub/misc.h: here.
26062 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26063 New macro.
26064 (GRUB_IEEE1275_MODULE_BASE): Removed.
26065
26066 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26067
26068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26069 loop boundary.
26070
26071 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26072
26073 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26074 All users updated.
26075 (grub_elf64_load_hook_t): Likewise.
26076 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26077 debug output.
26078
26079 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26080
26081 * kern/mm.c: Update copyright.
26082 (grub_mm_debug): Correct syntax error.
26083 (grub_mm_dump_free): New function.
26084 (grub_debug_free): Call `grub_free'.
26085 * include/grub/mm.h: Update copyright.
26086 (grub_mm_dump_free): Add declaration.
26087
26088 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26089
26090 * include/grub/ieee1275/ieee1275.h: Update copyright.
26091 * kern/powerpc/ieee1275/init.c: Likewise.
26092 * kern/powerpc/ieee1275/openfw.c: Likewise.
26093
26094 * loader/powerpc/ieee1275/linux.c: Likewise.
26095 * include/grub/elfload.h: Likewise.
26096 * kern/elf.c: Likewise.
26097 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26098 callers.
26099 (grub_elf64_load): Likewise.
26100 (grub_elf32_load_segment): Move to a nested function.
26101 (grub_elf64_load_segment): Likewise.
26102
26103 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26104
26105 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26106 prototype.
26107 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26108 (grub_heap_len): Likewise.
26109 (HEAP_SIZE): New macro.
26110 (grub_claim_heap): New function.
26111 (grub_machine_init): Don't claim heap directly. Call
26112 `grub_claim_heap'.
26113 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26114 (grub_available_iterate): New function.
26115
26116 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26117
26118 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26119 * configure.ac: Use it for testing the HOST and TARGET compilers.
26120
26121 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26122
26123 * Makefile.in (enable_grub_emu): New variable.
26124 * configure.ac (--enable-grub-emu): New option.
26125 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26126 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26127 * conf/i386-pc.rmk: Likewise.
26128 * conf/powerpc-ieee1275.rmk: Likewise.
26129 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26130
26131 2006-12-12 Marco Gerards <marco@gnu.org>
26132
26133 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26134
26135 * kern/env.c (grub_env_unset): Don't free the member `value' when
26136 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26137 pointer.
26138
26139 * normal/main.c (current_menu): Removed.
26140 (free_menu): Unset the `menu' environment variable.
26141 (grub_normal_menu_addentry): Make use of the environment variable
26142 `menu', instead of using the global `current_menu'. Allocate
26143 memory for the sourcecode of this entry.
26144 (read_config_file): New argument `nested', changed all callers.
26145 Only in the case of a new context, initialize a new menu. Set the
26146 `menu' environment variable.
26147 (grub_normal_execute): Don't set and unset the environment
26148 variable `menu' here anymore. Only free the menu when leaving the
26149 context.
26150
26151 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26152 leak.
26153
26154 2006-12-11 Marco Gerards <marco@gnu.org>
26155
26156 * normal/menu_entry.c (run): Fix off by one bug so the last line
26157 is executed. Move the loader check to outside the loop.
26158
26159 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26160
26161 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26162
26163 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26164
26165 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26166 the number of sectors. Reported by Andrey Shuvikov
26167 <mr_hyro@yahoo.com>.
26168
26169 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26170
26171 * kern/disk.c (grub_disk_read): When there is a read error, always
26172 try to read only the necessary data.
26173
26174 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26175 disk/raid.c.
26176 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26177 prototype.
26178 [GRUB_UTIL] (grub_raid_fini): Likewise.
26179 [GRUB_UTIL] (grub_lvm_init): Likewise.
26180 [GRUB_UTIL] (grub_lvm_fini): Likewise.
26181 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26182 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26183 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26184 and grub_raid_fini().
26185
26186 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26187
26188 * include/grub/types.h (__unused): Rename to UNUSED.
26189 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26190 (grub_elf64_size): Likewise.
26191
26192 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26193
26194 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26195 grub_error_push and grub_error_pop in the error-handling path.
26196 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26197 length.
26198
26199 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26200
26201 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26202 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26204 (kernel_elf_SOURCES): Likewise.
26205 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26206 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26207 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26208 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26209 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26210 (elf_mod_SOURCES): New variable.
26211 (elf_mod_CFLAGS): Likewise.
26212 (elf_mod_LDFLAGS): Likewise.
26213 * include/grub/types.h (__unused): New macro.
26214 * include/grub/elfload.h: New file.
26215 * kern/elf.c: Likewise.
26216 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26217 (ELF32_LOADMASK): New macro.
26218 (ELF64_LOADMASK): Likewise.
26219 (vmlinux): Removed.
26220 (grub_linux_load32): New function.
26221 (grub_linux_load64): Likewise.
26222 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26223 Use grub_elf_t instead of grub_file_t.
26224
26225 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26226
26227 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26228 `catch_result' to struct set_color_args.
26229
26230 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26231
26232 * normal/menu.c: Include grub/script.h.
26233 * normal/menu_entry.c: Likewise.
26234 * include/grub/normal.h: Do not include grub/script.h.
26235
26236 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26237
26238 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26239
26240 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26241
26242 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26243 disk.
26244 (grub_disk_close): Print debug messages when closing a disk.
26245 (grub_disk_read): Print debug messages when disk read fails.
26246 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26247 filesystem type.
26248 * kern/partition.c: Include misc.h.
26249 (grub_partition_iterate): Print debug messages when detecting
26250 partition type.
26251
26252 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26253
26254 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26255 is negative.
26256 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26257
26258 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26259
26260 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26261 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26262
26263 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26264
26265 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26266 instead of sizeof(lv). Patch by Michael Guntsche.
26267
26268 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26269
26270 * disk/lvm.c: Rename VGS to VG_LIST.
26271 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26272 (grub_lvm_open): Likewise.
26273 Thanks to Michael Guntsche for finding this bug.
26274
26275 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26276
26277 * configure.ac (AC_INIT): Bumped to 1.95.
26278
26279 2006-10-14 Robert Millan <rmh@aybabtu.com>
26280
26281 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26282 with "/dev/.static/dev/md".
26283
26284 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26285
26286 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26287 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26288 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26289 DRIVE_NAME are always freed.
26290
26291 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26292 DOS_PART, as a DOS partition is counted from one instead of zero
26293 now. Reported by Robert Millan.
26294
26295 2006-10-14 Robert Millan <rmh@aybabtu.com>
26296
26297 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26298 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26299 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26300 string returned by grub_guess_root_device.
26301 * util/i386/pc/grub-setup.c: Likewise.
26302 * util/i386/pc/grub-probefs.c: Likewise.
26303
26304 * util/i386/pc/grub-probefs.c: Rename to ...
26305 * util/i386/pc/grub-probe.c: ... this.
26306 * DISTLIST: Remove grub-probefs, add grub-probe.
26307 * conf/i386-efi.rmk: Likewise.
26308 * conf/i386-pc.rmk: Likewise.
26309 * util/i386/pc/grub-install.in: Likewise.
26310
26311 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26312 choose which information we want to print.
26313
26314 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26315
26316 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26317 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26318 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26319 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26320 video/readers/tga.c and video/i386/pc/vbeutil.c.
26321
26322 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26323
26324 Added support for RAID and LVM.
26325
26326 * disk/lvm.c: New file.
26327 * disk/raid.c: Likewise.
26328 * include/grub/lvm.h: Likewise.
26329 * include/grub/raid.h: Likewise.
26330 * include/grub/util/lvm.h: Likewise.
26331 * include/grub/util/raid.h: Likewise.
26332 * util/lvm.c: Likewise.
26333 * util/raid.c: Likewise.
26334
26335 * include/grub/disk.h (grub_disk_dev_id): Add
26336 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26337 (grub_disk_get_size): New prototype.
26338 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26339 returns a partition.
26340 (grub_disk_get_size): New function.
26341
26342 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26343 verbatim if grub_install_dos_part is -2.
26344
26345 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26346 and LVM devices.
26347
26348 * util/i386/pc/grub-setup.c (setup): New argument
26349 MUST_EMBED. Force embedding of GRUB when the argument is
26350 true. Close FILE before returning.
26351 (main): Add support for RAID and LVM.
26352
26353 * conf/common.rmk: Add RAID and LVM modules.
26354 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26355 util/lvm.c.
26356 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26357
26358 * kern/misc.c (grub_strstr): New function.
26359 * include/grub/misc.h (grub_strstr): New prototype.
26360
26361 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26362
26363 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26364
26365 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26366
26367 * kern/misc.c (grub_strtoull): Guess the base only if not
26368 specified.
26369
26370 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
26371
26372 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26373 PowerMac support.
26374
26375 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
26376
26377 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26378
26379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26380 Remove `flags' argument. All callers changed.
26381 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26382 (IEEE1275_IHANDLE_INVALID): New variable.
26383 (IEEE1275_CELL_INVALID): New variable.
26384 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26385 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26386 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26387 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26388 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26389 codes from Open Firmware. All callers updated.
26390 (grub_ieee1275_next_property): Directly return Open Firmware return
26391 code.
26392 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26393 Standardize error checking from `grub_ieee1275_get_property'.
26394 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26395 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26396
26397 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
26398
26399 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26400 `instance_to_package_args' to `instance_to_path_args'.
26401
26402 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26403 `grub_ieee1275_chosen'.
26404
26405 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26406 `grub_ieee1275_interpret'.
26407
26408 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
26409
26410 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26411
26412 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
26413
26414 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26415 (__cmpdi): Likewise.
26416
26417 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26418 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26419 `grub_ssize_t'.
26420
26421 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
26422
26423 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26424 to type `grub_ssize_t'.
26425 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26426
26427 2006-09-22 Marco Gerards <marco@gnu.org>
26428
26429 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26430 newlines.
26431
26432 2006-09-22 Marco Gerards <marco@gnu.org>
26433
26434 * commands/echo.c: New file.
26435
26436 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26437
26438 * conf/common.rmk (echo_mod_SOURCES): New variable.
26439 (echo_mod_CFLAGS): Likewise.
26440 (echo_mod_LDFLAGS): Likewise.
26441
26442 2006-09-22 Marco Gerards <marco@gnu.org>
26443
26444 * normal/main.c (get_line): Malloc memory instead of using
26445 preallocated memory. Removed the arguments `cmdline' and
26446 `max_len'. Updated all callers.
26447
26448 2006-09-22 Marco Gerards <marco@gnu.org>
26449
26450 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26451 (normal_mod_DEPENDENCIES): Likewise.
26452
26453 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26454 (normal_mod_DEPENDENCIES): Likewise.
26455
26456 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26457
26458 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
26459
26460 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26461 programs.
26462 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26463 (normal_mod_DEPENDENCIES): Likewise.
26464 * conf/i386-pc.mk: Regenerate.
26465 * conf/i386-efi.mk: Likewise
26466 * conf/common.mk: Likewise.
26467 * conf/powerpc-ieee1275.mk: Likewise.
26468 * conf/sparc64-ieee1275.mk: Likewise.
26469
26470 2006-09-22 Robert Millan <rmh@aybabtu.com>
26471
26472 Sync with i386 version.
26473 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26474 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26475
26476 2006-09-21 Robert Millan <rmh@aybabtu.com>
26477
26478 Import from GRUB Legacy (lib/device.c):
26479 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26480 (init_device_map) [__linux__]: Add support for I2O devices.
26481
26482 2006-09-14 Marco Gerards <marco@gnu.org>
26483
26484 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26485 `-melf_i386'.
26486
26487 2006-09-14 Robert Millan <rmh@aybabtu.com>
26488
26489 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26490 /boot/grub/*.lst.
26491
26492 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
26493
26494 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26495 before adding it to device.map.
26496
26497 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
26498
26499 * genmk.rb: Let GCC generate dependencies the first time it
26500 compiles a file; using the -MD option.
26501 * conf/common.mk: Regenerate.
26502 * conf/i386-pc.mk: Likewise.
26503 * conf/i386-efi.mk: Likewise.
26504 * conf/powerpc-ieee1275.mk: Likewise.
26505 * conf/sparc64-ieee1275.mk: Likewise.
26506
26507 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26508
26509 Move the prototypes of grub_setjmp and grub_longjmp to
26510 cpu/setjmp.h, so that each architecture may specify different
26511 attributes.
26512
26513 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26514 (grub_longjmp): Likewise.
26515 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26516 (grub_longjmp): Likewise.
26517 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26518 (grub_longjmp): Likewise.
26519
26520 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26521 [!GRUB_UTIL] (grub_longjmp): Removed.
26522
26523 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26524
26525 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26526 "color!" method does not return any value.
26527
26528 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26529
26530 * include/grub/bitmap.h: New file.
26531
26532 * include/grub/i386/pc/vbeutil.h: Likewise.
26533
26534 * video/bitmap.c: Likewise.
26535
26536 * video/readers/tga.c: Likewise.
26537
26538 * video/i386/pc/vbeutil.c: Likewise.
26539
26540 * commands/videotest.c: Code cleanup and updated to reflect to new
26541 video API.
26542
26543 * term/gfxterm.c: Likewise.
26544
26545 * video/video.c: Likewise.
26546
26547 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26548 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26549 (bitmap_mod_SOURCES): New entry.
26550 (bitmap_mod_CFLAGS): Likewise.
26551 (bitmap_mod_LDFLAGS): Likewise.
26552 (tga_mod_SOURCES): Likewise.
26553 (tga_mod_CFLAGS): Likewise.
26554 (tga_mod_LDFLAGS): Likewise.
26555
26556 * include/grub/video.h (grub_video_blit_operators): New enum type.
26557 (grub_video_render_target): Changed as forward declaration and moved
26558 actual definition to be video driver specific.
26559 (grub_video_adapter.blit_bitmap): Added blitting operator.
26560 (grub_video_adapter.blit_render_target): Likewise.
26561 (grub_video_blit_bitmap): Likewise.
26562 (grub_video_blit_render_target): Likewise.
26563
26564 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26565 driver specific render target definition.
26566 (grub_video_vbe_map_rgba): Added driver internal helper.
26567 (grub_video_vbe_unmap_color): Updated to use
26568 grub_video_i386_vbeblit_info.
26569 (grub_video_vbe_get_video_ptr): Likewise.
26570
26571 * include/grub/i386/pc/vbeblit.h
26572 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26573 grub_video_i386_vbeblit_info.
26574 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26575 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26576 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26578 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26579 (grub_video_i386_vbeblit_index_index): Likewise.
26580 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26581 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26582 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26583 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26584 operator.
26585 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26586 operator.
26587
26588 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26589 include/grub/i386/pc/vbeblit.h.
26590
26591 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26592 Updated to use grub_video_i386_vbeblit_info.
26593 (grub_video_i386_vbefill_R8G8B8): Likewise.
26594 (grub_video_i386_vbefill_index): Likewise.
26595 (grub_video_i386_vbefill): Added generic filler.
26596
26597 * video/i386/pc/vbefill.c: Updated to reflect changes on
26598 include/grub/i386/pc/vbefill.h.
26599
26600 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26601 grub_video_i386_vbeblit_info.
26602 (grub_video_vbe_unmap_color): Likewise.
26603 (grub_video_vbe_blit_glyph): Likewise.
26604 (grub_video_vbe_scroll): Likewise.
26605 (grub_video_vbe_draw_pixel): Removed function.
26606 (grub_video_vbe_get_pixel): Likewise.
26607 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26608 updated code to use it.
26609 (common_blitter): Added common blitter for render target and bitmap.
26610 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26611 (grub_video_vbe_blit_render_target): Likewise.
26612
26613 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
26614
26615 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26616 is in text mode if there is no console control protocol instance
26617 available.
26618
26619 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26620
26621 * include/grub/video.h: Code cleanup.
26622
26623 * include/grub/i386/pc/vbe.h: Likewise.
26624
26625 * video/i386/pc/vbe.c: Likewise.
26626
26627 * video/i386/pc/vbeblit.c: Likewise.
26628
26629 * video/i386/pc/vbefill.c: Likewise.
26630
26631 * video/video.c: Likewise. Also added more comments.
26632
26633 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26634
26635 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26636 (struct grub_biosdisk_dap): Likewise.
26637
26638 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26639 linkage settings for all functions.
26640
26641 2006-07-12 Marco Gerards <marco@gnu.org>
26642
26643 * configure.ac (--enable-mm-debug): Fix typo.
26644
26645 * genkernsyms.sh.in: Use proper quoting for `CC'.
26646
26647 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26648
26649 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26650 (normal_mod_ASFLAGS): Remove "-m32".
26651
26652 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26653
26654 * util/misc.c: Include config.h.
26655 [!HAVE_MEMALIGN]: Do not include malloc.h.
26656 (grub_memalign): Use posix_memalign, if present. Then, use
26657 memalign, if present. Otherwise, emit an error.
26658
26659 * util/grub-emu.c: Do not include malloc.h.
26660
26661 * include/grub/util/misc.h: Include unistd.h. This is required for
26662 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26663 D. Eades III <hde@foobar-qux.org>.
26664
26665 * configure.ac (AC_GNU_SOURCE): Added.
26666 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26667 type.
26668
26669 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26670
26671 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26672 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26673
26674 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26675
26676 * include/grub/types.h (grub_host_addr_t): Rename to
26677 grub_target_addr_t.
26678 (grub_host_off_t): Rename to grub_target_off_t.
26679 (grub_host_size_t): Rename to grub_target_size_t.
26680 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26681 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26682
26683 * include/grub/kernel.h (struct grub_module_header): Change type
26684 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26685 (grub_module_info): Likewise.
26686
26687 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26688
26689 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26690 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26691 Velazquez <jesus.velazquez@gmail.com>.
26692
26693 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26694
26695 Count partitions from 1 instead of 0 in the string representation
26696 of partitions. Still use 0-based internally.
26697
26698 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26699 (sun_partition_map_iterate): Use grub_partition_t instead of
26700 struct grub_partition *. Cast DESC->START_CYLINDER to
26701 grub_uint64_t after converting the endian.
26702 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26703 (sun_partition_map_get_name): Add 1 to P->INDEX.
26704
26705 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26706 PCDATA->DOS_PART.
26707 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26708
26709 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26710 zero instead of one.
26711 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26712 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26713
26714 * partmap/apple.c (apple_partition_map_iterate): Change the type
26715 of POS to unsigned.
26716 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26717 (apple_partition_map_get_name): Add 1 into P->INDEX.
26718
26719 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26720 of POS to unsigned.
26721 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26722 calculate the offset of a partition.
26723 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26724 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26725
26726 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26727 SECTOR to grub_disk_addr_t.
26728 (acorn_partition_map_iterate): Likewise.
26729 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26730 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26731 top.
26732 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26733
26734 * kern/i386/pc/init.c (make_install_device): Add 1 into
26735 GRUB_INSTALL_DOS_PART.
26736
26737 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26738 conditional.
26739
26740 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26741
26742 Clean up the code to support 64-bit addressing in disks and
26743 files. This change is not enough for filesystems yet.
26744
26745 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26746 type of "start" to grub_uint64_t.
26747 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26748 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26749 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26750 convert addresses.
26751
26752 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26753 to grub_disk_addr_t.
26754
26755 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26756 string.
26757
26758 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26759
26760 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26761 to char *.
26762
26763 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26764
26765 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26766
26767 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26768
26769 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26770 to grub_off_t, to detect an error from grub_file_seek.
26771 (grub_multiboot_load_elf32): Likewise.
26772
26773 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26774 maximum unsigned long value when an overflow is detected.
26775 (grub_strtoull): New function.
26776 (grub_divmod64): Likewise.
26777 (grub_lltoa): use grub_divmod64.
26778
26779 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26780 grub_disk_addr_t.
26781 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26782 the pointer to next character. Use grub_strtoull instead of
26783 grub_strtoul.
26784 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26785 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26786 respectively.
26787
26788 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
26789 return value is signed.
26790 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
26791 test if OFFSET is less than zero, as OFFSET is unsigned now.
26792
26793 * kern/disk.c (struct grub_disk_cache): Change the type of
26794 "sector" to grub_disk_addr_t.
26795 (grub_disk_cache_get_index): Change the type of SECTOR to
26796 grub_disk_addr_t. Calculate the hash with SECTOR casted to
26797 unsigned after shifting.
26798 (grub_disk_cache_invalidate): Change the type of SECTOR to
26799 grub_disk_addr_t.
26800 (grub_disk_cache_unlock): Likewise.
26801 (grub_disk_cache_store): Likewise.
26802 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
26803 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
26804 grub_disk_addr_t and grub_uint64_t, respectively.
26805 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
26806 body, as the value of OFFSET is tweaked by
26807 grub_disk_check_range. Change the types of START_SECTOR, LEN and
26808 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
26809 respectively.
26810 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
26811 body, as the value of OFFSET is tweaked by
26812 grub_disk_check_range. Change the types of LEN and N to
26813 grub_size_t.
26814
26815 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
26816 and "saved_offset" to grub_off_t.
26817 (test_header): Cast BUF to char *.
26818 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
26819 to char *.
26820 (grub_gzio_read): Change the types of OFFSET and SIZE to
26821 grub_off_t and grub_size_t, respectively.
26822
26823 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
26824 Removed.
26825 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
26826 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
26827 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
26828 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
26829 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
26830
26831 * include/grub/types.h (grub_off_t): Unconditionally set to
26832 grub_uint64_t.
26833 (grub_disk_addr_t): Changed to grub_uint64_t.
26834
26835 * include/grub/partition.h (struct grub_partition): Change the
26836 types of "start", "len" and "offset" to grub_disk_addr_t,
26837 grub_uint64_t and grub_disk_addr_t, respectively.
26838 (grub_partition_get_start): Return grub_disk_addr_t.
26839 (grub_partition_get_len): Return grub_uint64_t.
26840
26841 * include/grub/misc.h (grub_strtoull): New prototype.
26842 (grub_divmod64): Likewise.
26843
26844 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
26845 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
26846 grub_off_t, respectively.
26847 All callers and references changed.
26848
26849 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
26850 grub_size_t in "read".
26851 All callers and references changed.
26852
26853 * include/grub/file.h (struct grub_file): Change the types of
26854 "offset" and "size" to grub_off_t and grub_off_t,
26855 respectively. Change the type of SECTOR to grub_disk_addr_t in
26856 "read_hook".
26857 (grub_file_read): Change the type of LEN to grub_size_t.
26858 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
26859 grub_off_t.
26860 (grub_file_size): Return grub_off_t.
26861 (grub_file_tell): Likewise.
26862 All callers and references changed.
26863
26864 * include/grub/disk.h (struct grub_disk_dev): Change the types of
26865 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
26866 "write".
26867 (struct grub_disk): Change the type of "total_sectors" to
26868 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
26869 "read_hook".
26870 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
26871 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
26872 (grub_disk_write): Likewise.
26873 All callers and references changed.
26874
26875 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
26876 char * for grub_strncmp to silence gcc.
26877 (grub_iso9660_mount): Likewise.
26878 (grub_iso9660_mount): Likewise.
26879 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
26880 return statement.
26881 (grub_iso9660_iterate_dir): Likewise.
26882 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
26883
26884 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
26885 LEN to grub_disk_addr_t and grub_size_t, respectively.
26886
26887 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26888
26889 * fs/jfs.c (grub_jfs_read_file): Likewise.
26890
26891 * fs/minix.c (grub_jfs_read_file): Likewise.
26892
26893 * fs/sfs.c (grub_jfs_read_file): Likewise.
26894
26895 * fs/ufs.c (grub_jfs_read_file): Likewise.
26896
26897 * fs/xfs.c (grub_jfs_read_file): Likewise.
26898
26899 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
26900 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
26901 respectively.
26902
26903 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
26904 BLKNR to -1 instead of returning GRUB_ERRNO.
26905 (grub_ext2_read_file): Change the types of SECTOR and
26906 LEN to grub_disk_addr_t and grub_size_t, respectively.
26907
26908 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
26909 LEN to grub_disk_addr_t and grub_size_t, respectively.
26910
26911 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
26912 grub_file_read.
26913
26914 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
26915 string. Do not cast SECTOR explicitly.
26916
26917 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
26918 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
26919 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
26920 grub_disk_addr_t and grub_size_t, respectively. If the sector is
26921 over 2TB and LBA mode is not supported, raise an error.
26922 (get_safe_sectors): New function.
26923 (grub_biosdisk_read): Use get_safe_sectors.
26924 (grub_biosdisk_write): Likewise.
26925
26926 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
26927 (grub_efidisk_write): Likewise.
26928
26929 * disk/loopback.c (delete_loopback): Cosmetic changes.
26930 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
26931 correctly.
26932 (grub_loopback_open): Likewise.
26933 (grub_loopback_read): Likewise. Also, change the type of POS to
26934 grub_off_t, and fix the usage of grub_memset.
26935
26936 * commands/i386/pc/play.c: Include grub/machine/time.h.
26937
26938 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
26939 print FILE->SIZE.
26940
26941 * commands/configfile.c: Include grub/env.h.
26942
26943 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
26944 GRUB_ERRNO directly instead. Change the type of POS to
26945 grub_off_t. Follow the coding standard.
26946
26947 * commands/blocklist.c: Include grub/partition.h.
26948 (grub_cmd_blocklist): Return an error if the underlying device is
26949 not a disk. Take the starting sector of a partition into account,
26950 if a partition is used.
26951
26952 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
26953 a length field.
26954 (lba_mode): Support 64-bit addresses.
26955 (chs_mode): Likewise.
26956 (copy_buffer): Adapted to the new offsets of a length field and a
26957 segment field.
26958 (blocklist_default_start): Allocate 64-bit space.
26959
26960 * boot/i386/pc/boot.S (force_lba): Removed.
26961 (boot_drive): Moved to under KERNEL_SECTOR.
26962 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
26963 space.
26964 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
26965 is useless.
26966 (lba_mode): Refactored to support a 64-bit address. More size
26967 optimization.
26968 (setup_sectors): Likewise.
26969
26970 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26971
26972 * DISTLIST: Added include/grub/i386/linux.h. Removed
26973 include/grub/i386/pc/linux.h
26974
26975 * configure.ac (AC_INIT): Bumped to 1.94.
26976
26977 * config.guess: Updated from gnulib.
26978 * config.sub: Likewise.
26979 * install-sh: Likewise.
26980 * mkinstalldirs: Likewise.
26981
26982 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26983
26984 * conf/common.rmk (grub_modules_init.lst): Depended on
26985 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
26986 MODSRCFILES.
26987
26988 * genmk.rb (PModule::rule): Reverted the previous change.
26989
26990 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26991
26992 * conf/common.rmk (grub_modules_init.lst): Depends on
26993 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
26994 that the target does not exist before producing.
26995 (grub_modules_init.h): Remove the target before generating.
26996 (grub_emu_init.c): Likewise.
26997
26998 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
26999
27000 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27001
27002 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27003 for the target-specific tests. Make sure that we also have the
27004 up-to-date target variables for those tests.
27005
27006 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27007
27008 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27009 (PModule::rule): Likewise.
27010
27011 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27012
27013 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27014 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27015 target-specific flags should be prefixed.
27016 (PModule::rule): Likewise.
27017
27018 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27019
27020 * configure.ac (CMP): Check if cmp is available explicitly.
27021
27022 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27023
27024 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27025 (target_cpu): New variable.
27026 (pkglibdir): Use target_cpu instead of host_cpu.
27027
27028 * util/i386/pc/grub-install.in (host_cpu): Removed.
27029 (target_cpu): New variable.
27030 (pkglibdir): Use target_cpu instead of host_cpu.
27031
27032 * util/genmoddep.c: Removed.
27033
27034 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27035 instead of GRUB_HOST_SIZEOF_VOID_P.
27036 * kern/dl.c: Likewise.
27037
27038 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27039 ...
27040 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27041 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27042 (GRUB_TARGET_SIZEOF_LONG): ... this.
27043 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27044 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27045 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27046 to ...
27047 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27048 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27049 (GRUB_TARGET_SIZEOF_LONG): ... this.
27050 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27051 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27052 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27053 to ...
27054 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27055 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27056 (GRUB_TARGET_SIZEOF_LONG): ... this.
27057 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27058 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27059
27060 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27061 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27062 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27063 instead of GRUB_HOST_SIZEOF_LONG.
27064 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27065 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27066 GRUB_CPU_WORDS_BIGENDIAN.
27067 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27068 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27069 grub_host_ssize_t.
27070
27071 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27072 (genmoddep_SOURCES): Likewise.
27073 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27074 (genmoddep_SOURCES): Likewise.
27075 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27076 (genmoddep_SOURCES): Likewise.
27077 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27078 Likewise.
27079 (genmoddep_SOURCES): Likewise.
27080
27081 * genmoddep.awk: New file.
27082
27083 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27084 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27085 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27086 (PModule::rule): Likewise.
27087 (Program::rule): Likewise.
27088 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27089 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27090 respectively.
27091
27092 * configure.ac: Rewritten intensively to use host and target
27093 instead of build and host, respectively.
27094
27095 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27096 (host_cpu): Removed.
27097 (target_cpu): New variable.
27098 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27099 (BUILD_CC): Removed.
27100 (BUILD_CFLAGS): Likewise.
27101 (BUILD_CPPFLAGS): Likewise.
27102 (TARGET_CC): New variable.
27103 (TARGET_CFLAGS): Likewise.
27104 (TARGET_CPPFLAGS): Likewise.
27105 (TARGET_LDFLAGS): Likewise.
27106 (AWK): Likewise.
27107 (include): Use target_cpu instead of host_cpu.
27108 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
27109
27110 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27111
27112 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27113
27114 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27115 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27116 field 'false' to 'exec_on_false'.
27117 (grub_script_create_cmdif): Renamed argument names to reflect above
27118 changes.
27119
27120 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27121
27122 * normal/script.c (grub_script_create_cmdif): Likewise.
27123
27124 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27125
27126 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27127 top.
27128 (grub_hfsplus_btree_recptr): Likewise.
27129 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27130 FILEBLOCK both to pass a block number and store next block
27131 number.
27132 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27133 overflow file correctly. Specify errors appropriately, because
27134 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27135 grub_hfsplus_btree_recptr to get the pointer to a found key.
27136 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27137 is found.
27138
27139 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27140 linux.mod.
27141 (_linux_mod_SOURCES): New variable.
27142 (_linux_mod_CFLAGS): Likewise.
27143 (_linux_mod_LDFLAGS): Likewise.
27144 (linux_mod_SOURCES): Likewise.
27145 (linux_mod_CFLAGS): Likewise.
27146 (linux_mod_LDFLAGS): Likewise.
27147
27148 * DISTLIST: Added loader/i386/efi/linux.c,
27149 loader/i386/efi/linux_normal.c and
27150 include/grub/i386/efi/loader.h.
27151
27152 * loader/i386/efi/linux.c: New file.
27153 * loader/i386/efi/linux_normal.c: Likewise.
27154 * include/grub/i386/efi/loader.h: Likewise.
27155
27156 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27157
27158 * commands/blocklist.c: New file.
27159
27160 * DISTLIST: Added commands/blocklist.c.
27161
27162 * term/efi/console.c (grub_console_highlight_color): Use a lighter
27163 color for the background, and a darker color for the foreground.
27164 (grub_console_checkkey): Return READ_KEY.
27165 (grub_console_cls): Set the background to
27166 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27167
27168 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27169
27170 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27171 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27172
27173 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27174 prototype.
27175
27176 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27177 BG. The spec is wrong again.
27178
27179 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27180 prototype.
27181 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27182
27183 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27184 commands/blocklist.c.
27185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27186
27187 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27188 (blocklist_mod_SOURCES): New variable.
27189 (blocklist_mod_CFLAGS): Likewise.
27190 (blocklist_mod_LDFLAGS): Likewise.
27191
27192 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27193
27194 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27195 duplication.
27196 (lba_mode): Use %eax more intensively to reduce the code size.
27197
27198 2006-05-20 Marco Gerards <marco@gnu.org>
27199
27200 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27201
27202 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27203 for `menuentry'.
27204 (script): Accept leading newlines.
27205 (newlines): New rule to describe 0 or more newlines.
27206 (commands): Accept `command' with trailing newline. Fixed the
27207 order in which arguments were passed to `grub_script_add_cmd'.
27208 Accept commands separated by newlines.
27209 (function): Changed to accept newlines.
27210 (menuentry) Rewritten.
27211
27212 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27213 front of the list, instead of to the end.
27214
27215 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27216
27217 * util/i386/pc/grub-install.in (bindir): New variable.
27218 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27219 Shaver <lbgwjl@gmail.com>.
27220
27221 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27222
27223 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27224 grub/machine/linux.h
27225 * loader/i386/pc/linux.c: Likewise.
27226
27227 * include/grub/i386/pc/linux.h: Moved to ...
27228 * include/grub/i386/linux.h: ... here.
27229
27230 * include/grub/i386/linux.h (struct linux_kernel_params): New
27231 struct.
27232
27233 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27234
27235 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27236 checking.
27237 (grub_video_vbe_blit_glyph): Likewise.
27238 (grub_video_vbe_blit_bitmap): Likewise.
27239 (grub_video_vbe_blit_render_target): Likewise.
27240
27241 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27242
27243 * configure.ac (--with-platform): Properly quote the square
27244 brackets.
27245
27246 2006-05-08 Marco Gerards <marco@gnu.org>
27247
27248 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27249 this...
27250 (kernel_elf_HEADERS): ...to this. Updated all users.
27251 (grubof_symlist.c): Renamed from this...
27252 (kernel_elf_symlist.c): ...to this. Updated all users.
27253 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27254 (grubof_SOURCES): Renamed from this...
27255 (kernel_elf_SOURCES): ...to this.
27256 (grubof_HEADERS): Renamed from this...
27257 (kernel_elf_HEADERS): ...to this.
27258 (grubof_CFLAGS): Renamed from this...
27259 (kernel_elf_CFLAGS): ...to this.
27260 (grubof_ASFLAGS): Renamed from this...
27261 (kernel_elf_ASFLAGS): ...to this.
27262 (grubof_LDFLAGS): Renamed from this...
27263 (kernel_elf_LDFLAGS): ...to this.
27264
27265 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27266 this...
27267 (kernel_elf_HEADERS): ...to this. Updated all users.
27268 (grubof_symlist.c): Renamed from this...
27269 (kernel_elf_symlist.c): ...to this. Updated all users.
27270 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27271 (grubof_SOURCES): Renamed from this...
27272 (kernel_elf_SOURCES): ...to this.
27273 (grubof_HEADERS): Renamed from this...
27274 (kernel_elf_HEADERS): ...to this.
27275 (grubof_CFLAGS): Renamed from this...
27276 (kernel_elf_CFLAGS): ...to this.
27277 (grubof_ASFLAGS): Renamed from this...
27278 (kernel_elf_ASFLAGS): ...to this.
27279 (grubof_LDFLAGS): Renamed from this...
27280 (kernel_elf_LDFLAGS): ...to this.
27281
27282 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27283 `kernel.elf' instead of `grubof'.
27284
27285 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27286
27287 Add --with-platform to configure. Use pkglibdir instead of
27288 pkgdatadir. This is reported by Roger Leigh.
27289
27290 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27291 (host_vendor): Likewise.
27292 (host_os): Likewise.
27293 (pkgdatadir): Likewise.
27294 (platform): New variable.
27295 (pkglibdir): Likewise.
27296 Use PKGLIBDIR instead of PKGDATADIR.
27297
27298 * util/i386/pc/grub-install.in (datadir): Removed.
27299 (host_vendor): Likewise.
27300 (host_os): Likewise.
27301 (pkgdatadir): Likewise.
27302 (platform): New variable.
27303 (pkglibdir): Likewise.
27304 Use PKGLIBDIR instead of PKGDATADIR.
27305
27306 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27307 instead of GRUB_DATADIR.
27308 (main): Likewise.
27309 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27310 (main): Likewise.
27311 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27312 (main): Likewise.
27313
27314 * configure.ac (--with-platform): New option.
27315 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27316
27317 * Makefile.in: Include a makefile based on PLATFORM instead of
27318 HOST_VENDOR.
27319 (pkgdatadir): Not appended by the machine type.
27320 (pkglibdir): Appended by the machine type.
27321 (host_vendor): Removed.
27322 (platform): New variable.
27323 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27324 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27325 (uninstall): Likewise.
27326
27327 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27328
27329 Use the environment context in the menu. Remove the commands
27330 "default" and "timeout", and use variables instead.
27331
27332 * normal/menu.c: Include grub/env.h.
27333 (print_entry): Cast TITLE to silence gcc.
27334 (get_timeout): New function.
27335 (set_timeout): Likewise.
27336 (get_entry_number): Likewise.
27337 (run_menu): Use a default entry, a fallback entry and a timeout
27338 in the environment variables "default", "fallback" and
27339 "timeout". Also, tweak the default entry if it is not within the
27340 current menu entries.
27341 (grub_menu_run): Use a fallback entry in the environment variable
27342 "fallback".
27343
27344 * normal/main.c (read_config_file): Do not initialize
27345 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27346 NEWMENU->TIMEOUT.
27347 (grub_normal_execute): Use a data slot to store the menu.
27348
27349 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27350 fallback_entry and timeout.
27351 (struct grub_menu_list): Removed.
27352 (grub_menu_list_t): Likewise.
27353 (struct grub_context): Likewise.
27354 (grub_context_t): Likewise.
27355 (grub_context_get): Likewise.
27356 (grub_context_get_current_menu): Likewise.
27357 (grub_context_push_menu): Likewise.
27358 (grub_context_pop_menu): Likewise.
27359 (grub_default_init): Likewise.
27360 (grub_default_fini): Likewise.
27361 (grub_timeout_init): Likewise.
27362 (grub_timeout_fini): Likewise.
27363
27364 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27365 and timeout.mod.
27366 (normal_mod_SOURCES): Removed normal/context.c.
27367
27368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27369 commands/default.c, commands/timeout.c and normal/context.c.
27370 (normal_mod_SOURCES): Removed normal/context.c.
27371
27372 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27373 commands/timeout.c and normal/context.c.
27374 (normal_mod_SOURCES): Removed normal/context.c.
27375
27376 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27377 commands/default.c, commands/timeout.c and normal/context.c.
27378 (normal_mod_SOURCES): Removed normal/context.c.
27379
27380 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27381 timeout.mod.
27382 (default_mod_SOURCES): Removed.
27383 (default_mod_CFLAGS): Likewise.
27384 (default_mod_LDFLAGS): Likewise.
27385 (timeout_mod_SOURCES): Removed.
27386 (timeout_mod_CFLAGS): Likewise.
27387 (timeout_mod_LDFLAGS): Likewise.
27388
27389 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27390 normal/context.c.
27391
27392 * commands/default.c: Removed.
27393 * commands/timeout.c: Likewise.
27394 * normal/context.c: Likewise.
27395
27396 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27397
27398 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27399
27400 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27401
27402 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27403 "next" to "prev" for readability.
27404 (struct grub_env_sorted_var): New struct.
27405 (grub_env_context): Renamed to ...
27406 (initial_context): ... this.
27407 (grub_env_var_context): Renamed to ...
27408 (current_context): ... this.
27409 (grub_env_find): Look only at CURRENT_CONTEXT.
27410 (grub_env_context_open): Rewritten to copy exported variables from
27411 previous context.
27412 (grub_env_context_close): Rewritten according to the new
27413 scheme. Also, add an assertion to prevent the initial context from
27414 removed.
27415 (grub_env_insert): Removed the code for the sorted list.
27416 (grub_env_remove): Likewise.
27417 (grub_env_export): Simply mark the variable with
27418 GRUB_ENV_VAR_GLOBAL.
27419 (grub_env_set): A cosmetic change for naming consistency.
27420 (grub_env_get): Likewise.
27421 (grub_env_unset): Likewise.
27422 (grub_env_iterate): Rewritten to sort variables within this
27423 function.
27424 (grub_register_variable_hook): Fixed for naming consistency. Call
27425 grub_env_find again, only if NAME is not found at the first time.
27426 (mangle_data_slot_name): New function.
27427 (grub_env_set_data_slot): Likewise.
27428 (grub_env_get_data_slot): Likewise.
27429 (grub_env_unset_data_slot): Likewise.
27430
27431 * include/grub/env.h (grub_env_var_type): New enum.
27432 (GRUB_ENV_VAR_LOCAL): New constant.
27433 (GRUB_ENV_VAR_GLOBAL): Likewise.
27434 (GRUB_ENV_VAR_DATA): Likewise.
27435 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27436 "type".
27437 (grub_env_set): Replace VAR with NAME for consistency.
27438 (grub_register_variable_hook): Likewise.
27439 (grub_env_export): Specify the name of the argument.
27440 (grub_env_set_data_slot): New prototype.
27441 (grub_env_get_data_slot): Likewise.
27442 (grub_env_unset_data_slot): Likewise.
27443
27444 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27445
27446 Extend the loader so that GRUB can accept a loader which comes
27447 back to GRUB when a loaded image exits. Also, this change adds
27448 support for a chainloader on EFI.
27449
27450 * term/efi/console.c: Include grub/misc.h.
27451 (grub_console_checkkey): Display a scan code on the top for
27452 debugging. This will be removed once the EFI port gets stable.
27453 Correct the scan code mapping.
27454
27455 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27456 allocate memory from larger regions, in order to reduce the number
27457 of allocated regions. Otherwise, the MacOSX loader panics.
27458 (filter_memory_map): Avoid less than 1MB for compatibility with
27459 other loaders.
27460 (add_memory_regions): Allocate from the tail of a region, if
27461 possible, to avoid allocating a region near to 1MB, for the MacOSX
27462 loader.
27463
27464 * kern/efi/init.c (grub_efi_set_prefix): Specify
27465 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27466
27467 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27468 argument IMAGE_HANDLE and specify it to get a loaded image.
27469 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27470 grub_efi_get_loaded_image.
27471 (grub_efi_get_filename): Divide the length by the size of
27472 grub_efi_char16_t.
27473 (grub_efi_get_device_path): New function.
27474 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27475 the length by the size of grub_efi_char16_t for a file path device
27476 path node.
27477
27478 * kern/loader.c (grub_loader_noreturn): New variable.
27479 (grub_loader_set): Accept a new argument NORETURN. Set
27480 GRUB_LOADER_NORETURN to NORETURN.
27481 All callers changed.
27482 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27483 grub_machine_fini.
27484
27485 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27486 prototype.
27487 (grub_efi_get_loaded_image): Take an argument to specify an image
27488 handle.
27489
27490 * include/grub/loader.h (grub_loader_set): Added one more argument
27491 NORETURN.
27492
27493 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27494 instead of grub_efi_open_protocol.
27495 (grub_efidisk_get_device_name): Likewise.
27496 (grub_efidisk_close): Print a newline.
27497 (grub_efidisk_get_device_handle): Fixed to use
27498 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27499 GRUB_EFI_DEVICE_PATH_TYPE.
27500
27501 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27502 * kern/efi/efi.c (device_path_guid): ... here.
27503
27504 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27505 chain.mod.
27506 (kernel_mod_HEADERS): Added efi/disk.h.
27507 (_chain_mod_SOURCES): New variable.
27508 (_chain_mod_CFLAGS): Likewise.
27509 (_chain_mod_LDFLAGS): Likewise.
27510 (chain_mod_SOURCES): Likewise.
27511 (chain_mod_CFLAGS): Likewise.
27512 (chain_mod_LDFLAGS): Likewise.
27513
27514 * DISTLIST: Added include/grub/efi/chainloader.h,
27515 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27516
27517 * include/grub/efi/chainloader.h: New file.
27518 * loader/efi/chainloader.c: Likewise.
27519 * loader/efi/chainloader_normal.c: Likewise.
27520
27521 2006-04-30 Marco Gerards <marco@gnu.org>
27522
27523 * commands/configfile.c (grub_cmd_source): New function.
27524 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27525 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27526
27527 2006-04-30 Marco Gerards <marco@gnu.org>
27528
27529 * normal/execute.c (grub_script_execute_cmd): Change the return
27530 type to `grub_err_t'. Correctly return the error.
27531 (grub_script_execute_cmdline): In case a command line is not a
27532 command or a function, try to interpret it as an assignment.
27533
27534 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27535
27536 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27537 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27538 skip a node whose name is obviously invalid as UTF-16,
27539 i.e. contains a NUL character. Stop the iteration when the last
27540 directory entry is found. Instead of using the return value of
27541 grub_hfsplus_btree_iterate_node, store the value in RET and use
27542 it, because the iterator can be stopped by the last directory
27543 entry.
27544
27545 2006-04-30 Marco Gerards <marco@gnu.org>
27546
27547 * include/grub/env.h (grub_env_export): New prototype. Reported
27548 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27549
27550 2006-04-30 Marco Gerards <marco@gnu.org>
27551
27552 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27553 size of the extents in a catalog file record.
27554
27555 2006-04-29 Marco Gerards <marco@gnu.org>
27556
27557 * commands/configfile.c (grub_cmd_configfile): Execute the
27558 configfile within its own context.
27559
27560 * include/grub/env.h (grub_env_context_open): New prototype.
27561 (grub_env_context_close): Likewise.
27562
27563 * kern/env.c (grub_env): Removed.
27564 (grub_env_sorted): Likewise.
27565 (grub_env_context): New variable.
27566 (grub_env_var_context): Likewise.
27567 (grub_env_find): Search both the active context and the global
27568 context.
27569 (grub_env_context_open): New function.
27570 (grub_env_context_close): Likewise.
27571 (grub_env_insert): Likewise.
27572 (grub_env_remove): Likewise.
27573 (grub_env_export): Likewise.
27574 (grub_env_set): Changed to use helper functions to avoid code
27575 duplication.
27576 (grub_env_iterate): Rewritten so both the current context and the
27577 global context are being used.
27578
27579 * normal/command.c (export_command): New function.
27580 (grub_command_init): Register the `export' function.
27581
27582 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27583
27584 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27585 explicitly to suppress gcc's warnings.
27586 * fs/fat.c (grub_fat_find_dir): Likewise.
27587 (grub_fat_label): Likewise.
27588 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27589 (grub_xfs_mount): Likewise.
27590 (grub_xfs_label): Likewise.
27591 * fs/affs.c (grub_affs_mount): Likewise.
27592 (grub_affs_label): Likewise.
27593 (grub_affs_iterate_dir): Likewise.
27594 * fs/sfs.c (grub_sfs_mount): Likewise.
27595 (grub_sfs_iterate_dir): Likewise.
27596 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27597 * fs/hfs.c (grub_hfs_mount): Likewise.
27598 (grub_hfs_cmp_catkeys): Likewise.
27599 (grub_hfs_find_dir): Likewise.
27600 (grub_hfs_dir): Likewise.
27601 (grub_hfs_label): Likewise.
27602 * fs/jfs.c (grub_jfs_mount): Likewise.
27603 (grub_jfs_opendir): Likewise.
27604 (grub_jfs_getent): Likewise.
27605 (grub_jfs_lookup_symlink): Likewise.
27606 (grub_jfs_label): Likewise.
27607 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27608 (grub_hfsplus_iterate_dir): Likewise.
27609 (grub_hfsplus_btree_iterate_node): Made static.
27610
27611 * util/grub-emu.c (prefix): New variable.
27612 (grub_machine_set_prefix): New function.
27613 (main): Do not set the environment variable "prefix" here. Only
27614 set PREFIX, which is used later by grub_machine_set_prefix.
27615
27616 * include/grub/video.h: Do not include grub/symbol.h.
27617 (grub_video_register): Not exported. This symbol is not defined in
27618 the kernel.
27619 (grub_video_unregister): Likewise.
27620 (grub_video_iterate): Likewise.
27621 (grub_video_setup): Likewise.
27622 (grub_video_restore): Likewise.
27623 (grub_video_get_info): Likewise.
27624 (grub_video_get_blit_format): Likewise.
27625 (grub_video_set_palette): Likewise.
27626 (grub_video_get_palette): Likewise.
27627 (grub_video_set_viewport): Likewise.
27628 (grub_video_get_viewport): Likewise.
27629 (grub_video_map_color): Likewise.
27630 (grub_video_map_rgb): Likewise.
27631 (grub_video_map_rgba): Likewise.
27632 (grub_video_fill_rect): Likewise.
27633 (grub_video_blit_glyph): Likewise.
27634 (grub_video_blit_bitmap): Likewise.
27635 (grub_video_blit_render_target): Likewise.
27636 (grub_video_scroll): Likewise.
27637 (grub_video_swap_buffers): Likewise.
27638 (grub_video_create_render_target): Likewise.
27639 (grub_video_delete_render_target): Likewise.
27640 (grub_video_set_active_render_target): Likewise.
27641
27642 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27643 Undefined.
27644 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27645
27646 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27647 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27648 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27649 instead of $(srcdir)/genkernsyms.sh.
27650
27651 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27652 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27653 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27654 instead of $(srcdir)/genkernsyms.sh.
27655
27656 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27657 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27658 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27659 instead of $(srcdir)/genkernsyms.sh.
27660
27661 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27662 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27663 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27664 instead of $(srcdir)/genkernsyms.sh.
27665
27666 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27667 genkernsyms.sh.
27668
27669 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27670 genkernsyms.sh.
27671 (gensymlist.sh): New target.
27672 (genkernsyms.sh): Likewise.
27673
27674 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27675 genkernsyms.sh.in and gensymlist.sh.in.
27676
27677 * genkernsyms.sh: Removed.
27678 * gensymlist.sh: Likewise.
27679
27680 * genkernsyms.sh.in: New file.
27681 * gensymlist.sh.in: Likewise.
27682
27683 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27684
27685 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27686 clobber "prefix", since we may have already set it manually.
27687
27688 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27689
27690 * kern/misc.c (abort): New alias for grub_abort.
27691
27692 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27693
27694 A new machine-specific function "grub_machine_set_prefix" is
27695 defined. This is called after loading modules, so that a prefix
27696 initialization can use modules. Also, this change adds an
27697 intensive debugging feature for the memory manager via the
27698 configure option "--enable-mm-debug".
27699
27700 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27701 PART.LEN.
27702
27703 * kern/sparc64/ieee1275/init.c (abort): Removed.
27704 (grub_stop): Likewise.
27705 (grub_exit): New function.
27706 (grub_set_prefix): Renamed to ...
27707 (grub_machine_set_prefix): ... this.
27708 (grub_machine_init): Do not call grub_set_prefix.
27709
27710 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27711 (grub_machine_set_prefix): ... this.
27712 (grub_machine_init): Do not call grub_set_prefix.
27713
27714 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27715 (grub_machine_init): Do not set the prefix here.
27716
27717 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27718
27719 * kern/efi/init.c: Include grub/mm.h.
27720 (grub_efi_set_prefix): New function.
27721
27722 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27723 (grub_efi_get_filename): New function.
27724 (grub_print_device_path): Renamed to ...
27725 (grub_efi_print_device_path): ... this.
27726
27727 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27728 [MM_DEBUG] (grub_realloc): Likewise.
27729 [MM_DEBUG] (grub_free): Likewise.
27730 [MM_DEBUG] (grub_memalign): Likewise.
27731 [MM_DEBUG] (grub_mm_debug): New variable.
27732 [MM_DEBUG] (grub_debug_malloc): New function.
27733 [MM_DEBUG] (grub_debug_free): New function.
27734 [MM_DEBUG] (grub_debug_realloc): New function.
27735 [MM_DEBUG] (grub_debug_memalign): New function.
27736
27737 * kern/misc.c (grub_abort): Print a newline to distinguish
27738 the message.
27739
27740 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27741 grub_set_root_dev after loading modules. This is necessary when
27742 setting a prefix depends on modules.
27743
27744 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27745 (grub_efi_print_device_path): ... this.
27746 (grub_efi_get_filename): New prototype.
27747 (grub_efi_set_prefix): Likewise.
27748
27749 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27750 and grub/disk.h.
27751 (grub_efidisk_get_device_handle): New prototype.
27752 (grub_efidisk_get_device_name): Likewise.
27753
27754 * include/grub/mm.h: Include config.h.
27755 (MM_DEBUG): Removed.
27756 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27757 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27758 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27759 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27760 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27761 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27762 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27763 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27764 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27765
27766 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27767
27768 * disk/efi/efidisk.c: Include grub/partition.h.
27769 (iterate_child_devices): New function.
27770 (add_device): First, compare only last device path nodes, so that
27771 devices are sorted by the types.
27772 (grub_efidisk_get_device_handle): New function.
27773 (grub_efidisk_get_device_name): Likewise.
27774
27775 * configure.ac (--enable-mm-debug): New option to enable the
27776 memory manager debugging feature. This makes the binary much
27777 bigger, so is disabled by default.
27778
27779 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27780
27781 Use grub_abort instead of grub_stop, and grub_exit must be
27782 define in each architecture now. Also, this change adds support
27783 for EFI disks.
27784
27785 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27786 (grub_getkey): New function.
27787 (grub_term_get_current): Likewise.
27788
27789 * util/i386/pc/grub-setup.c: Include grub/term.h.
27790 (grub_getkey): New function.
27791 (grub_term_get_current): Likewise.
27792
27793 * util/misc.c (grub_stop): Renamed to ...
27794 (grub_exit): ... this.
27795
27796 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
27797 (grub_exit): ... this.
27798 (grub_machine_init): Use grub_abort instead of abort.
27799 (grub_stop): Removed.
27800
27801 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
27802 abort.
27803
27804 * kern/i386/pc/startup.S (grub_exit): New function.
27805 (cold_reboot): New label.
27806
27807 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
27808 (grub_efi_init): Call grub_efidisk_init.
27809 (grub_efi_fini): Call grub_efidisk_fini.
27810
27811 * kern/efi/efi.c: Include grub/mm.h.
27812 (grub_efi_console_control_guid): Renamed to ...
27813 (console_control_guid): ... this.
27814 (grub_efi_loaded_image_guid): Renamed to ...
27815 (loaded_image_guid): ... this.
27816 (grub_efi_locate_handle): New function.
27817 (grub_efi_open_protocol): Likewise.
27818 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
27819 GRUB_EFI_CONSOLE_CONTROL_GUID.
27820 (grub_efi_exit): Removed.
27821 (grub_stop): Likewise.
27822 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
27823 (grub_exit): New function.
27824 (grub_print_device_path): Likewise.
27825
27826 * kern/rescue.c (grub_rescue_cmd_exit): New function.
27827 (grub_enter_rescue_mode): Register "exit".
27828
27829 * kern/misc.c (grub_real_dprintf): A cosmetic change.
27830 (grub_abort): New function.
27831
27832 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
27833
27834 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
27835
27836 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
27837
27838 * include/grub/efi/efi.h (grub_efi_exit): Removed.
27839 (grub_print_device_path): New prototype.
27840 (grub_efi_locate_handle): Likewise.
27841 (grub_efi_open_protocol): Likewise.
27842
27843 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
27844 * disk/efi/efidisk.c: Likewise.
27845
27846 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
27847
27848 * include/grub/efi/console_control.h
27849 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
27850
27851 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
27852 last 8 bytes as an array.
27853 (GRUB_EFI_DISK_IO_GUID): New macro.
27854 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
27855 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
27856 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
27857 grub_uint8_t.
27858 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
27859 (struct grub_efi_device_path): Rename the member "sub_type" to
27860 "subtype".
27861 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
27862 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
27863 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
27864 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
27865 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
27866 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
27867 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
27868 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
27869 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
27870 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
27871 (struct grub_efi_pci_device_path): New structure.
27872 (grub_efi_pci_device_path_t): New type.
27873 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
27874 (struct grub_efi_pccard_device_path): New structure.
27875 (grub_efi_pccard_device_path_t): New type.
27876 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
27877 (struct grub_efi_memory_mapped_device_path): New structure.
27878 (grub_efi_memory_mapped_device_path_t): New type.
27879 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
27880 (struct grub_efi_vendor_device_path): New structure.
27881 (grub_efi_vendor_device_path_t): New type.
27882 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
27883 (struct grub_efi_controller_device_path): New structure.
27884 (grub_efi_controller_device_path_t): New type.
27885 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
27886 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
27887 (struct grub_efi_acpi_device_path): New structure.
27888 (grub_efi_acpi_device_path_t): New type.
27889 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
27890 (struct grub_efi_expanded_acpi_device_path): New structure.
27891 (grub_efi_expanded_acpi_device_path_t): New type.
27892 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
27893 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
27894 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
27895 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
27896 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
27897 (struct grub_efi_atapi_device_path): New structure.
27898 (grub_efi_atapi_device_path_t): New type.
27899 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
27900 (struct grub_efi_fibre_channel_device_path): New structure.
27901 (grub_efi_fibre_channel_device_path_t): New type.
27902 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
27903 (struct grub_efi_1394_device_path): New structure.
27904 (grub_efi_1394_device_path_t): New type.
27905 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
27906 (struct grub_efi_usb_device_path): New structure.
27907 (grub_efi_usb_device_path_t): New type.
27908 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
27909 (struct grub_efi_usb_class_device_path): New structure.
27910 (grub_efi_usb_class_device_path_t): New type.
27911 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
27912 (struct grub_efi_i2o_device_path): New structure.
27913 (grub_efi_i2o_device_path_t): New type.
27914 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
27915 (struct grub_efi_mac_address_device_path): New structure.
27916 (grub_efi_mac_address_device_path_t): New type.
27917 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
27918 (struct grub_efi_ipv4_device_path): New structure.
27919 (grub_efi_ipv4_device_path_t): New type.
27920 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
27921 (struct grub_efi_ipv6_device_path): New structure.
27922 (grub_efi_ipv6_device_path_t): New type.
27923 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
27924 (struct grub_efi_infiniband_device_path): New structure.
27925 (grub_efi_infiniband_device_path_t): New type.
27926 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
27927 (struct grub_efi_uart_device_path): New structure.
27928 (grub_efi_uart_device_path_t): New type.
27929 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
27930 (struct grub_efi_vendor_messaging_device_path): New structure.
27931 (grub_efi_vendor_messaging_device_path_t): New type.
27932 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
27933 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
27934 (struct grub_efi_hard_drive_device_path): New structure.
27935 (grub_efi_hard_drive_device_path_t): New type.
27936 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
27937 (struct grub_efi_cdrom_device_path): New structure.
27938 (grub_efi_cdrom_device_path_t): New type.
27939 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
27940 (struct grub_efi_vendor_media_device_path): New structure.
27941 (grub_efi_vendor_media_device_path_t): New type.
27942 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
27943 (struct grub_efi_file_path_device_path): New structure.
27944 (grub_efi_file_path_device_path_t): New type.
27945 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
27946 (struct grub_efi_protocol_device_path): New structure.
27947 (grub_efi_protocol_device_path_t): New type.
27948 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
27949 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
27950 (struct grub_efi_bios_device_path): New structure.
27951 (grub_efi_bios_device_path_t): New type.
27952 (struct grub_efi_disk_io): New structure.
27953 (grub_efi_disk_io_t): New type.
27954 (struct grub_efi_block_io_media): New structure.
27955 (grub_efi_block_io_media_t): New type.
27956 (struct grub_efi_block_io): New structure.
27957 (grub_efi_block_io_t): New type.
27958
27959 * include/grub/misc.h (grub_stop): Removed.
27960 (grub_exit): New prototype.
27961 (grub_abort): Likewise.
27962
27963 * include/grub/disk.h (enum grub_disk_dev_id): Added
27964 GRUB_DISK_DEVICE_EFIDISK_ID.
27965
27966 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
27967 disk/efi/efidisk.c.
27968 (kernel_syms.lst): Remove the target if an error occurs.
27969
27970 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
27971
27972 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
27973 as it was simply too buggy.
27974
27975 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
27976
27977 * kern/misc.c (grub_lltoa): New function.
27978 (grub_vsprintf): Added support for the long long suffix,
27979 i.e. "ll".
27980
27981 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
27982
27983 * Makefile.in (LDFLAGS): Add variable.
27984 (LD): Remove variable.
27985 * configure.ac: Add -m32 to LDFLAGS.
27986 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
27987 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
27988 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
27989 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
27990 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
27991 variables.
27992 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
27993 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
27994 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
27995
27996 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
27997
27998 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
27999 length for unknown glyph.
28000
28001 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28002
28003 Add support for pre-loaded modules into the EFI port.
28004
28005 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28006 completely. Accept one more argument DIR. The caller has changed.
28007
28008 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28009
28010 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28011 (grub_efi_loaded_image_guid): New variable.
28012 (grub_efi_get_loaded_image): New function.
28013 (grub_arch_modules_addr): Likewise.
28014
28015 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28016 prototype.
28017
28018 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28019 (struct grub_efi_loaded_image): New structure.
28020 (grub_efi_loaded_image_t): New type.
28021
28022 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28023
28024 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28025 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28026 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28027
28028 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28029
28030 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28031
28032 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28033
28034 * DISTLIST: Added include/grub/efi/console.h,
28035 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28036 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28037
28038 * include/grub/efi/console.h: New file.
28039 * include/grub/efi/time.h: Likewise.
28040 * include/grub/i386/efi/kernel.h: Likewise.
28041 * kern/efi/init.c: Likewise.
28042 * kern/efi/mm.c: Likewise.
28043 * term/efi/console.c: Likewise.
28044
28045 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28046 (grub_stop): Removed.
28047 (grub_get_rtc): Likewise.
28048 (grub_machine_init): Simply call grub_efi_init.
28049 (grub_machine_fini): Call grub_efi_fini.
28050
28051 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28052 (grub_efi_output_string): Removed.
28053 (grub_efi_stall): New function.
28054 (grub_stop): Likewise.
28055 (grub_get_rtc): Likewise.
28056
28057 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28058 (grub_efi_stall): New prototype.
28059 (grub_efi_allocate_pages): Likewise.
28060 (grub_efi_free_pages): Likewise.
28061 (grub_efi_get_memory_map): Likewise.
28062 (grub_efi_mm_init): Likewise.
28063 (grub_efi_mm_fini): Likewise.
28064 (grub_efi_init): Likewise.
28065 (grub_efi_fini): Likewise.
28066
28067 * include/grub/i386/efi/time.h: Do not include
28068 grub/symbol.h. Include grub/efi/time.h.
28069 (GRUB_TICKS_PER_SECOND): Removed.
28070 (grub_get_rtc): Likewise.
28071
28072 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28073 Added padding. The EFI spec is buggy.
28074 (GRUB_EFI_BLACK): New macro.
28075 (GRUB_EFI_BLUE): Likewise.
28076 (GRUB_EFI_GREEN): Likewise.
28077 (GRUB_EFI_CYAN): Likewise.
28078 (GRUB_EFI_RED): Likewise.
28079 (GRUB_EFI_MAGENTA): Likewise.
28080 (GRUB_EFI_BROWN): Likewise.
28081 (GRUB_EFI_LIGHTGRAY): Likewise.
28082 (GRUB_EFI_BRIGHT): Likewise.
28083 (GRUB_EFI_DARKGRAY): Likewise.
28084 (GRUB_EFI_LIGHTBLUE): Likewise.
28085 (GRUB_EFI_LIGHTGREEN): Likewise.
28086 (GRUB_EFI_LIGHTCYAN): Likewise.
28087 (GRUB_EFI_LIGHTRED): Likewise.
28088 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28089 (GRUB_EFI_YELLOW): Likewise.
28090 (GRUB_EFI_WHITE): Likewise.
28091 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28092 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28093 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28094 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28095 (GRUB_EFI_BACKGROUND_RED): Likewise.
28096 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28097 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28098 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28099 (GRUB_EFI_TEXT_ATTR): Likewise.
28100
28101 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28102 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28103 (kernel_mod_HEADERS): Added efi/time.h.
28104
28105 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28106
28107 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28108 include/grub/efi/api.h, include/grub/efi/console_control.h,
28109 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28110 include/grub/i386/efi/time.h, kern/efi/efi.c,
28111 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28112 and util/i386/efi/grub-mkimage.c.
28113
28114 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28115
28116 * genmk.rb (PModule#rule): Do not export symbols if
28117 #{prefix}_EXPORTS is set to "no".
28118
28119 * conf/i386-efi.mk: New file.
28120 * conf/i386-efi.rmk: Likewise.
28121 * include/grub/efi/api.h: Likewise.
28122 * include/grub/efi/console_control.h: Likewise.
28123 * include/grub/efi/efi.h: Likewise.
28124 * include/grub/efi/pe32.h: Likewise.
28125 * include/grub/i386/efi/time.h: Likewise.
28126 * kern/efi/efi.c: Likewise.
28127 * kern/i386/efi/init.c: Likewise.
28128 * kern/i386/efi/startup.S: Likewise.
28129 * util/i386/efi/grub-mkimage.c: Likewise.
28130
28131 2006-04-17 Marco Gerards <marco@gnu.org>
28132
28133 * include/grub/script.h: Include <grub/parser.h> and
28134 "grub_script.tab.h".
28135 (struct grub_lexer_param): New struct.
28136 (struct grub_parser_param): Likewise.
28137 (grub_script_create_arglist): Pass the state in an argument.
28138 (grub_script_add_arglist): Likewise.
28139 (grub_script_create_cmdline): Likewise.
28140 (grub_script_create_cmdblock): Likewise.
28141 (grub_script_create_cmdif): Likewise.
28142 (grub_script_create_cmdmenu): Likewise.
28143 (grub_script_add_cmd): Likewise.
28144 (grub_script_arg_add): Likewise.
28145 (grub_script_lexer_ref): Likewise.
28146 (grub_script_lexer_deref): Likewise.
28147 (grub_script_lexer_record_start): Likewise.
28148 (grub_script_lexer_record_stop): Likewise.
28149 (grub_script_mem_record): Likewise.
28150 (grub_script_mem_record_stop): Likewise.
28151 (grub_script_malloc): Likewise.
28152 (grub_script_yylex): Likewise.
28153 (grub_script_yyparse): Likewise.
28154 (grub_script_yyerror): Likewise.
28155 (grub_script_yylex): Likewise.
28156 (grub_script_lexer_init): Return the state.
28157
28158 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28159 (grub_script_lexer_done): Likewise.
28160 (grub_script_lexer_getline): Likewise.
28161 (grub_script_lexer_refs): Likewise.
28162 (script): Likewise.
28163 (newscript): Likewise.
28164 (record): Likewise.
28165 (recording): Likewise.
28166 (recordpos): Likewise.
28167 (recordlen): Likewise.
28168 (grub_script_lexer_init): Return the state instead of setting
28169 global variables.
28170 (grub_script_lexer_ref): Use the newly added argument for state
28171 instead of globals.
28172 (grub_script_lexer_deref): Likewise.
28173 (grub_script_lexer_record_start): Likewise.
28174 (grub_script_lexer_record_stop): Likewise.
28175 (recordchar): Likewise.
28176 (nextchar): Likewise.
28177 (grub_script_yylex2): Likewise.
28178 (grub_script_yylex): Likewise.
28179 (grub_script_yyerror): Likewise.
28180
28181 * normal/parser.y (func_mem): Removed variable.
28182 (menu_entry): Likewise.
28183 (err): Likewise.
28184 (%lex-param): New parser option.
28185 (%parse-param): Likewise.
28186 (script): Always return the AST.
28187 (argument): Pass the state around.
28188 (arguments): Likewise.
28189 (grubcmd): Likewise.
28190 (commands): Likewise.
28191 (function): Likewise.
28192 (menuentry): Likewise.
28193 (if_statement): Likewise.
28194 (if): Likewise.
28195
28196 * normal/script.c (grub_script_memused): Removed variable.
28197 (grub_script_parsed): Likewise.
28198 (grub_script_malloc): Added a state argument. Use that instead of
28199 global variables.
28200 (grub_script_mem_record): Likewise.
28201 (grub_script_mem_record_stop): Likewise.
28202 (grub_script_arg_add): Likewise.
28203 (grub_script_add_arglist): Likewise.
28204 (grub_script_create_cmdline): Likewise.
28205 (grub_script_create_cmdif): Likewise.
28206 (grub_script_create_cmdmenu): Likewise.
28207 (grub_script_add_cmd): Likewise.
28208 (grub_script_parse): Setup the state before calling the parser.
28209
28210 2006-04-16 Marco Gerards <marco@gnu.org>
28211
28212 * normal/command.c (grub_command_init): Remove the title command.
28213
28214 * normal/lexer.c (grub_script_yylex): Renamed from this...
28215 (grub_script_yylex2): ... to this.
28216 (grub_script_yylex): New function. Temporary
28217 introduced to filter some tokens.
28218 (grub_script_yyerror): Print a newline.
28219
28220 * normal/main.c (read_config_file): Output information about the
28221 lines that contain errors. Wait for a key after all lines have
28222 been processed. Don't return an empty menu.
28223
28224 * normal/parser.y (func_mem): Don't initialize.
28225 (menu_entry): Likewise.
28226 (err): New variable.
28227 (script): Don't return anything when an error was encountered.
28228 (ws, returns): Removed rules.
28229 (argument): Disabled concatenated variable support.
28230 (arguments): Remove explicit separators.
28231 (grubcmd): Likewise.
28232 (function): Likewise.
28233 (menuentry): Likewise.
28234 (if): Likewise.
28235 (commands): Likewise. Add error handling.
28236
28237 * normal/script.c (grub_script_create_cmdline): If
28238 `grub_script_parsed' is 0, assume the parser encountered an error.
28239
28240 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28241
28242 * configure.ac: Add support for EFI. Fix the typo
28243 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28244
28245 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28246
28247 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28248 foreign multibyte characters should be shown correctly.
28249
28250 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28251
28252 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28253 calculation.
28254 (read_config_file): Made it to close file before returning.
28255
28256 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28257
28258 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28259 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28260 video/i386/pc/vbefill.c.
28261
28262 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28263 video/i386/pc/vbefill.c.
28264
28265 * include/grub/video.h (grub_video_blit_format): New enum.
28266 (grub_video_mode_info): Added new member blit_format.
28267 (grub_video_get_blit_format): New function prototype.
28268
28269 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28270 function prototype.
28271 (grub_video_vbe_map_rgb): Likewise.
28272 (grub_video_vbe_unmap_color): Likewise.
28273
28274 * include/grub/i386/pc/vbeblit.h: New file.
28275
28276 * include/grub/i386/pc/vbefill.h: New file.
28277
28278 * video/video.c (grub_video_get_blit_format): New function.
28279 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28280 (grub_video_vbe_map_rgb): Likewise.
28281 (grub_video_vbe_unmap_color): Likewise.
28282
28283 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28284 optimized fills.
28285 (grub_video_vbe_blit_render_target): Changed to use more optimized
28286 blits.
28287 (grub_video_vbe_setup): Added detection for optimized settings.
28288 (grub_video_vbe_create_render_target): Likewise.
28289
28290 * video/i386/pc/vbeblit.c: New file.
28291
28292 * video/i386/pc/vbefill.c: New file.
28293
28294 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28295
28296 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28297 here...
28298
28299 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28300 parsing to support both hex and dec ranges. If filename was missing
28301 show usage information.
28302
28303 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28304
28305 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28306 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28307
28308 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28309 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28310 (video_mod_SOURCES): Added.
28311 (video_mod_CFLAGS): Likewise.
28312 (video_mod_LDFLAGS): Likewise.
28313 (gfxterm_mod_SOURCES): Likewise.
28314 (gfxterm_mod_CFLAGS): Likewise.
28315 (gfxterm_mod_LDFLAGS): Likewise.
28316 (videotest_mod_SOURCES): Likewise.
28317 (videotest_mod_CFLAGS): Likewise.
28318 (videotest_mod_LDFLAGS): Likewise.
28319 (vesafb_mod_SOURCES): Removed.
28320 (vesafb_mod_CFLAGS): Likewise.
28321 (vesafb_mod_LDFLAGS): Likewise.
28322 (vga_mod_SOURCES): Likewise.
28323 (vga_mod_CFLAGS): Likewise.
28324 (vga_mod_LDFLAGS): Likewise.
28325
28326 * commands/videotest.c: New file.
28327
28328 * font/manager.c (fill_with_default_glyph): Modified to use
28329 grub_font_glyph.
28330 (grub_font_get_glyph): Likewise.
28331 (fontmanager): Renamed from this...
28332 (font_manager): ... to this.
28333
28334 * include/grub/font.h (grub_font_glyph): Added new structure.
28335 (grub_font_get_glyph): Modified to use grub_font_glyph.
28336
28337 * include/grub/misc.h (grub_abs): Added as inline function.
28338
28339 * include/grub/video.h: New file.
28340
28341 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28342 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28343 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28344 (grub_vbe_get_controller_info): Renamed from this...
28345 (grub_vbe_bios_get_controller_info): ... to this.
28346 (grub_vbe_get_mode_info): Renamed from this...
28347 (grub_vbe_bios_get_mode_info): ... to this.
28348 (grub_vbe_set_mode): Renamed from this...
28349 (grub_vbe_bios_set_mode): ... to this.
28350 (grub_vbe_get_mode): Renamed from this...
28351 (grub_vbe_bios_get_mode): ... to this.
28352 (grub_vbe_set_memory_window): Renamed from this...
28353 (grub_vbe_bios_set_memory_window): ... to this.
28354 (grub_vbe_get_memory_window): Renamed from this...
28355 (grub_vbe_bios_get_memory_window): ... to this.
28356 (grub_vbe_set_scanline_length): Renamed from this...
28357 (grub_vbe_set_scanline_length): ... to this.
28358 (grub_vbe_get_scanline_length): Renamed from this...
28359 (grub_vbe_bios_get_scanline_length): ... to this.
28360 (grub_vbe_set_display_start): Renamed from this...
28361 (grub_vbe_bios_set_display_start): ... to this.
28362 (grub_vbe_get_display_start): Renamed from this...
28363 (grub_vbe_bios_get_display_start): ... to this.
28364 (grub_vbe_set_palette_data): Renamed from this...
28365 (grub_vbe_bios_set_palette_data): ... to this.
28366 (grub_vbe_set_pixel_rgb): Removed.
28367 (grub_vbe_set_pixel_index): Likewise.
28368
28369 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28370 from this...
28371 (grub_vbe_bios_get_controller_info): ... to this.
28372 (grub_vbe_get_mode_info): Renamed from this...
28373 (grub_vbe_bios_get_mode_info): ... to this.
28374 (grub_vbe_set_mode): Renamed from this...
28375 (grub_vbe_bios_set_mode): ... to this.
28376 (grub_vbe_get_mode): Renamed from this...
28377 (grub_vbe_bios_get_mode): ... to this.
28378 (grub_vbe_set_memory_window): Renamed from this...
28379 (grub_vbe_bios_set_memory_window): ... to this.
28380 (grub_vbe_get_memory_window): Renamed from this...
28381 (grub_vbe_bios_get_memory_window): ... to this.
28382 (grub_vbe_set_scanline_length): Renamed from this...
28383 (grub_vbe_set_scanline_length): ... to this.
28384 (grub_vbe_get_scanline_length): Renamed from this...
28385 (grub_vbe_bios_get_scanline_length): ... to this.
28386 (grub_vbe_set_display_start): Renamed from this...
28387 (grub_vbe_bios_set_display_start): ... to this.
28388 (grub_vbe_get_display_start): Renamed from this...
28389 (grub_vbe_bios_get_display_start): ... to this.
28390 (grub_vbe_set_palette_data): Renamed from this...
28391 (grub_vbe_bios_set_palette_data): ... to this.
28392 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28393 getting corrupted after calling it. Added more pushes and pops.
28394 (grub_vbe_bios_set_mode): Likewise.
28395 (grub_vbe_bios_get_mode): Likewise.
28396 (grub_vbe_bios_get_memory_window): Likewise.
28397 (grub_vbe_bios_set_scanline_length): Likewise.
28398 (grub_vbe_bios_get_scanline_length): Likewise.
28399 (grub_vbe_bios_get_display_start): Likewise.
28400 (grub_vbe_bios_set_palette_data): Likewise.
28401
28402 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28403 (cl_insert): Likewise.
28404 (cl_delete): Likewise.
28405
28406 * term/gfxterm.c: New file.
28407
28408 * term/i386/pc/vesafb.c: Removed file.
28409
28410 * video/video.c: New file.
28411
28412 * video/i386/pc/vbe.c (real2pm): Added new function.
28413 (grub_video_vbe_draw_pixel): Likewise.
28414 (grub_video_vbe_get_video_ptr): Likewise.
28415 (grub_video_vbe_get_pixel): Likewise
28416 (grub_video_vbe_init): Likewise.
28417 (grub_video_vbe_fini): Likewise.
28418 (grub_video_vbe_setup): Likewise.
28419 (grub_video_vbe_get_info): Likewise.
28420 (grub_video_vbe_set_palette): Likewise.
28421 (grub_video_vbe_get_palette): Likewise.
28422 (grub_video_vbe_set_viewport): Likewise.
28423 (grub_video_vbe_get_viewport): Likewise.
28424 (grub_video_vbe_map_color): Likewise.
28425 (grub_video_vbe_map_rgb): Likewise.
28426 (grub_video_vbe_map_rgba): Likewise.
28427 (grub_video_vbe_unmap_color): Likewise.
28428 (grub_video_vbe_fill_rect): Likewise.
28429 (grub_video_vbe_blit_glyph): Likewise.
28430 (grub_video_vbe_blit_bitmap): Likewise.
28431 (grub_video_vbe_blit_render_target): Likewise.
28432 (grub_video_vbe_scroll): Likewise.
28433 (grub_video_vbe_swap_buffers): Likewise.
28434 (grub_video_vbe_create_render_target): Likewise.
28435 (grub_video_vbe_delete_render_target): Likewise.
28436 (grub_video_vbe_set_active_render_target): Likewise.
28437 (grub_vbe_set_pixel_rgb): Remove function.
28438 (grub_vbe_set_pixel_index): Likewise.
28439 (index_color_mode): Remove static variable.
28440 (active_mode): Likewise.
28441 (framebuffer): Likewise.
28442 (bytes_per_scan_line): Likewise.
28443 (grub_video_vbe_adapter): Added new static variable.
28444 (framebuffer): Likewise.
28445 (render_target): Likewise.
28446 (initial_mode): Likewise.
28447 (mode_in_use): Likewise.
28448 (mode_list): Likewise.
28449
28450 2006-03-10 Marco Gerards <marco@gnu.org>
28451
28452 * configure.ac (AC_INIT): Bumped to 1.93.
28453
28454 * DISTLIST: Added `include/grub/hfs.h'.
28455
28456 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28457
28458 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28459 18H, which might help the BIOS falling back to next boot media.
28460
28461 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28462
28463 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28464 Poe Chen <poe.poechen@gmail.com>.
28465
28466 2006-01-17 Marco Gerards <marco@gnu.org>
28467
28468 * include/grub/normal.h: Include <grub/script.h>.
28469 (grub_command_list): Removed struct.
28470 (grub_command_list_t): Removed type.
28471 (grub_menu_entry): Remove members `num' and `command_list'. Add
28472 members `commands' and `sourcecode'.
28473 * include/grub/script.h: Add inclusion guards.
28474 (grub_script_cmd_menuentry): New struct.
28475 (grub_script_execute_menuentry): New prototype.
28476 (grub_script_lexer_record_start): Likewise.
28477 (grub_script_lexer_record_stop): Likewise.
28478 * normal/execute.c (grub_script_execute_menuentry): New function.
28479 * normal/lexer.c (record, recording, recordpos, recordlen): New
28480 variables.
28481 (grub_script_lexer_record_start): New function.
28482 (grub_script_lexer_record_stop): Likewise.
28483 (recordchar): Likewise.
28484 (nextchar): Likewise.
28485 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28486 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28487 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28488 (current_menu): New variable.
28489 (free_menu): Mainly rewritten.
28490 (grub_normal_menu_addentry): New function.
28491 (read_config_file): Rewritten.
28492 * normal/menu.c (run_menu_entry): Mainly rewritten.
28493 * normal/menu_entry.c (make_screen): Rewritten the code to insert
28494 the menu entry.
28495 (run): Mainly rewritten.
28496 * normal/parser.y (menu_entry): New variable.
28497 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28498 (menuentry): New rule.
28499 (command): Add `menuentry'.
28500 (if_statement): Allow additional returns before `fi'.
28501 * normal/script.c (grub_script_create_cmdmenu): New function.
28502
28503 2006-01-03 Marco Gerards <marco@gnu.org>
28504
28505 * INSTALL: GNU Bison is required.
28506 * configure.ac: Rewritten the test to detect Bison.
28507 * Makefile.in (YACC): New variable. Reported by Xun Sun
28508 <xun.sun.cn@gmail.com>.
28509
28510 2006-01-03 Marco Gerards <marco@gnu.org>
28511
28512 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28513 the HFS+ filesystem to filesystem blocks.
28514 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28515 GCC warning is silenced.
28516
28517 2006-01-03 Marco Gerards <marco@gnu.org>
28518
28519 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28520 read from disk from big endian to host byte order.
28521
28522 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28523
28524 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28525 documentation.
28526 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28527 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28528 embedded HFS+ filesystem.
28529 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28530 (grub_hfs_sblock): Move from here...
28531 * include/grub/hfs.h: To here... New file.
28532 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28533 documentation.
28534 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28535 New macros.
28536 (grub_hfsplus_volheader): Change type of member `magic' to
28537 `grub_uint16_t'.
28538 (grub_hfsplus_data): Add new member `embedded_offset'.
28539 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28540 returned block.
28541 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28542 Calculate the offset.
28543
28544 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28545
28546 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28547 Removed.
28548 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28549
28550 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28551
28552 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28553 ENV->NAME is NULL after allocating ENV->VALUE.
28554
28555 2005-12-25 Marco Gerards <marco@gnu.org>
28556
28557 * kern/env.c (grub_env_set): Rewritten the error handling code.
28558
28559 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28560
28561 * geninit.sh: Made more robust, and more portable.
28562
28563 2005-12-25 Marco Gerards <marco@gnu.org>
28564
28565 Add support for Apple HFS+ filesystems.
28566
28567 * fs/hfsplus.c: New file.
28568
28569 * DISTLIST: Added `fs/hfsplus.c'.
28570
28571 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28572 (hfsplus_mod_SOURCES): New variable.
28573 (hfsplus_mod_CFLAGS): Likewise.
28574 (hfsplus_mod_LDFLAGS): Likewise.
28575 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28576 (grub_setup_SOURCES): Likewise.
28577 (grub_mkdevicemap_SOURCES): Likewise.
28578 (grub_emu_SOURCES): Likewise.
28579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28580
28581 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28582
28583 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28584
28585 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28586
28587 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28588 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28589 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28590 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28591 normal/lexer.c, normal/parser.y, normal/script.c, and
28592 partmap/gpt.c.
28593 Removed kern/sparc64/cache.c.
28594
28595 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28596 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28597 grub_emu_init.c.
28598
28599 * configure.ac (AC_INIT): Bumped to 1.92.
28600
28601 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28602
28603 * kern/err.c (grub_error_push): Added new function to support error
28604 stacks.
28605 (grub_error_pop): Likewise.
28606 (grub_error_stack_items): New local variable to support error stacks.
28607 (grub_error_stack_pos): Likewise.
28608 (grub_error_stack_assert): Likewise.
28609 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28610 stack depth.
28611 (grub_print_error): Added support to print errors from error stack.
28612
28613 * include/grub/err.h (grub_error_push): Added function prototype.
28614 (grub_error_pop): Likewise.
28615
28616 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28617
28618 * configure.ac: Accept `powerpc64' as host_cpu.
28619 (amd64): Rename to `biarch32'.
28620
28621 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28622 non-cacheline-aligned addresses.
28623
28624 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28625 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28626 if `size' is non-zero.
28627
28628 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
28629
28630 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28631 and `cd' to make sure the filename is not prefixed with a
28632 directory name.
28633 (pkgdata_MODULES): Add `gpt.mod'.
28634 (gpt_mod_SOURCES): New variable.
28635 (gpt_mod_CFLAGS): Likewise.
28636 (gpt_mod_LDFLAGS): Likewise.
28637
28638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28639
28640 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28641 New macro.
28642
28643 * partmap/gpt.c: New file.
28644
28645 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28646 GPT partition map is detected.
28647
28648 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28649
28650 * commands/i386/pc/play.c: New file.
28651 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28652 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28653 macros.
28654
28655 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
28656
28657 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28658 ((unused))' to silence gcc warning.
28659
28660 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28661
28662 * configure.ac: Correct `AC_PROG_YACC' test.
28663
28664 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28665
28666 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28667 check before installing files.
28668
28669 2005-11-22 Mike Small <smallm@panix.com>
28670
28671 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28672 number regex so multidigit numbers are recognized correctly.
28673
28674 2005-11-22 Mike Small <smallm@panix.com>
28675
28676 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28677 debugging message before attempting to claim memory.
28678 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28679 multiple addresses in case of failure.
28680
28681 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28682
28683 * term/tparm.c (get_space): Remove empty `if' statement.
28684
28685 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28686
28687 * kern/parser.c (check_varstate): Rename `state' to 's'.
28688
28689 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28690
28691 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28692 variable definitions to the beginning of each function. Sort stack
28693 variables by size.
28694 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28695 `buf' argument to `char *'.
28696
28697 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28698
28699 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28700 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
28701 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
28702 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28703 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28704 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28705 configfile.mod, search.mod, gzio.mod and test.mod.
28706 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28707 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28708 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28709 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28710 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28711 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28712 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28713 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28714 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28715 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28716 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28717 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28718 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28719 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28720 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28721 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28722 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28723 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28724 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28725 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28726 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28727 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28728 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28729
28730 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28731 `grep --include'.
28732 (pkgdata_MODULES): Add test.mod.
28733
28734 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28735
28736 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28737 appending to variables with "+=".
28738 (PModule): Use full pathname to generate *.lst filenames.
28739
28740 * Makefile.in: Fixed list rules moved from genmk.rb.
28741 (.DELETE_ON_ERROR): New special target.
28742 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28743
28744 * conf/i386-pc.rmk: Include conf/common.mk.
28745 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
28746 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
28747 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28748 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28749 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28750 configfile.mod, search.mod, gzio.mod and test.mod.
28751 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28752 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28753 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28754 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28755 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28756 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28757 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28758 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28759 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28760 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28761 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28762 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28763 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28764 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28765 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28766 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28767 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28768 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28769 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28770 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28771 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28772 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28773 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28774 here...
28775 * conf/common.rmk: ... to here. New file.
28776
28777 * conf/common.mk: New file.
28778
28779 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28780
28781 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28782 (grub_script.tab.c): ... here.
28783
28784 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28785 (grub_script.tab.c): ... here.
28786
28787 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
28788 (grub_script.tab.c): ... here.
28789
28790 * normal/command.c (grub_command_find): Fixed a memory leak of
28791 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
28792
28793 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28794
28795 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
28796 "@" which marks the start of a comment on ARM.
28797 (VARIABLE): Likewise.
28798
28799 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28800
28801 Add support for Linux/ADFS partition tables.
28802
28803 * partmap/acorn.c: New file.
28804
28805 * include/grub/acorn_filecore.h: Likewise.
28806
28807 * DISTLIST: Added `partmap/acorn.c' and
28808 `include/grub/acorn_filecore.h'.
28809
28810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28811 `partmap/acorn.c'.
28812 (pkgdata_MODULES): Add `acorn.mod'.
28813 (acorn_mod_SOURCES): New variable.
28814 (acorn_mod_CFLAGS): Likewise.
28815
28816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28817 `partmap/acorn.c'.
28818 (pkgdata_MODULES): Add `acorn.mod'.
28819 (acorn_mod_SOURCES): New variable.
28820 (acorn_mod_CFLAGS): Likewise.
28821
28822 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
28823 (pkgdata_MODULES): Add `acorn.mod'.
28824 (acorn_mod_SOURCES): New variable.
28825 (acorn_mod_CFLAGS): Likewise.
28826 (acorn_mod_LDFLAGS): Likewise.
28827
28828 * include/types.h (grub_disk_addr_t): New typedef.
28829
28830 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
28831
28832 * geninit.sh: New file.
28833
28834 * geninitheader.sh: Likewise.
28835
28836 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
28837 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
28838 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
28839 * commands/configfile.c (grub_configfile_init)
28840 (grub_configfile_fini): Likewise.
28841 * commands/default.c (grub_default_init, grub_default_fini):
28842 Likewise.
28843 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
28844 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
28845 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
28846 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
28847 Likewise.
28848 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
28849 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
28850 Likewise.
28851 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
28852 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
28853 Likewise.
28854 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
28855 Likewise.
28856 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
28857 Likewise.
28858 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
28859 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
28860 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
28861 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
28862 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
28863 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
28864 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
28865 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
28866 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
28867 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
28868 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
28869 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
28870 * partmap/amiga.c (grub_amiga_partition_map_init)
28871 (grub_amiga_partition_map_fini): Likewise.
28872 * partmap/apple.c (grub_apple_partition_map_init)
28873 (grub_apple_partition_map_fini): Likewise.
28874 * partmap/pc.c (grub_pc_partition_map_init)
28875 (grub_pc_partition_map_fini): Likewise.
28876 * partmap/sun.c (grub_sun_partition_map_init,
28877 grub_sun_partition_map_fini): Likewise.
28878 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
28879 Likewise.
28880
28881 * util/grub-emu.c: Include <grub_modules_init.h>.
28882 (main): Don't initialize and de-initialize any modules directly,
28883 use `grub_init_all' and `grub_fini_all' instead.
28884
28885 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
28886 `grub_vesafb_mod_init'.
28887 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
28888 all users.
28889 * term/i386/pc/vga.c (grub_vga_init): Renamed to
28890 `grub_vga_mod_init'. Updated all users.
28891 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
28892
28893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
28894 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
28895 rules.
28896
28897 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
28898 Generate a function to initialize the module in utilities.
28899 Updated all callers.
28900 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
28901 initialize the module in utilities. Updated all callers.
28902
28903 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28904
28905 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
28906 escape sequence and a literal ^L to clear the screen.
28907
28908 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
28909 when returning from Open Firmware.
28910
28911 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28912
28913 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
28914 (grub_ofconsole_height): Likewise.
28915 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
28916 manually insert a '\n'.
28917 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
28918 `grub_ofconsole_height'. Return early if these are already set.
28919
28920 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
28921
28922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28923 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
28924 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
28925 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
28926 and `normal/script.c'.
28927 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28928 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28929 (test_mod_SOURCES): New variable.
28930 (test_mod_CFLAGS): Likewise.
28931 (test_mod_LDFLAGS): Likewise.
28932 (pkgdata_MODULES): Add `test.mod'.
28933 (grub_script.tab.c): New rule.
28934 (grub_script.tab.h): Likewise.
28935
28936 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
28937
28938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28939 `commands/test.c', `normal/execute.c', `normal/lexer.c',
28940 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28941 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28942 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28943 (test_mod_SOURCES): New variable.
28944 (test_mod_CFLAGS): Likewise.
28945 (pkgdata_MODULES): Add `test.mod'.
28946 (grub_script.tab.c): New rule.
28947 (grub_script.tab.h): Likewise.
28948
28949 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
28950
28951 Add initial scripting support.
28952
28953 * commands/test.c: New file.
28954 * include/grub/script.h: Likewise.
28955 * normal/execute.c: Likewise.
28956 * normal/function.c: Likewise.
28957 * normal/lexer.c: Likewise.
28958 * normal/parser.y: Likewise.
28959 * normal/script.c: Likewise.
28960
28961 * configure.ac: Add `AC_PROG_YACC' test.
28962
28963 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
28964 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
28965 `normal/function.c' and `normal/script.c'.
28966 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28967 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28968 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
28969 variables.
28970 (pkgdata_MODULES): Add `test.mod'.
28971 (grub_script.tab.c): New rule.
28972 (grub_script.tab.h): Likewise.
28973
28974 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
28975
28976 * include/grub/normal.h (grub_test_init): New prototype.
28977 (grub_test_fini): Likewise.
28978
28979 * normal/command.c: Include <grub/script.h>.
28980 (grub_command_execute): Rewritten.
28981
28982 * util/grub-emu.c (main): Call `grub_test_init' and
28983 `grub_test_fini'.
28984
28985 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28986
28987 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
28988 to 0.
28989 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
28990 there are no pending characters.
28991
28992 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28993
28994 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
28995 `grub_strndup' to drop device arguments. Replace unnecessary
28996 `grub_strndup' with `grub_strdup'.
28997
28998 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28999
29000 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29001 `debug' environment variable has been set.
29002
29003 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
29004
29005 * Makefile.in (install-local): Use $(DATA).
29006 (uninstall): Likewise.
29007 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29008 (sbin_UTILITIES): ... to here.
29009 (sbin_SCRIPTS): New variable.
29010 (grub_install_SOURCES): New variable.
29011 * util/powerpc/ieee1275/grub-install.in: New file.
29012 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29013 variable.
29014 (add_segments): Call `grub_util_get_path'.
29015
29016 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29017
29018 From Timothy Baldwin:
29019 * commands/ls.c (grub_ls_list_files): Close FILE with
29020 grub_file_close.
29021 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29022
29023 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
29024
29025 * include/grub/parser.h: New file.
29026
29027 * kern/parser.c: Likewise.
29028
29029 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29030 (grub_setup_SOURCES): Likewise.
29031 (grub_probefs_SOURCES): Likewise.
29032 (grub_emu_SOURCES): Likewise.
29033 (kernel_img_HEADERS): Add `parser.h'.
29034
29035 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29036 (grub_emu_SOURCES): Add `kern/parser.c'.
29037 (grubof_SOURCES): Likewise.
29038
29039 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29040 (grubof_SOURCES): Add `kern/parser.c'.
29041
29042 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29043
29044 * kern/misc.c (grub_split_cmdline): Removed function.
29045
29046 * kern/rescue.c: Include <grub/parser.h>.
29047 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29048 of `grub_split_cmdline'.
29049
29050 * normal/command.c: Include <grub/parser.h>.
29051 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29052 of `grub_split_cmdline'.
29053
29054 * normal/completion.c: Include <grub/parser.h>.
29055 (cmdline_state): New variable.
29056 (iterate_dir): End the filename with a quote depending on the
29057 command line state.
29058 (get_state): new function.
29059 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29060 split the arguments and determine the current argument. When the
29061 argument string is not quoted, escape all spaces.
29062
29063 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29064
29065 * normal/sparc64/setjmp.S: New file.
29066
29067 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29068
29069 * include/grub/sparc64/libgcc.h: New file.
29070 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29071 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29072 normal/sparc64/setjmp.c.
29073
29074 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29075
29076 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29077 * kern/sparc64/cache.S: New file.
29078 * kern/sparc64/cache.c: Removed.
29079 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29080 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29081 -mtune=ultrasparc.
29082 (COMMON_LDFLAGS): Add -melf64_sparc.
29083 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29084 (grubof_SOURCES): Use cache.S instead of cache.c.
29085 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29086 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29087 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29088 commented though.
29089 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29090 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29091 (linux_mod_CFLAGS): Commented out.
29092 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29093 out because module isn't built.
29094 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29095 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29096 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29097 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29098 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29099 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29100 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29101 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29102 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29103 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29104 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29105 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29106 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29107 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29108
29109 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29110
29111 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29112 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29113 longer, because HFS should not be used on PC.
29114
29115 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29116
29117 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29118 consistently within the loop.
29119
29120 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
29121
29122 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29123 directory can not be read.
29124
29125 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29126
29127 * configure.ac (AC_INIT): Increase the version number to 1.91.
29128
29129 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29130 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29131 term/i386/pc/serial.c.
29132
29133 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29134
29135 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29136 file size must be permitted.
29137
29138 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29139 between %ah and %al.
29140
29141 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29142
29143 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29144 grub_uint64_t.
29145 Call the hook with a NUL-terminated filename.
29146 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29147 grub_cpu_to_be32.
29148
29149 * kern/term.c (cursor_state): New variable.
29150 (grub_term_set_current): Reset the cursor state on a new
29151 terminal.
29152 (grub_setcursor): Rewritten to use CURSOR_STATE.
29153 (grub_getcursor): New function.
29154
29155 * include/grub/term.h (grub_getcursor): New prototype.
29156
29157 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29158 integers on ARM. Reported by Timothy Baldwin
29159 <T.E.Baldwin99@members.leeds.ac.uk>.
29160
29161 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
29162
29163 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29164 allocated.
29165 (grub_sfs_dir): Likewise.
29166
29167 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
29168
29169 Add support for the SFS filesystem.
29170
29171 * fs/sfs.c: New file.
29172
29173 * DISTLIST: Added `fs/sfs.c'.
29174
29175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29176 (grub_probefs_SOURCES): Likewise.
29177 (grub_emu_SOURCES): Likewise.
29178 (pkgdata_MODULES): Add `sfs.mod'.
29179 (sfs_mod_SOURCES): New variable.
29180 (sfs_mod_CFLAGS): Likewise.
29181 (sfs_mod_LDFLAGS): Likewise.
29182
29183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29184 (pkgdata_MODULES): Add `sfs.mod'.
29185 (sfs_mod_SOURCES): New variable.
29186 (sfs_mod_CFLAGS): Likewise.
29187
29188 * util/grub-emu.c (main): Call `grub_sfs_init' and
29189 `grub_sfs_fini'.
29190
29191 * include/grub/fs.h (grub_sfs_init): New prototype.
29192 (grub_sfs_fini): Likewise.
29193
29194 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
29195
29196 Add support for the AFFS filesystem.
29197
29198 * fs/affs.c: New file.
29199
29200 * DISTLIST: Added `fs/affs.c'.
29201
29202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29203 (grub_probefs_SOURCES): Likewise.
29204 (grub_emu_SOURCES): Likewise.
29205 (pkgdata_MODULES): Add `affs.mod'.
29206 (affs_mod_SOURCES): New variable.
29207 (affs_mod_CFLAGS): Likewise.
29208 (affs_mod_LDFLAGS): Likewise.
29209
29210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29211 (pkgdata_MODULES): Add `affs.mod'.
29212 (affs_mod_SOURCES): New variable.
29213 (affs_mod_CFLAGS): Likewise.
29214
29215 * util/grub-emu.c (main): Call `grub_affs_init' and
29216 `grub_affs_fini'.
29217
29218 * include/grub/fs.h (grub_affs_init): New prototype.
29219 (grub_affs_fini): Likewise.
29220
29221 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
29222
29223 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29224
29225 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
29226
29227 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29228 `-m32' to CFLAGS.
29229
29230 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29231 linking.
29232
29233 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29234 (COMMON_LDFLAGS): New variable.
29235 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29236 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29237 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29238 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29239 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29240 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29241 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29242 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29243 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29244 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29245 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29246 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29247 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29248 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29249 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29250 variables.
29251 (normal_mod_ASFLAGS): Add `-m32'.
29252
29253 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29254 (grub_host_size_t, grub_host_ssize_t): New types.
29255 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
29256 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
29257 `GRUB_HOST_SIZEOF_VOID_P'.
29258
29259 * include/grub/kernel.h (struct grub_module_header): Type of
29260 member offset changed to `grub_host_off_t'. Type of member size
29261 changed to `grub_host_size_t'.
29262 (struct grub_module_info): Type of member offset changed to
29263 `grub_host_off_t'. Type of member size changed to
29264 `grub_host_size_t'.
29265
29266 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29267
29268 Make GRUB's kernel compliant to Multiboot Specification.
29269
29270 * kern/i386/pc/startup.S (multiboot_header): New label.
29271 (multiboot_entry): Likewise.
29272 (multiboot_trampoline): Likewise.
29273
29274 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29275 Increased to 0x4A0.
29276
29277 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29278 put parentheses after a question mark.
29279 [!GRUB_UTIL] (my_mod): New variable.
29280
29281 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29282
29283 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
29284
29285 Adds support for the XFS filesystem. Btrees are not supported
29286 yet.
29287
29288 * fs/xfs.c: New file.
29289
29290 * DISTLIST: Added `fs/xfs.c'.
29291
29292 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29293 (grub_probefs_SOURCES): Likewise.
29294 (grub_emu_SOURCES): Likewise.
29295 (pkgdata_MODULES): Add `xfs.mod'.
29296 (xfs_mod_SOURCES): New variable.
29297 (xfs_mod_CFLAGS): Likewise.
29298
29299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29300 (pkgdata_MODULES): Add `xfs.mod'.
29301 (xfs_mod_SOURCES): New variable.
29302 (xfs_mod_CFLAGS): Likewise.
29303
29304 * util/grub-emu.c (main): Call `grub_xfs_init' and
29305 `grub_xfs_fini'.
29306
29307 * include/grub/fs.h (grub_xfs_init): New prototype.
29308 (grub_xfs_fini): Likewise.
29309
29310
29311 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29312
29313 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29314 color modes, allow greater than 16 colors to be configured as
29315 a default palette.
29316
29317 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29318
29319 * normal/completion.c (complete_arguments): Add the qualifier
29320 const into OPTIONS.
29321
29322 From Omniflux <omniflux+lists@omniflux.com>:
29323 * include/grub/terminfo.h: New file.
29324 * include/grub/tparm.h: Likewise.
29325 * include/grub/i386/pc/serial.h: Likewise.
29326 * term/terminfo.c: Likewise.
29327 * term/tparm.c: Likewise.
29328 * term/i386/pc/serial.c: Likewise.
29329 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29330 serial.mod.
29331 (terminfo_mod_SOURCES): New variable.
29332 (terminfo_mod_CFLAGS): Likewise.
29333 (serial_mod_SOURCES): Likewise.
29334 (serial_mod_CFLAGS): Likewise.
29335
29336 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29337
29338 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29339 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29340 and kern/powerpc/ieee1275/cmain.c, respectively.
29341
29342 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29343 * kern/powerpc/ieee1275/crt0.S: ... here.
29344
29345 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29346 * kern/powerpc/ieee1275/cmain.c: ... here.
29347
29348 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29349 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29350 instead of boot/powerpc/ieee1275/crt0.S and
29351 boot/powerpc/ieee1275/cmain.c, respectively.
29352
29353 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29354 sectors. It was not used anyway.
29355
29356 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29357
29358 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29359 `unused parameter' warning.
29360
29361 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29362
29363 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29364 function.
29365 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29366 getcharwidth.
29367
29368 2005-08-28 Marco Gerards <metgerards@student.han.nl>
29369
29370 * include/grub/normal.h (enum grub_completion_type): Added
29371 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29372
29373 * normal/cmdline.c (print_completion): Handle
29374 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29375 * normal/menu_entry.c (store_completion): Likewise.
29376
29377 * normal/completion.c (complete_arguments): New function.
29378 (grub_normal_do_completion): Call `complete_arguments' when the
29379 current words start with a dash.
29380
29381 2005-08-27 Marco Gerards <metgerards@student.han.nl>
29382
29383 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29384 `gzio.mod' instead of `io.mod').
29385
29386 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29387
29388 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29389 (DISTDIRS): Added io and video.
29390 Rewrite the search routine to make an output consistently.
29391
29392 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29393 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29394 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29395 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29396 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29397 util/powerpc/ieee1275/misc.c.
29398
29399 * include/grub/gzio.h: New file.
29400 * io/gzio.c: Likewise.
29401
29402 * kern/file.c (grub_file_close): Call grub_device_close only if
29403 FILE->DEVICE is not NULL.
29404
29405 * include/grub/mm.h [!NULL] (NULL): New macro.
29406
29407 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29408
29409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29410 (pkgdata_MODULES): Added gzio.mod.
29411 (gzio_mod_SOURCES): New variable.
29412 (gzio_mod_CFLAGS): Likewise.
29413
29414 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29415 (pkgdata_MODULES): Added gzio.mod.
29416 (gzio_mod_SOURCES): New variable.
29417 (gzio_mod_CFLAGS): Likewise.
29418
29419 * commands/cat.c: Include grub/gzio.h.
29420 (grub_cmd_cat): Use grub_gzfile_open instead of
29421 grub_file_open.
29422
29423 * commands/cmp.c: Include grub/gzio.h.
29424 (grub_cmd_cmp): Use grub_gzfile_open instead of
29425 grub_file_open.
29426
29427 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29428 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29429 grub_file_open.
29430 (grub_rescue_cmd_module): Likewise.
29431
29432 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29433
29434 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29435 kern/sparc64/ieee1275/init.c because it contains _start.
29436 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29437
29438 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29439
29440 * configure.ac: Add support for sparc64 host with ieee1275
29441 firmware.
29442 * configure: Generated from configure.ac.
29443 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29444 instead of int.
29445 (grub_ofdisk_read): Likewise.
29446 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29447 pointers as (void *) to remove a warning.
29448 (grub_ofdisk_close): Likewise.
29449 (grub_ofdisk_read): Likewise.
29450 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29451 returns, so make it return void to remove a warning.
29452 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29453 Corresponding prototype change.
29454 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29455 values, and cast the pointers as (void *) to remove a warning.
29456 (grub_mm_dump): Likewise.
29457 * conf/sparc64-ieee1275.mk: New file.
29458 * conf/sparc64-ieee1275.rmk: Likewise.
29459 * include/grub/sparc64/setjmp.h: Likewise.
29460 * include/grub/sparc64/types.h: Likewise.
29461 * include/grub/sparc64/ieee1275/console.h: Likewise.
29462 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29463 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29464 * include/grub/sparc64/ieee1275/time.h: Likewise.
29465 * kern/sparc64/cache.c: Likewise.
29466 * kern/sparc64/dl.c: Likewise.
29467 * kern/sparc64/ieee1275/init.c: Likewise.
29468 * kern/sparc64/ieee1275/openfw.c: Likewise.
29469
29470 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29471
29472 * util/console.c (grub_ncurses_putchar): If C is greater than
29473 0x7f, set C to a question mark.
29474 (grub_ncurses_getcharwidth): New function.
29475 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29476 getcharwidth.
29477
29478 * normal/menu.c (print_entry): Made aware of Unicode. First,
29479 convert TITLE to UCS-4, and predict the cursor position by
29480 grub_getcharwidth.
29481
29482 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29483 const to SRC.
29484 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29485
29486 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29487
29488 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29489 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29490 grub_strcat.
29491
29492 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29493 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29494 grub_strcpy and grub_strlen. Take it into account that a space
29495 character is inserted as a delimiter.
29496
29497 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29498
29499 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
29500 invalid magic in the error.
29501
29502 * commands/search.c: New file.
29503
29504 * util/grub-emu.c (main): Call grub_search_init and
29505 grub_search_fini.
29506
29507 * kern/rescue.c (grub_rescue_print_disks): Removed.
29508 (grub_rescue_print_devices): New function.
29509 (grub_rescue_cmd_ls): Use grub_device_iterate with
29510 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29511 grub_rescue_print_disks.
29512
29513 * kern/partition.c (grub_partition_iterate): Return the result of
29514 PARTMAP->ITERATE instead of GRUB_ERRNO.
29515
29516 * kern/device.c: Include grub/partition.h.
29517 (grub_device_iterate): New function.
29518
29519 * include/grub/partition.h (grub_partition_iterate): Return int
29520 instead of grub_err_t.
29521
29522 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29523 prototype.
29524 [GRUB_UTIL] (grub_search_fini): Likewise.
29525
29526 * include/grub/device.h (grub_device_iterate): New prototype.
29527
29528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29529 commands/search.c.
29530 (pkgdata_MODULES): Added search.mod.
29531 (search_mod_SOURCES): New variable.
29532 (search_mod_CFLAGS): Likewise.
29533
29534 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29535 (pkgdata_MODULES): Added search.mod.
29536 (search_mod_SOURCES): New variable.
29537 (search_mod_CFLAGS): Likewise.
29538
29539 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29540 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29541 All callers changed.
29542
29543 * DISTLIST: Added commands/search.c.
29544
29545 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29546
29547 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29548 conversion.
29549 (grub_getcharwidth): New function.
29550
29551 * kern/misc.c (grub_utf8_to_ucs4): New function.
29552
29553 * include/grub/term.h (struct grub_term): Added a new member
29554 "getcharwidth".
29555 (grub_getcharwidth): New prototype.
29556
29557 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29558
29559 * term/i386/pc/console.c (map_char): New function. Segregated from
29560 grub_console_putchar.
29561 (grub_console_putchar): Use map_char.
29562 (grub_console_getcharwidth): New function.
29563 (grub_console_term): Specified grub_console_getcharwidth as
29564 getcharwidth.
29565
29566 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29567 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29568
29569 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29570 GRUB_ERRNO.
29571 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29572 on grub_strtoul completely.
29573 (write_char): Declare local variables in the beginning of the
29574 function.
29575 (grub_vesafb_getcharwidth): New function.
29576 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29577 getcharwidth.
29578
29579 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29580
29581 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29582 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29583 commands/i386/pc/vbetest.c.
29584
29585 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29586 call grub_vbe_get_controller_info again, because the returned
29587 information is volatile.
29588 (grub_vbe_set_video_mode): Mostly rewritten.
29589 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29590 grub_vbe_status_t correctly.
29591 (grub_vbe_get_video_mode_info): Likewise.
29592 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29593 several if statements.
29594
29595 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29596 * commands/i386/pc/vbeinfo.c: ... this.
29597
29598 * commands/i386/pc/vbe_test.c: Renamed to ...
29599 * commands/i386/pc/vbetest.c: ... this.
29600
29601 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29602 ...
29603 (grub_cmd_vbeinfo): ... this. Save video modes before
29604 iterating. Skip a video mode, if it is not available, not enough
29605 information is given or it is monochrome. Show the memory
29606 model. Leave the interpretation of MODEVAR to grub_strtoul
29607 completely.
29608 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29609 (GRUB_MOD_FINI): Likewise.
29610
29611 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29612 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29613 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29614 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29615 grub_strtoul completely.
29616 (real2pm): Removed.
29617 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29618 (GRUB_MOD_FINI): Likewise.
29619
29620 * normal/misc.c: Include grub/mm.h.
29621
29622 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29623 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29624 (vbe_list_modes_mod_SOURCES): Removed.
29625 (vbe_list_modes_mod_CFLAGS): Likewise.
29626 (vbe_test_mod_SOURCES): Likewise.
29627 (vbe_test_mod_CFLAGS): Likewise.
29628 (vbeinfo_mod_SOURCES): New variable.
29629 (vbeinfo_mod_CFLAGS): Likewise.
29630 (vbetest_mod_SOURCES): Likewise.
29631 (vbetest_mod_CFLAGS): Likewise.
29632
29633 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29634
29635 * normal/misc.c: New file.
29636
29637 * DISTLIST: Added normal/misc.c.
29638
29639 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29640 DISK to HOOK. Call HOOK with DISK.
29641 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29642 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29643 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29644
29645 * normal/menu_entry.c (struct screen): Added a new member
29646 "completion_shown".
29647 (completion_buffer): New global variable.
29648 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29649 (store_completion): New function.
29650 (complete): Likewise.
29651 (clear_completions): Likewise.
29652 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29653 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29654 a tab, call complete.
29655
29656 * normal/completion.c (disk_dev): Removed.
29657 (print_simple_completion): Likewise.
29658 (print_partition_completion): Likewise.
29659 (print_func): New global variable.
29660 (add_completion): Do not take the arguments WHAT or PRINT any
29661 longer. Added a new argument TYPE. Instead of printing directly,
29662 call PRINT_FUNC if not NULL.
29663 All callers changed.
29664 (complete_device): Use a local variable DEV instead of
29665 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29666 (grub_normal_do_completion): Take a new argument HOOK. Do not
29667 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29668 empty string, return NULL instead.
29669 All callers changed.
29670
29671 * normal/cmdline.c (print_completion): New function.
29672
29673 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29674 to HOOK.
29675 All callers changed.
29676
29677 * kern/disk.c (grub_print_partinfo): Removed.
29678
29679 * include/grub/partition.h (struct grub_partition_map): Add a new
29680 argument DISK into HOOK of ITERATE.
29681 (grub_partition_iterate): Add a new argument DISK to HOOK.
29682
29683 * include/grub/normal.h (enum grub_completion_type): New enum.
29684 (grub_completion_type_t): New type.
29685 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29686 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29687 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29688 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29689 (grub_normal_do_completion): Added a new argument HOOK.
29690 (grub_normal_print_device_info): New prototype.
29691
29692 * include/grub/disk.h (grub_print_partinfo): Removed.
29693
29694 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29695 (normal_mod_SOURCES): Likewise.
29696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29697 (normal_mod_SOURCES): Likewise.
29698
29699 * commands/ls.c (grub_ls_list_disks): Use
29700 grub_normal_print_device_info instead of grub_print_partinfo. Free
29701 PNAME.
29702 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29703 duplicating the code.
29704
29705 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29706
29707 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
29708 follow GCS more precisely.
29709 * commands/i386/pc/vbe_test.c: Likewise.
29710 * include/grub/i386/pc/vbe.h: Likewise.
29711 * term/i386/pc/vesafb.c: Likewise.
29712 * video/i386/pc/vbe.c: Likewise.
29713
29714 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29715
29716 * DISTLIST: Added term/i386/pc/vesafb.c
29717 DISTLIST: Added video/i386/pc/vbe.c
29718 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29719 DISTLIST: Added commands/i386/pc/vbe_test.c.
29720 * commands/i386/pc/vbe_list_modes.c: New file.
29721 * commands/i386/pc/vbe_test.c: Likewise.
29722 * term/i386/pc/vesafb.c: Likewise.
29723 * video/i386/pc/vbe.c: Likewise.
29724 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29725 (grub_vbe_probe) Added prototype.
29726 (grub_vbe_set_video_mode) Likewise.
29727 (grub_vbe_get_video_mode) Likewise.
29728 (grub_vbe_get_video_mode_info) Likewise.
29729 (grub_vbe_set_pixel_rgb) Likewise.
29730 (grub_vbe_set_pixel_index) Likewise.
29731 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29732 (pkgdata_MODULES): Added vesafb.mod.
29733 (pkgdata_MODULES): Added vbe_list_modes.mod.
29734 (pkgdata_MODULES): Added vbe_test.mod.
29735 (vbe_mod_SOURCES): Added.
29736 (vbe_mod_CFLAGS): Likewise.
29737 (vesafb_mod_SOURCES): Likewise.
29738 (vesafb_mod_CFLAGS): Likewise.
29739 (vbe_list_modes_mod_SOURCES): Likewise.
29740 (vbe_list_modes_mod_CFLAGS): Likewise.
29741 (vbe_test_mod_SOURCES): Likewise.
29742 (vbe_test_mod_CFLAGS): Likewise.
29743
29744 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29745
29746 * normal/command.c (grub_command_execute): If INTERACTIVE is
29747 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29748 CMDLINE. Disable the pager if INTERACTIVE is true.
29749 All callers are changed.
29750
29751 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29752 before reading a config file.
29753 * normal/main.c (read_config_file): Even if a command is not
29754 found, register it if it is within an entry.
29755
29756 * util/grub-emu.c: Include sys/types.h and unistd.h.
29757 (options): Added --hold.
29758 (struct arguments): Added a new member "hold".
29759 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29760 missing.
29761 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29762 cleared by a debugger, if it is not zero.
29763
29764 * include/grub/normal.h (grub_command_execute): Add an argument
29765 INTERACTIVE.
29766
29767 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29768
29769 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29770
29771 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29772
29773 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29774 program with another one, because the old one didn't detect a bug
29775 in gcc-3.4. Always use regparm 2, because the new test is still
29776 not enough for gcc-4.0. Someone must investigate a simple test
29777 case which detects a bug in gcc-4.0.
29778
29779 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29780
29781 * DISTLIST: Added normal/completion.c.
29782
29783 * normal/completion.c: New file.
29784
29785 * term/i386/pc/console.c (grub_console_getwh): New function.
29786 (grub_console_term): Assign grub_console_getwh to getwh.
29787
29788 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
29789 function is defined in normal/completion.c as
29790 grub_normal_do_completion.
29791 (grub_cmdline_get): Use grub_normal_do_completion instead of
29792 grub_tab_complete.
29793
29794 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
29795 returns non-zero, otherwise return 0.
29796 (grub_partition_iterate): First, probe the partition map. Then,
29797 call ITERATE only for this partition map.
29798
29799 * kern/misc.c (grub_strncmp): Rewritten.
29800
29801 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
29802 returns non-zero. Otherwise return 0.
29803
29804 * include/grub/partition.h (grub_partition_map_iterate): Return
29805 int instead of void.
29806
29807 * include/grub/normal.h (grub_normal_do_completion): New prototype.
29808
29809 * include/grub/misc.h (grub_strncmp): Change the type of N to
29810 grub_size_t.
29811
29812 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
29813 of void.
29814
29815 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
29816 unsigned explicitly before comparing it with I.
29817
29818 * kern/main.c (grub_env_write_root): Add the attribute unused into
29819 VAR.
29820
29821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29822 normal/completion.c.
29823 (normal_mod_SOURCES): Likewise.
29824 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29825 (normal_mod_SOURCES): Likewise.
29826
29827 * normal/command.c (grub_iterate_commands): If ITERATE returns
29828 non-zero, return one immediately.
29829
29830 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
29831
29832 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
29833 * kern/i386/pc/startup.S: Updated Global Descriptor table's
29834 descriptions.
29835 (grub_vbe_get_controller_info): New function.
29836 (grub_vbe_get_mode_info): Likewise.
29837 (grub_vbe_set_mode): Likewise.
29838 (grub_vbe_get_mode): Likewise.
29839 (grub_vbe_set_memory_window): Likewise.
29840 (grub_vbe_get_memory_window): Likewise.
29841 (grub_vbe_set_scanline_length): Likewise.
29842 (grub_vbe_get_scanline_length): Likewise.
29843 (grub_vbe_set_display_start): Likewise.
29844 (grub_vbe_get_display_start): Likewise.
29845 (grub_vbe_set_palette_data): Likewise.
29846 * include/grub/i386/pc/vbe.h: New file.
29847
29848 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29849
29850 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29851 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
29852 * DISTLIST: Likewise.
29853 * kern/ieee1275/of.c: Moved to ...
29854 * kern/ieee1275/ieee1275.c: ... here.
29855
29856 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29857
29858 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
29859 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
29860 Pass 0 as `end' parameter to grub_strtoul().
29861
29862 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29863
29864 * include/grub/powerpc/ieee1275/console.h: Do not include
29865 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
29866 ifdef.
29867 (grub_console_cur_color): Remove i386-specific prototype.
29868 (grub_console_real_putchar): Likewise.
29869 (grub_console_checkkey): Likewise.
29870 (grub_console_getkey): Likewise.
29871 (grub_console_getxy): Likewise.
29872 (grub_console_gotoxy): Likewise.
29873 (grub_console_cls): Likewise.
29874 (grub_console_setcursor): Likewise.
29875 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
29876 Include <grub/machine/console.h>.
29877 * term/ieee1275/ofconsole.c: Likewise.
29878
29879 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
29880
29881 * Makefile.in (LIBLZO): New variable.
29882
29883 * configure.ac: Check for LZO version 2.
29884
29885 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
29886 lzo/lzo1x.h instead of lzo1x.h.
29887
29888 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
29889 of -llzo.
29890
29891 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
29892 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
29893
29894 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
29895 copying the data from PARTITION to P.
29896
29897 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29898
29899 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
29900 negative, unload the module.
29901
29902 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
29903 map is "pc_partition_map" but not "pc".
29904 (usage): Fix the description. The options are --boot-image and
29905 --core-image but not --boot-file or --core-file.
29906 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
29907 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
29908 DEFAULT_DIRECTORY.
29909
29910 * util/i386/pc/grub-install.in: Do not specify --boot-file or
29911 --core-file. Specify INSTALL_DEVICE as an argument.
29912
29913 * util/console.c: Include config.h.
29914 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
29915 [HAVE_NCURSES_H]: Include ncurses.h.
29916 [HAVE_CURSES_H]: Include curses.h.
29917 [!A_NORMAL] (A_NORMAL): Defined as zero.
29918 [!A_STANDOUT] (A_STANDOUT): Likewise.
29919
29920 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
29921 -lncurses.
29922 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
29923
29924 * configure.ac: Check for curses libraries and headers.
29925
29926 * Makefile.in (LIBCURSES): New variable.
29927
29928 * genmk.rb (Script::rule): Set the executable bits.
29929
29930 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
29931 name of the PC partition map is "pc_partition_map" but not "pc".
29932
29933 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29934
29935 * util/i386/pc/grub-install.in (grub_probefs): New variable.
29936 (modules): Likewise.
29937 (usage): Added descriptions for --modules and --grub-probefs.
29938 Handle --modules and --grub-probefs. Save the arguments in MODULES
29939 and GRUB_PROBEFS, respectively.
29940 Auto-detect a filesystem module against GRUBDIR. If the result is
29941 empty and modules are not specified explicitly, abort the
29942 installation. Add the result to MODULES.
29943
29944 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
29945 disk/powerpc/ieee1275/ofdisk.c,
29946 include/grub/powerpc/ieee1275/init.h and
29947 term/powerpc/ieee1275/ofconsole.c.
29948 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
29949 term/ieee1275/ofconsole.c.
29950
29951 * include/grub/powerpc/ieee1275/console.h: Resurrected.
29952
29953 * COPYING: Upgraded to the latest version. Only the address of the
29954 FSF office has changed.
29955
29956 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29957
29958 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29959 kern/ieee1275.c with kern/ieee1275/of.c.
29960
29961 * kern/ieee1275.c: Moved to ...
29962 * kern/ieee1275/of.c: ... here.
29963
29964 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
29965
29966 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
29967 readability.
29968
29969 * config.guess: Updated to the latest version from gnulib.
29970 * config.sub: Likewise.
29971 * install.sh: Likewise.
29972 * mkinstalldirs: Likewise.
29973
29974 * include/grub/console.h: Removed. This file is arch-specific. Do
29975 not put this in include/grub.
29976
29977 * include/grub/i386/pc/console.h: Resurrected.
29978
29979 * util/console.c: Include grub/machine/console.h instead of
29980 grub/console.h.
29981 * util/grub-emu.c: Likewise.
29982
29983 2005-08-04 Marco Gerards <metgerards@student.han.nl>
29984
29985 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
29986 hardcoded value.
29987
29988 From Vincent Pelletier <subdino2004@yahoo.fr>
29989 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
29990 Redefined to use grub_getwh.
29991 (grub_term): New member named getwh.
29992 (grub_getwh): New prototype.
29993 * kern/term.c (grub_getwh): New function.
29994 * term/i386/pc/console.c (grub_console_getwh): New function.
29995 (grub_console_term): New member `getwh'.
29996 * term/i386/pc/vga.c (grub_vga_getwh): New function.
29997 (grub_vga_term): New member `getwh'.
29998 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
29999 grub_ssize_t.
30000 (grub_ofconsole_getw): New function.
30001 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30002 (grub_ofconsole_term): New field named getwh and new initial
30003 value.
30004
30005 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30006
30007 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30008 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30009 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30010 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30011 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30012 of <grub/machine/ieee1275.h>.
30013 * commands/ieee1275/reboot.c: Likewise.
30014 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30015 * kern/ieee1275.c: ... to here. All users updated. Change all
30016 parameter structs to use new type `grub_ieee1275_cell_t'.
30017 * term/powerpc/ieee1275/ofconsole.c: Move ...
30018 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30019 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30020 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30021 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30022 to return int.
30023 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30024 Remove unused prototypes. All users updated.
30025 * include/grub/powerpc/ieee1275/console.h: Removed.
30026 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30027 `grub_ieee1275_cell_t'.
30028 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30029 Cast comparisons with -1 to the correct type.
30030 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30031 type to match `grub_ieee1275_entry_fn'.
30032
30033 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30034
30035 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30036
30037 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30038 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30039 partmap/sun.c.
30040 (grub_probefs_SOURCES): New variable.
30041
30042 * util/i386/pc/grub-probefs.c: New file.
30043
30044 * util/i386/pc/grub-setup.c (main): Call
30045 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30046 grub_hfs_init and grub_jfs_init to initialize the system. Call
30047 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30048 grub_pc_partition_map_fini to finish the system.
30049
30050 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30051
30052 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30053 function.
30054 (grub_multiboot_load_elf32): Likewise.
30055 (grub_multiboot_is_elf64): Likewise.
30056 (grub_multiboot_load_elf64): Likewise.
30057 (grub_multiboot_load_elf): Likewise.
30058 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30059 an ELF32 or ELF64 file.
30060 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30061
30062 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30063 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30064 NULL before calling FS->LABEL.
30065 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30066 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30067 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30068 before calling FS->LABEL.
30069
30070 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30071
30072 * util/i386/pc/grub-install.in (datadir): New variable.
30073 (libdir): Removed.
30074 (pkgdatadir): New variable.
30075 (pkglibdir): Removed.
30076
30077 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30078
30079 * DISTLIST: Added util/i386/pc/grub-install.in.
30080
30081 * util/i386/pc/grub-install.in: New file.
30082
30083 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30084 (grub_install_SOURCES): Likewise.
30085
30086 * genmk.rb: Added support for scripts.
30087 (Script): New class.
30088 (scripts): New variable.
30089
30090 * Makefile.in (install-local): Install sbin_SCRIPTS by
30091 INSTALL_SCRIPT.
30092 (uninstall): Remove sbin_SCRIPTS.
30093
30094 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30095 device, try to get a GRUB device by
30096 grub_util_biosdisk_get_grub_dev.
30097 Free DEST_DEV.
30098
30099 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30100 description for --device-map.
30101
30102 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30103
30104 Change the semantics of variable hooks. They now return strings
30105 instead of error values.
30106
30107 * util/i386/pc/grub-setup.c: Include grub/env.h.
30108 (setup): Use grub_device_set_root instead of grub_env_set.
30109
30110 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30111 grub_env_get instead of grub_device_set_root and
30112 grub_device_get_root, respectively.
30113
30114 * kern/main.c (grub_env_write_root): New function.
30115 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30116 grub_env_set instead of grub_device_set_root.
30117
30118 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30119 many variables.
30120 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30121 rather than calling ENV->WRITE_HOOK afterwards.
30122 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30123 passing a pointer of a pointer.
30124 (grub_register_variable_hook): Change the types of "read_hook" and
30125 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30126 respectively.
30127 Allocate the default empty string on the heap, because this string
30128 may be freed later.
30129
30130 * kern/device.c: Include grub/env.h.
30131 (grub_device_set_root): Removed.
30132 (grub_device_get_root): Likewise.
30133 (grub_device_open): Use grub_env_get instead of
30134 grub_device_get_root.
30135
30136 * include/grub/env.h (grub_env_read_hook_t): New type.
30137 (grub_env_write_hook_t): Likewise.
30138 (grub_env_var): Change the types of "read_hook" and "write_hook"
30139 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30140 (grub_register_variable_hook): Likewise.
30141
30142 * include/grub/device.h (grub_device_set_root): Removed.
30143 (grub_device_set_root): Likewise.
30144
30145 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30146 make sure that DIRNAME terminates with '/', so that
30147 grub_fat_find_dir will fail if PATH is not a directory.
30148
30149 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30150 from DIRNAME.
30151 Use the qualifier auto for print_files and print_files_long.
30152 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30153 as a regular file.
30154 Put a newline only if there is no error.
30155 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30156 used.
30157
30158 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30159
30160 * kern/partition.c (grub_partition_probe): Initialize PART to
30161 NULL. Otherwise, when no partition map is registered, this returns
30162 a garbage.
30163
30164 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30165
30166 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30167 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30168 valid.
30169
30170 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30171
30172 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30173 information on each device, if it does not have partitions. Print
30174 "Device" instead of "Disk", because this function is not specific
30175 to disk devices.
30176
30177 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30178 static to ensure that it is put on the memory rather than a
30179 register.
30180
30181 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
30182
30183 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30184 (grub_cat_init): Likewise.
30185 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30186 (options): Likewise.
30187 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30188 (grub_configfile_init): Likewise.
30189 * font/manager.c (GRUB_MOD_INIT): Likewise.
30190 * commands/help.c (GRUB_MOD_INIT): Likewise.
30191 (grub_help_init): Likewise.
30192 * normal/command.c (grub_command_init): Likewise.
30193 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30194 * disk/loopback.c (grub_loop_init): Likewise.
30195 (GRUB_MOD_INIT): Likewise.
30196 * commands/ls.c (grub_ls_init): Likewise.
30197 (GRUB_MOD_INIT): Likewise.
30198 (options): Likewise.
30199 * commands/boot.c (grub_boot_init): Likewise.
30200 (GRUB_MOD_INIT): Likewise.
30201 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30202 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30203 (GRUB_MOD_INIT): Likewise.
30204 * commands/cmp.c (grub_cmp_init): Likewise.
30205 (GRUB_MOD_INIT): Likewise.
30206
30207 * normal/arg.c: Use <> instead of "" to include header files.
30208 (SHORT_ARG_HELP): New macro.
30209 (SHORT_ARG_USAGE): Likewise.
30210 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30211 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30212 descriptions.
30213 (find_short): Check if C is 'h' or 'u' explicitly.
30214 (grub_arg_show_help): Use space characters instead of tabs. Treat
30215 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30216 are shown with --help and --usage only if they are not used for
30217 the command itself.
30218 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30219 'h' and 'u'.
30220
30221 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30222 const into "longarg". Change the type of "shortarg" to int.
30223
30224 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
30225
30226 * boot/i386/pc/boot.S (boot_drive_check): New label.
30227
30228 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30229 macro.
30230
30231 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30232 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30233
30234 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
30235
30236 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30237 When turning off Gate A20, skip the check and return immediately,
30238 because this is not fatal usually.
30239
30240 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
30241
30242 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30243 be 0x7C00 instead of 0x8000.
30244
30245 * boot/i386/pc/pxeboot.S: Rewritten.
30246
30247 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30248 EXT_C.
30249 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30250 result.
30251
30252 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30253
30254 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30255 robustness. This routine now supports a BIOS call and System
30256 Control Port A to modify the gate A20.
30257
30258 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30259 Increased to 0x440.
30260
30261 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30262
30263 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30264 device path and resulting ihandle.
30265 (grub_ofdisk_close): dprintf the ihandle being closed.
30266 (grub_ofdisk_read): dprintf function parameters.
30267 * kern/mm.c (grub_mm_init_region): Likewise.
30268 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30269 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30270 size, and boot arguments.
30271 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30272 before loading into memory.
30273 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30274 before loading into memory.
30275
30276 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30277
30278 * kern/mm.c: Added much documentation.
30279 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30280 8, set to 5 instead of 8.
30281
30282 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
30283
30284 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30285
30286 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30287 (grub_mkdevicemap_SOURCES): New variable.
30288
30289 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30290 lib/device.c of GRUB Legacy.
30291
30292 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
30293
30294 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30295 instead of PATH is NULL.
30296
30297 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30298
30299 * commands/cmp.c (BUFFER_SIZE): New macro.
30300 (grub_cmd_cmp): Close the right file at the right time. Compare
30301 only data just read. Don't report files of different size as
30302 identical. Dynamically allocate buffers. Move variable
30303 declarations at the beginning of function.
30304
30305 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
30306
30307 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30308 reverse.
30309
30310 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30311
30312 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30313 when backspace is pressed at beginning of line.
30314
30315 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
30316
30317 * DISTLIST: Added genfslist.sh.
30318
30319 * normal/main.c (fs_module_list): New variable.
30320 (autoload_fs_module): New function.
30321 (read_fs_list): Likewise.
30322 (grub_normal_execute): Call read_fs_list.
30323
30324 * kern/fs.c (grub_fs_autoload_hook): New variable.
30325 (grub_fs_probe): Added support for auto-loading.
30326
30327 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30328 (grub_fs_module_list_t): New type.
30329
30330 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30331 (grub_fs_autoload_hook): New prototype.
30332
30333 * genfslist.sh: New file.
30334
30335 * genmk.rb: Added a rule to generate a filesystem list.
30336
30337 2005-06-30 Marco Gerards <metgerards@student.han.nl>
30338
30339 * configure.ac: Fix the test for cross-compiling.
30340
30341 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30342 define GRUB_UTIL anymore.
30343
30344 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30345 so this function works on other systems than just big endian.
30346 (load_modules): Likewise.
30347 (add_segments): Likewise.
30348
30349 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30350
30351 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30352 contains `l' modifier, get a long from va_arg().
30353
30354 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30355
30356 * kern/mm.c (grub_free): If the next free block which is being
30357 merged is the first free block, set the first block to the block
30358 being freed.
30359 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30360
30361 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30362
30363 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30364 `grub_ieee1275_chosen'.
30365
30366 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30367
30368 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30369 (grub_ieee1275_chosen): New variable.
30370 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30371 `chosen'.
30372 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30373 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30374 Rename first argument to `phandle' for consistency.
30375 (grub_ieee1275_get_property_length): Likewise.
30376 (grub_ieee1275_next_property): Likewise. Change type of first argument
30377 to grub_ieee1275_phandle_t.
30378 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30379 Move export next to declaration.
30380 (grub_ieee1275_chosen): New variable.
30381 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30382 Correct cosmetic typo.
30383 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30384 `grub_ieee1275_chosen'.
30385 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30386 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30387 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30388 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30389 `grub_ieee1275_chosen'.
30390
30391 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30392
30393 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30394 /chosen/bootargs.
30395 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30396 /chosen/bootargs as "variable=value" pairs.
30397
30398 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30399
30400 * include/grub/misc.h (grub_dprintf): New macro.
30401 (grub_real_dprintf): New prototype.
30402 (grub_strword): Likewise.
30403 (grub_iswordseparator): Likewise.
30404 * kern/misc.c (grub_real_dprintf): New function.
30405 (grub_strword): Likewise.
30406 (grub_iswordseparator): Likewise.
30407
30408 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30409
30410 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30411 (roundup): Remove macro.
30412 (grub_ieee1275_flags): Make static.
30413 (grub_ieee1275_realmode): Remove.
30414 (grub_ieee1275_test_flag): New function.
30415 (grub_ieee1275_set_flag): Likewise.
30416 (find_options): Rename to `grub_ieee1275_find_options'; update
30417 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30418 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30419 (cmain): New prototype.
30420 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30421 `grub_ieee1275_flags' directly.
30422 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30423 machine/biosdisk.h.
30424 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30425 Don't include grub/machine/init.h.
30426 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30427 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30428 Remove prototype.
30429 (grub_ieee1275_realmode): Likewise.
30430 (grub_ieee1275_flag): New enum.
30431 (grub_ieee1275_test_flag): New prototype.
30432 (grub_ieee1275_set_flag): New prototype.
30433 * include/grub/powerpc/ieee1275/init.h: Remove file.
30434 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30435 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30436 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30437 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30438 comment.
30439 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30440 `grub_ieee1275_test_flag'.
30441 (grub_ieee1275_encode_devname): Likewise.
30442
30443 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30444
30445 * include/grub/powerpc/ieee1275/ieee1275.h
30446 (grub_ieee1275_encode_devname): New prototype.
30447 (grub_ieee1275_get_filename): Likewise.
30448 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30449 function.
30450 (grub_set_prefix): Likewise.
30451 (grub_machine_init): Call grub_set_prefix.
30452 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30453 (grub_parse_type): New enum.
30454 (grub_ieee1275_get_devargs): New function.
30455 (grub_ieee1275_get_devname): Likewise.
30456 (grub_ieee1275_parse_args): Likewise.
30457 (grub_ieee1275_get_filename): Likewise.
30458 (grub_ieee1275_encode_devname): Likewise.
30459
30460 2005-03-30 Marco Gerards <metgerards@student.han.nl>
30461
30462 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30463 `grub_loader_unset'.
30464
30465 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30466
30467 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30468 instead of grub_ieee1275_interpret.
30469 (grub_halt_init): New function.
30470 (grub_halt_fini): Likewise.
30471 (GRUB_MOD_INIT): Correct message grammar.
30472 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30473 instead of grub_ieee1275_interpret.
30474 (grub_reboot_init): New function.
30475 (grub_reboot_fini): Likewise.
30476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30477 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30478 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30479 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30480 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30481 function.
30482 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30483 Add prototype.
30484 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30485 prototype.
30486 (grub_halt): Likewise.
30487 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30488 (cmain): Remove __attribute__((unused)).
30489 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30490 (grub_heap_len): Likewise.
30491 (grub_machine_fini): New function.
30492 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30493 (grub_halt): Likewise.
30494 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30495 function.
30496 * util/powerpc/ieee1275/misc.c: New file.
30497
30498 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30499
30500 * DISTLIST: New file.
30501 * gendistlist.sh: Likewise.
30502
30503 * Makefile.in (COMMON_DISTFILES): Removed.
30504 (BOOT_DISTFILES): Likewise.
30505 (CONF_DISTFILES): Likewise.
30506 (DISK_DISTFILES): Likewise.
30507 (FS_DISTFILES): Likewise.
30508 (INCLUDE_DISTFILES): Likewise.
30509 (KERN_DISTFILES): Likewise.
30510 (LOADER_DISTFILES): Likewise.
30511 (TERM_DISTFILES): Likewise.
30512 (UTIL_DISTFILES): Likewise.
30513 (DISTFILES): Likewise.
30514 (uninstall): Uninstall files in $(pkgdata_DATA).
30515 (DISTLIST): New target.
30516 (distdir): Use the contents of the file DISTLIST to get a list of
30517 distributed files.
30518
30519 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30520
30521 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30522 descriptor. This is ported from GRUB Legacy.
30523
30524 * gencmdlist.sh: Added an extra semicolon to make it work with
30525 old sed versions. Reported by Robert Bihlmeyer
30526 <robbe@orcus.priv.at>.
30527
30528 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
30529
30530 Automatic loading of commands is supported.
30531
30532 * normal/main.c (read_command_list): New function.
30533 (grub_normal_execute): Call read_command_list.
30534
30535 * normal/command.c (grub_register_command): Return zero or CMD.
30536 Allocate CMD->NAME from the heap.
30537 Initialize CMD->MODULE_NAME to zero.
30538 Find the same name as well. If the same command is found and it is
30539 a dummy command, overwrite members. If it is not a dummy command,
30540 return zero.
30541 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30542 (grub_command_find): If a dummy command is found, load a module
30543 and retry to find a command only once.
30544
30545 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30546 make sure that each command is loaded.
30547
30548 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30549 macro.
30550 (struct grub_command): Remove const from the member `name'.
30551 Add a new member `module_name'.
30552 (grub_register_command): Return grub_command_t.
30553
30554 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30555 sure that each command is loaded.
30556
30557 * genmk.rb (PModule::rule): Specify a module name without the
30558 suffix ".mod" to gencmdlist.sh.
30559
30560 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30561
30562 * gencmdlist.sh: New file.
30563
30564 * genmk.rb (PModule::rule): Generate a rule for a command list.
30565 Clean command.lst.
30566 Generate command.lst from $(COMMANDFILES).
30567
30568 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30569 (DATA): Added $(pkgdata_DATA).
30570 (install-local): Install files in $(pkgdata_DATA).
30571
30572 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30573
30574 * term/i386/pc/vga.c (debug_command): Removed.
30575 (GRUB_MOD_INIT): Do not register the command "debug".
30576
30577 From Hollis Blanchard:
30578 * commands/configfile.c: New file.
30579 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30580 commands/configfile.c.
30581 (pkgdata_MODULES): Added configfile.mod.
30582 (configfile_mod_SOURCES): New variable.
30583 (configfile_mod_CFLAGS): Likewise.
30584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30585 commands/configfile.c.
30586 (pkgdata_MODULES): Added configfile.mod.
30587 (configfile_mod_SOURCES): New variable.
30588 (configfile_mod_CFLAGS): Likewise.
30589 * util/grub-emu.c (main): Call grub_configfile_init and
30590 grub_configfile_fini.
30591 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30592 prototype.
30593 [GRUB_UTIL] (grub_configfile_fini): Likewise.
30594
30595 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30596
30597 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30598 address.
30599
30600 * commands/help.c (grub_cmd_help): Do not print newlines after
30601 the last command in print_command_help.
30602
30603 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30604
30605 * commands/default.h: New file.
30606 * commands/timeout.h: Likewise.
30607 * normal/context.c: Likewise.
30608
30609 * util/misc.c: Do not include sys/times.h.
30610 Include sys/time.h and grub/machine/time.h.
30611 (grub_get_rtc): Rewritten with gettimeofday.
30612
30613 * util/grub-emu.c (main): Call grub_default_init and
30614 grub_timeout_init before grub_normal_init, and call
30615 grub_timeout_fini and grub_default_fini after grub_main.
30616
30617 * util/console.c (grub_ncurses_checkkey): Return the read
30618 character or -1.
30619
30620 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30621 timeouts.
30622
30623 * normal/main.c (read_config_file): Push MENU. If this fails,
30624 print an error and wait for a user input.
30625 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30626 If a menu is empty or an error occurs, pop MENU.
30627 (grub_normal_execute): Pop and free MENU after grub_menu_run
30628 returns.
30629
30630 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30631
30632 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30633 include time.h.
30634 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30635 without GRUB_UTIL.
30636 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30637 time.h.
30638 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30639 without GRUB_UTIL.
30640
30641 * include/grub/normal.h (struct grub_menu_list): New struct.
30642 (grub_menu_list_t): New type.
30643 (struct grub_context): New struct.
30644 (grub_context_t): New type.
30645 (grub_register_command): Got rid of EXPORT_FUNC.
30646 (grub_unregister_command): Likewise.
30647 (grub_context_get): New prototype.
30648 (grub_context_get_current_menu): Likewise.
30649 (grub_context_push_menu): Likewise.
30650 (grub_context_pop_menu): Likewise.
30651 [GRUB_UTIL] (grub_default_init): Likewise.
30652 [GRUB_UTIL] (grub_default_fini): Likewise.
30653 [GRUB_UTIL] (grub_timeout_init): Likewise.
30654 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30655
30656 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30657 commands/timeout.c and normal/context.c.
30658 (pkgdata_MODULES): Added default.mod and timeout.mod.
30659 (normal_mod_SOURCES): Added normal/context.c.
30660 (default_mod_SOURCES): New variable.
30661 (default_mod_CFLAGS): Likewise.
30662 (timeout_mod_SOURCES): Likewise.
30663 (timeout_mod_CFLAGS): Likewise.
30664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30665 conf/i386-pc.rmk.
30666 (pkgdata_MODULES): Added default.mod and timeout.mod.
30667 (normal_mod_SOURCES): Added normal/context.c.
30668 (default_mod_SOURCES): New variable.
30669 (default_mod_CFLAGS): Likewise.
30670 (timeout_mod_SOURCES): Likewise.
30671 (timeout_mod_CFLAGS): Likewise.
30672
30673 * Makefile.in (all-local): Added $(MKFILES).
30674
30675 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30676
30677 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30678 (grub_emu_SOURCES): Likewise.
30679 (pkgdata_MODULES): Add `sun.mod'.
30680 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30682 `partmap/sun.c'.
30683 (pkgdata_MODULES): Add `sun.mod'.
30684 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30685 * include/grub/partition.h (grub_sun_partition_map_init): New
30686 prototype.
30687 (grub_sun_partition_map_fini): Likewise.
30688 * partmap/sun.c: New file.
30689 * util/grub-emu.c (main): Initialize and de-initialize the sun
30690 partitionmap support.
30691
30692 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30693
30694 This implements an Emacs-like menu entry editor.
30695
30696 * normal/menu_entry.c: New file.
30697
30698 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30699 characters to ASCII.
30700 (saved_char): New variable.
30701 (grub_ncurses_checkkey): Rewritten completely.
30702 (grub_ncurses_getkey): Likewise.
30703 (grub_ncurses_init): Call raw instead of cbreak.
30704
30705 * normal/menu.c (print_entry): Do not put a space.
30706 (init_page): Renamed to ...
30707 (grub_menu_init_page): ... this. All callers changed.
30708 (edit_menu_entry): Removed.
30709 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30710
30711 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30712
30713 * kern/misc.c (grub_vprintf): Call grub_refresh.
30714
30715 * normal/menu.c (DISP_LEFT): Renamed to ...
30716 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30717 * normal/menu.c (DISP_UP): Renamed to ...
30718 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30719 * normal/menu.c (DISP_RIGHT): Renamed to ...
30720 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30721 * normal/menu.c (DISP_DOWN): Renamed to ...
30722 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30723 * normal/menu.c (DISP_HLINE): Renamed to ...
30724 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30725 * normal/menu.c (DISP_VLINE): Renamed to ...
30726 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30727 * normal/menu.c (DISP_UL): Renamed to ...
30728 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30729 * normal/menu.c (DISP_UR): Renamed to ...
30730 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30731 * normal/menu.c (DISP_LL): Renamed to ...
30732 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30733 * normal/menu.c (DISP_LR): Renamed to ...
30734 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30735 * normal/menu.c (TERM_WIDTH): Renamed to ...
30736 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30737 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30738 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30739 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30740 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30741 * normal/menu.c (TERM_MARGIN): Renamed to ...
30742 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30743 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30744 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30745 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30746 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30747 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30748 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30749 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30750 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30751 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30752 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30753 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30754 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30755 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30756 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30757 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30758 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30759 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30760 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30761 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30762 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30763 All callers changed.
30764
30765 * include/grub/normal.h: New prototype.
30766
30767 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30768 normal/menu_entry.c.
30769 (normal_mod_SOURCES): Likewise.
30770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30771 (normal_mod_SOURCES): Likewise.
30772
30773 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30774
30775 * include/grub/normal.h (grub_halt_init): New prototype.
30776 (grub_halt_fini): Likewise.
30777 (grub_reboot_init): Likewise.
30778 (grub_reboot_fini): Likewise.
30779
30780 * util/grub-emu.c: Include signal.h.
30781 (main_env): New global variable.
30782 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30783 catch C-c.
30784 (grub_machine_fini): New function.
30785 (main): Call grub_halt_init and grub_reboot_init before
30786 grub_main, and grub_reboot_fini and grub_halt_fini after it.
30787 Call setjmp with MAIN_ENV to go back afterwards.
30788 Call grub_machine_fini right before return.
30789
30790 * include/grub/util/misc.h: Include setjmp.h.
30791 (main_env): New prototype.
30792
30793 * include/grub/kernel.h (grub_machine_fini): New prototype.
30794 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
30795 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
30796
30797 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
30798 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
30799 * term/i386/pc/console.c (grub_console_fini): Likewise.
30800
30801 * util/i386/pc/misc.c: New file.
30802
30803 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30804 util/i386/pc/misc.c, commands/i386/pc/halt.c and
30805 commands/i386/pc/reboot.c.
30806
30807 2005-02-14 Guillem Jover <guillem@hadrons.org>
30808
30809 * include/grub/dl.h (grub_dl_check_header): New prototype.
30810 (grub_arch_dl_check_header): Change return type to grub_err_t,
30811 remove size parameter and export function. Update all callers.
30812 * kern/dl.c (grub_dl_check_header): New function.
30813 (grub_dl_load_core): Use `grub_dl_check_header' instead of
30814 `grub_arch_dl_check_header'. Check ELF type. Check if sections
30815 are inside the core.
30816 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
30817 independent ELF header checks.
30818 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30819 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
30820 `grub_dl_check_header' instead of explicit checks. Check for the
30821 ELF type.
30822 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
30823 `grub_dl_check_header' instead of explicit checks. Remove arch
30824 specific ELF header checks.
30825
30826 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
30827 argument SIZE.
30828
30829 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
30830
30831 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
30832 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
30833
30834 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
30835
30836 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
30837 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
30838 (part_map_iterate): Clear `grub_errno' and return 0 if
30839 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
30840 * partmap/amiga.c (amiga_partition_map_iterate): Return
30841 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
30842 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30843
30844 2005-02-01 Guillem Jover <guillem@hadrons.org>
30845
30846 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
30847 help info.
30848
30849 2005-01-31 Marco Gerards <metgerards@student.han.nl>
30850
30851 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
30852 Removed prototype.
30853 (grub_rescue_cmd_linux): New prototype.
30854 (grub_rescue_cmd_initrd): Likewise.
30855 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
30856 `bi_rec'.
30857 (grub_linux_release_mem): Release the memory for the initrd.
30858 (grub_load_linux): Renamed from this...
30859 (grub_rescue_cmd_linux): ...To this. Changed all callers.
30860 Changed `entry' not to be static. Loop over memory regions to
30861 find another one when the default fails.
30862 (grub_rescue_cmd_initrd): New function.
30863 (grub_linux_init): Remove function.
30864 (grub_linux_fini): Likewise.
30865 (GRUB_MOD_INIT): Register `initrd'.
30866 (GRUB_MOD_FINI): Unregister `initrd'.
30867 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
30868 Function removed.
30869 (grub_linux_normal_fini): Likewise.
30870 (GRUB_MOD_INIT): Register `initrd'.
30871 (GRUB_MOD_FINI): Unregister `initrd'.
30872
30873 2005-01-31 Marco Gerards <metgerards@student.han.nl>
30874
30875 * commands/help.c: New file.
30876 * normal/arg.c (show_help): Renamed to...
30877 (grub_arg_show_help): ... this.
30878 * commands/i386/pc/halt.c: New file.
30879 * commands/i386/pc/reboot.c: Likewise.
30880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
30881 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
30882 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
30883 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
30884 variables.
30885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30886 `commands/help.c'.
30887 (pkgdata_MODULES): Add `help.mod'.
30888 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
30889 * grub/i386/pc/init.h (grub_reboot): New prototype.
30890 (grub_halt): Likewise.
30891 * include/grub/normal.h (grub_arg_show_help): New prototype.
30892 (grub_help_init): Likewise.
30893 (grub_help_fini): Likewise.
30894 * util/grub-emu.c (main): Initialize and deinitialize the help
30895 command.
30896
30897 * normal/cmdline.c (grub_cmdline_get): Doc fix.
30898
30899 * normal/command.c (grub_command_init): Fixed the description of
30900 the `set' and `unset' commands.
30901
30902 2005-01-31 Marco Gerards <metgerards@student.han.nl>
30903
30904 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
30905 function.
30906 * commands/ieee1275/halt.c: New file.
30907 * commands/ieee1275/reboot.c: Likewise.
30908 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
30909 `__attribute__ ((unused))'. Some GCS related fixed.
30910 (grub_suspend_init) [GRUB_UTIL]: Function removed.
30911 (grub_suspend_fini): Likewise.
30912 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
30913 and `halt.mod'.
30914 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
30915 (halt_mod_CFLAGS): New variables.
30916 * include/grub/powerpc/ieee1275/ieee1275.h
30917 (grub_ieee1275_interpret): New prototype.
30918
30919 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
30920
30921 * include/grub/misc.h (memmove): New prototype.
30922 (memcpy): Likewise.
30923
30924 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
30925
30926 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
30927 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
30928
30929 2005-01-22 Marco Gerards <metgerards@student.han.nl>
30930
30931 * kern/misc.c (grub_strndup): Function rewritten.
30932
30933 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
30934
30935 * normal/menu.c (TERM_WIDTH): Macro redefined.
30936 (TERM_TOP_BORDER_Y): Likewise.
30937 (draw_border): Replaced while-loop by a for-loop. Make the number
30938 of lines consistent with the number of lines displayed in
30939 print_entries. Added a margin below the rectangle.
30940 (print_entry): Make the entry fit in the rectangle.
30941 (print_entries): Display the scroll arrows next to the right
30942 border.
30943
30944 2005-01-21 Marco Gerards <metgerards@student.han.nl>
30945
30946 * fs/minix.c (grub_minix_find_file): Reserve more space for
30947 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
30948 `grub_strncpy' to copy `path' into it.
30949
30950 2005-01-21 Marco Gerards <metgerards@student.han.nl>
30951
30952 Add the loopback device, a device via which files can be accessed
30953 as devices.
30954
30955 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
30956 (pkgdata_MODULES): Add loopback.mod.
30957 (loopback_mod_SOURCES): New variable.
30958 (loopback_mod_CFLAGS): Likewise.
30959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30960 `disk/loopback.c'.
30961 (pkgdata_MODULES): Add loopback.mod.
30962 (loopback_mod_SOURCES): New variable.
30963 (loopback_mod_CFLAGS): Likewise.
30964 * disk/loopback.c: new file.
30965 * include/grub/normal.h (grub_loop_init): New prototype.
30966 (grub_loop_fini): New prototype.
30967 * util/grub-emu.c (main): Initialize and de-initialize loopback
30968 support.
30969 * include/grub/disk.h (grub_disk_dev_id): Add
30970 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
30971
30972 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
30973
30974 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
30975 function.
30976 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
30977 (suspend_mod_SOURCES): New variable.
30978 (suspend_mod_CFLAGS): Likewise.
30979 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
30980 New prototype.
30981 * commands/ieee1275/suspend.c: New file.
30982
30983 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30984
30985 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
30986 ((unused))' to `__attribute__ ((used))'.
30987 (GRUB_MOD_FINI): Likewise.
30988 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
30989 * genmk.rb (PModule): Assign space to common symbols when linking
30990 modules.
30991
30992 2005-01-20 Marco Gerards <metgerards@student.han.nl>
30993
30994 * include/grub/mm.h (grub_mm_init_region): Change the type of the
30995 `unsigned' arguments to `grub_size_t'.
30996 (grub_malloc): Likewise.
30997 (grub_realloc): Likewise.
30998 (grub_memalign): Likewise.
30999 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31000 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31001 * util/misc.c (grub_malloc): Likewise.
31002 (grub_realloc): Likewise.
31003 * kern/mm.c (get_header_from_pointer): Change the casts to
31004 `unsigned' into a cast to `grub_size_t'.
31005
31006 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31007 point to `currnode' when `currnode' is changed.
31008
31009 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31010 Schottelius <nico-linux@schottelius.org>.
31011
31012 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31013
31014 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31015 (note_path): Remove variable.
31016 (GRUB_IEEE1275_NOTE_NAME): New macro.
31017 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31018 (grub_ieee1275_note_hdr): New structure.
31019 (grub_ieee1275_note_desc): Likewise.
31020 (grub_ieee1275_note): Likewise.
31021 (load_note): Remove `dir' argument. All callers updated. Remove
31022 `note_img' and `path'. Do not load a file from `note_path'.
31023 Initialize a struct grub_ieee1275_note and write that to `out'.
31024 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31025
31026 2005-01-05 Marco Gerards <metgerards@student.han.nl>
31027
31028 * util/misc.c (grub_util_read_image): Revert last change. It
31029 called `grub_util_read_at', which seeks from the beginning of the
31030 file.
31031
31032 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31033
31034 * TODO: Add note about endianness in grub-mkimage.
31035 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31036 section.
31037 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31038 (grub_mkimage_SOURCES): New target.
31039 * include/grub/kernel.h (grub_start_addr): Remove variable.
31040 (grub_end_addr): Likewise.
31041 (grub_total_module_size): Likewise.
31042 (grub_kernel_image_size): Likewise.
31043 (GRUB_MODULE_MAGIC): New constant.
31044 (grub_module_info): New structure.
31045 (grub_arch_modules_addr): New prototype.
31046 (grub_get_end_addr): Remove prototype.
31047 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31048 * include/grub/powerpc/ieee1275/kernel.h: New file.
31049 * include/grub/util/misc.h (grub_util_get_fp_size): New
31050 prototype.
31051 (grub_util_read_at): Likewise.
31052 (grub_util_write_image_at): Likewise.
31053 * kern/main.c (grub_get_end_addr): Remove function.
31054 (grub_load_modules): Call grub_arch_modules_addr instead of using
31055 grub_end_addr. Look for a grub_module_info struct in memory. Use
31056 the grub_module_info fields instead of calling grub_get_end_addr
31057 as loop conditions. Move grub_add_unused_region code here.
31058 (grub_add_unused_region): Remove function.
31059 * kern/i386/pc/init.c: Include grub/cache.h.
31060 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31061 one call to add_mem_region.
31062 (grub_arch_modules_addr): New function.
31063 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31064 (grub_total_module_size): Likewise.
31065 Include grub/machine/kernel.h.
31066 (grub_arch_modules_addr): New function.
31067 * util/grub-emu.c (grub_end_addr): Remove variable.
31068 (grub_total_module_size): Likewise.
31069 (grub_arch_modules_addr): New function.
31070 * util/misc.c: Include unistd.h.
31071 (grub_util_get_fp_size): New function.
31072 (grub_util_read_at): Likewise.
31073 (grub_util_write_image_at): Likewise.
31074 (grub_util_read_image): Call grub_util_read_at.
31075 (grub_util_write_image): Call grub_util_write_image_at.
31076 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31077 additional memory in kernel_img for a struct grub_module_info.
31078 Fill in that grub_module_info.
31079 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31080
31081 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31082
31083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31084 New function.
31085 * include/grub/powerpc/ieee1275/ieee1275.h
31086 (grub_ieee1275_milliseconds): New prototype.
31087 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31088 Change to 1000.
31089 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31090 grub_ieee1275_milliseconds.
31091
31092 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31093
31094 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31095 variable.
31096 (find_options): New function.
31097 (cmain): Call find_options.
31098 * include/grub/powerpc/ieee1275/ieee1275.h
31099 (grub_ieee1275_realmode): New extern variable.
31100 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31101 grub_map if grub_ieee1275_realmode is false.
31102
31103 2004-12-29 Marco Gerards <metgerards@student.han.nl>
31104
31105 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31106 lines are inserted and make it work like readline. Reported by
31107 Vincent Pelletier <subdino2004@yahoo.fr>.
31108
31109 2004-12-28 Marco Gerards <metgerards@student.han.nl>
31110
31111 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31112
31113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31114 `kern/powerpc/cache.S'.
31115
31116 2004-12-27 Marco Gerards <metgerards@student.han.nl>
31117
31118 * genmk.rb: Handle the `Program' class in the main loop. Written
31119 by Johan Rydberg <jrydberg@gnu.org>.
31120 (Program): New class.
31121 (programs): New variable.
31122 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31123 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31124 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31125 (help_arch): Function removed.
31126 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31127 `powerpc/libgcc.h' and `loader.h'.
31128 (pkgdata_PROGRAMS): New variable.
31129 (sbin_UTILITIES): Variable removed.
31130 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31131 (grubof_SOURCES): Variable re-defined so it only includes the
31132 core functionality.
31133 (grubof_CFLAGS): Remove `-DGRUBOF'.
31134 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31135 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31136 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31137 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31138 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31139 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31140 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31141 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31142 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31143 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31144 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31145 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31146 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31147 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31148 (pc_mod_CFLAGS): New variables.
31149 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31150 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31151 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31152 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31153 Moved from here...
31154 * include/grub/i386/pc/init.h (grub_os_area_addr)
31155 (rub_os_area_size): ... to here.
31156 * include/grub/powerpc/ieee1275/ieee1275.h
31157 (grub_ieee1275_entry_fn): Export symbol.
31158 * include/grub/powerpc/ieee1275/init.h: New file.
31159 * include/grub/powerpc/libgcc.h: Likewise.
31160 * include/grub/cache.h: Likewise.
31161 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31162 <hollis@penguinppc.org>.
31163 * kern/dl.c: Include <grub/cache.h>.
31164 (grub_dl_flush_cache): New function.
31165 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31166 for this module.
31167 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31168 (grub_console_init): Removed prototypes.
31169 (grub_machine_init): Don't initialize the modules anymore.
31170 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31171 static.
31172 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31173 Macro undef removed.
31174 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31175 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31176 relocation `R_PPC_REL32'. Return an error when the relocation is
31177 unknown.
31178 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31179 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31180 * util/misc.c (grub_arch_sync_caches): Likewise.
31181
31182 2004-12-19 Marco Gerards <metgerards@student.han.nl>
31183
31184 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31185 `symlist.c', add `grubof_symlist.c'.
31186 (symlist.c): Variable removed.
31187 (grubof_HEADERS): Variable added.
31188 (grubof_symlist.c): New target.
31189 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31190 `kernel_img_HEADERS'.
31191 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31192 * kern/powerpc/dl.c: New file.
31193 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31194 Function removed.
31195 (grub_arch_dl_relocate_symbols): Likewise.
31196 (grub_register_exported_symbols): Likewise.
31197
31198 2004-12-13 Marco Gerards <metgerards@student.han.nl>
31199
31200 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31201 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31202 to fail instead. Reported by Vincent Pelletier
31203 <subdino2004@yahoo.fr>.
31204
31205 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31206 it is not allocated. Reported by Vincent Pelletier
31207 <subdino2004@yahoo.fr>.
31208
31209 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31210 output so the output looks better.
31211
31212 2004-12-04 Marco Gerards <metgerards@student.han.nl>
31213
31214 Modulize the partition map support and add support for the amiga
31215 partition map.
31216
31217 * commands/ls.c: Include <grub/partition.h> instead of
31218 <grub/machine/partition.h>.
31219 * kern/disk.c: Likewise.
31220 * kern/rescue.c: Likewise.
31221 * loader/i386/pc/chainloader.c: Likewise.
31222 * normal/cmdline.c: Likewise.
31223 * kern/powerpc/ieee1275/init.c: Likewise.
31224 (grub_machine_init): Call `grub_pc_partition_map_init',
31225 `grub_amiga_partition_map_init' and
31226 `grub_apple_partition_map_init'.
31227 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31228 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31229 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31230 `partition.h' and `pc_partition.h'.
31231 (grub_setup_SOURCES): Remove
31232 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31233 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31234 (grub_emu_SOURCES): Likewise.
31235 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31236 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31237 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31239 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31240 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31241 (grubof_SOURCES): Likewise.
31242 * disk/i386/pc/partition.c: File removed.
31243 * disk/powerpc/ieee1275/partition.c: Likewise.
31244 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31245 * include/grub/i386/pc/partition.h: Likewise.
31246 * kern/partition.c: New file.
31247 * partmap/amiga.c: Likewise.
31248 * partmap/apple.c: Likewise.
31249 * partmap/pc.c: Likewise.
31250 * include/grub/partition.h: Likewise..
31251 * include/grub/pc_partition.h: Likewise.
31252 * util/grub-emu.c: Include <grub/partition.h> instead of
31253 <grub/machine/partition.h>.
31254 (main): Call `grub_pc_partition_map_init',
31255 `grub_amiga_partition_map_init' and
31256 `grub_apple_partition_map_init' and deinitialize afterwards.
31257 * util/i386/pc/biosdisk.c: Include `#include
31258 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31259 `<grub/machine/partition.h>'.
31260 * util/i386/pc/grub-setup.c: Likewise.
31261 * util/i386/pc/biosdisk.c: Likewise.
31262 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31263 partition information in case of a PC partition.
31264 * util/i386/pc/grub-setup.c: Include `#include
31265 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31266 `<grub/machine/partition.h>'.
31267 (setup): Only access the PC specific partition information in case
31268 of a PC partition.
31269
31270 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
31271
31272 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31273 (grub_longjmp): Likewise.
31274 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31275 20.
31276 * normal/powerpc/setjmp.S: New file.
31277 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31278 `normal/powerpc/setjmp.S'.
31279 (grubof_CFLAGS): Add `-DGRUBOF'.
31280 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31281 [GRUB_UTIL && !GRUBOF].
31282
31283 2004-11-16 Marco Gerards <metgerards@student.han.nl>
31284
31285 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31286 property named `name'. Correctly handle the error returned by
31287 `grub_ieee1275_finddevice' if a device can not be opened.
31288
31289 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31290
31291 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31292 `actual' for negativity.
31293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31294 kern/fshelp.c.
31295
31296 2004-11-01 Marco Gerards <metgerards@student.han.nl>
31297
31298 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31299 (PAGE_OFFSET): New macro.
31300 (CRTC_ADDR_PORT): Likewise.
31301 (CRTC_DATA_PORT): Likewise.
31302 (START_ADDR_HIGH_REGISTER): Likewise.
31303 (START_ADDR_LOW_REGISTER): Likewise.
31304 (GRAPHICS_ADDR_PORT): Likewise.
31305 (GRAPHICS_DATA_PORT): Likewise.
31306 (READ_MAP_REGISTER): Likewise.
31307 (INPUT_STATUS1_REGISTER): Likewise.
31308 (INPUT_STATUS1_VERTR_BIT): Likewise.
31309 (page): New variable.
31310 (wait_vretrace): New function.
31311 (set_read_map): Likewise.
31312 (set_start_address): Likewise.
31313 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31314 the right page.
31315 (check_vga_mem): Take the page into account.
31316 (write_char): Likewise.
31317 (write_cursor): Likewise.
31318 (scroll_up): Likewise. Copy the page to the page that is not
31319 shown and switch between both pages.
31320 (grub_vga_putchar): Fix off by one error.
31321 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31322 account.
31323
31324 2004-11-01 Marco Gerards <metgerards@student.han.nl>
31325
31326 Add support for iso9660 (including rockridge).
31327
31328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31329 (iso9660_mod_SOURCES): New variable.
31330 (iso9660_mod_CFLAGS): Likewise.
31331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31332 * include/grub/fs.h (grub_iso9660_init): New prototype.
31333 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31334 * fs/iso9660.c: New file.
31335
31336 * include/grub/misc.h (grub_strncat): New prototype.
31337 * kern/misc.c (grub_strncat): New function.
31338
31339 * fs/hfs.c (grub_hfs_mount): Translate the error
31340 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31341 * fs/jfs.c (grub_jfs_mount): Likewise.
31342 * fs/ufs.c (grub_ufs_mount): Likewise.
31343
31344 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31345
31346 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31347 which initialized BAT registers.
31348 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31349 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31350 Move from here...
31351 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31352 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31353 ... to here.
31354 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31355 (grub_mapclaim): Likewise.
31356 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31357 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31358 hand.
31359
31360 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31361
31362 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31363 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31364 -ffreestanding and -msoft-float.
31365
31366 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31367
31368 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31369 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31370 set in grub_ieee1275_flags.
31371
31372 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31373
31374 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31375 prototype.
31376 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31377 grub_console_init first.
31378 Change the memory range used for grub_ieee1275_claim and
31379 grub_mm_init_region.
31380 Print an error message if the claim fails.
31381 Include <grub/misc.h>.
31382
31383 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31384
31385 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31386 Call grub_children_iterate for device nodes of type `scsi',
31387 `ide', or `ata'.
31388 (grub_ofdisk_open): Remove manual device alias resolution.
31389 Fix memory leak when device cannot be opened.
31390 * include/grub/powerpc/ieee1275/ieee1275.h
31391 (grub_children_iterate): New prototype.
31392 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31393 New function.
31394 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31395 Return -1 if args.size was -1.
31396
31397 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31398
31399 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31400 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31401 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31402 Open Firmware's memory for it; claim memory from _start to _end.
31403 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31404 (_end): New extern.
31405 (_start): Zero BSS from __bss_start to _end.
31406 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31407 New extern.
31408 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31409
31410 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31411
31412 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31413 -1 if args.base was -1.
31414
31415 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31416
31417 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31418 escape sequence instead of a literal ^L. Also call
31419 grub_ofconsole_gotoxy.
31420
31421 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31422
31423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31424 void * arguments to grub_addr_t. All callers updated. Also make
31425 the `result' argument optional.
31426 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31427 All callers updated.
31428
31429 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31430
31431 * commands/ls.c (grub_ls_list_files): Use the string following the
31432 initial ')', if present, as the filesystem path.
31433 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31434
31435 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31436
31437 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31438
31439 Make the source code of the menu interface more readable.
31440
31441 * normal/menu.c: Include grub/mm.h.
31442 (TERM_WIDTH): New macro.
31443 (TERM_HEIGHT): Likewise.
31444 (TERM_INFO_HEIGHT): Likewise.
31445 (TERM_MARGIN): Likewise.
31446 (TERM_SCROLL_WIDTH): Likewise.
31447 (TERM_TOP_BORDER_Y): Likewise.
31448 (TERM_LEFT_BORDER_X): Likewise.
31449 (TERM_BORDER_WIDTH): Likewise.
31450 (TERM_MESSAGE_HEIGHT): Likewise.
31451 (TERM_BORDER_HEIGHT): Likewise.
31452 (TERM_NUM_ENTRIES): Likewise.
31453 (TERM_FIRST_ENTRY_Y): Likewise.
31454 (TERM_ENTRY_WIDTH): Likewise.
31455 (TERM_CURSOR_X): Likewise.
31456 (draw_border): Use macros instead of magic numbers.
31457 (print_entry): Likewise.
31458 (print_entries): Likewise.
31459 (run_menu): Likewise. Also, handle the key 'e'.
31460 (run_menu_entry): Ignore empty command lines.
31461 (print_message): Added a new argument EDIT. If EDIT is true,
31462 print a different message.
31463 (init_page): Likewise.
31464 (edit_menu_entry): New function. Not implemented yet.
31465
31466 2004-09-17 Marco Gerards <metgerards@student.han.nl>
31467
31468 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31469 can be loaded from normal mode.
31470
31471 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31472 `multiboot.mod'.
31473 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31474 (multiboot_mod_CFLAGS): New variables.
31475 * loader/i386/pc/linux_normal.c: New file.
31476 * loader/i386/pc/multiboot_normal.c: Likewise.
31477
31478 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31479 attribute `unused'.
31480
31481 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31482 `fdiro' to read the mode information from instead of `diro'.
31483
31484 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31485 looking up a symlink.
31486
31487 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31488 macro.
31489 * normal/command.c (grub_command_execute): Don't parse the
31490 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31491 flags of the command.
31492
31493 * normal/menu.c (grub_menu_run): Fix typo.
31494
31495 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31496
31497 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31498
31499 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31500 `y + 1' instead of `y - 1'.
31501
31502 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
31503
31504 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31505
31506 From Hollis Blanchard <hollis@penguinppc.org>:
31507 * kern/misc.c (memmove): New alias for grub_memmove.
31508 (memcmp): New alias for grub_memcmp.
31509 (memset): New alias for grub_memset.
31510 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31511 Change "int handle" to "grub_ieee1275_phandle_t handle".
31512 * include/grub/powerpc/ieee1275/ieee1275.h
31513 (grub_ieee1275_get_property): Likewise.
31514
31515 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31516
31517 Added normal mode command `chainloader' as module chain.mod, which
31518 depends on normal.mod and _chain.mod.
31519
31520 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31521 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31522 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31523 Deleted prototype.
31524 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31525 but arguments parsing moved to ...
31526 (grub_chainloader_cmd): ... here. New function.
31527 * include/grub/i386/pc/chainloader.h: New file.
31528 * loader/i386/pc/chainloader_normal.c: Likewise.
31529
31530 2004-09-11 Marco Gerards <metgerards@student.han.nl>
31531
31532 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31533 (grub_mkimage_LDFLAGS): Likewise.
31534 (grub_emu_SOURCES): Likewise.
31535 (kernel_img_HEADERS): Added fshelp.h.
31536 * fs/ext2.c: Include <grub/fshelp.h>.
31537 (FILETYPE_REG): New macro.
31538 (FILETYPE_INO_REG): Likewise.
31539 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31540 Changed all users.
31541 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31542 all users.
31543 (grub_fshelp_node): New struct.
31544 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31545 to a pointer.
31546 (grub_ext2_get_file_block): Removed function.
31547 (grub_ext2_read_block): New function.
31548 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31549 This function was written.
31550 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31551 (grub_ext2_find_file): Removed function.
31552 (grub_ext2_read_symlink): New function.
31553 (grub_ext2_iterate_dir): Likewise.
31554 (grub_ext2_open): Rewritten.
31555 (grub_ext2_dir): Rewritten.
31556 * include/grub/fshelp.h: New file.
31557 * fs/fshelp.c: Likewise.
31558
31559 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31560
31561 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31562 (print_message): Add a missing newline.
31563 (run_menu): Added timeout support.
31564 (run_menu_entry): New local function.
31565 (grub_menu_run): Added support for booting.
31566
31567 * kern/loader.c (grub_loader_is_loaded): New function.
31568
31569 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31570 (grub_get_rtc): Exported.
31571
31572 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31573 (grub_get_rtc): Exported.
31574
31575 * include/grub/normal.h (struct grub_command_list): Remove
31576 constant from the member `command'.
31577
31578 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31579
31580 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31581
31582 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31583
31584 2004-08-28 Marco Gerards <metgerards@student.han.nl>
31585
31586 Add support for the JFS filesystem.
31587
31588 * fs/jfs.c: New file.
31589 * include/grub/fs.h (grub_jfs_init): New prototype.
31590 (grub_jfs_fini): New prototype.
31591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31592 (grub_emu_SOURCES): Likewise.
31593 (pkgdata_MODULES): Add jfs.mod.
31594 (jfs_mod_SOURCES): New variable.
31595 (jfs_mod_CFLAGS): Likewise.
31596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31597 (grubof_SOURCES): Likewise.
31598 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31599
31600 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31601 endian to the host endian.
31602 (grub_fat_utf16_to_utf8): Move function from there...
31603 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
31604 the endianness of the source string anymore.
31605 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31606
31607 2004-08-24 Marco Gerards <metgerards@student.han.nl>
31608
31609 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31610 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31611 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31612 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
31613
31614 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31615 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31616 for `node_found' and `it_dir'.
31617 (grub_hfs_dir): Add prototype for `dir_hook'.
31618
31619 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31620 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31621 and `indir32' to silence a gcc warning.
31622
31623 * include/grub/fs.h (grub_hfs_init): New prototype.
31624 (grub_hfs_fini): Likewise.
31625
31626
31627 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31628
31629 Each disk device has its own id now. This is useful to make use
31630 of multiple disk devices.
31631
31632 * include/grub/disk.h (grub_disk_dev_id): New enum.
31633 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31634 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31635
31636 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31637 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31638
31639 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31640 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31641
31642 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31643 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31644
31645 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31646 "id" which is used by the cache manager.
31647
31648 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31649 of just "GRUB".
31650
31651 2004-08-18 Marco Gerards <metgerards@student.han.nl>
31652
31653 * fs/hfs.c: New file.
31654 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31655 (grub_emu_SOURCES): Likewise.
31656 (pkgdata_MODULES): Add hfs.mod.
31657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31658 (grubof_SOURCES): Likewise.
31659 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31660
31661 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31662 * kern/misc.c (grub_strncasecmp): Add function.
31663
31664 2004-08-14 Marco Gerards <metgerards@student.han.nl>
31665
31666 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31667 with parentheses.
31668
31669 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31670 (grub_ext2_dir): In case the directory entry type is unknown, read
31671 it from the inode.
31672
31673 2004-08-02 Peter Bruin <pjbruin@dds.nl>
31674
31675 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31676 grub_load_linux instead of grub_rescue_cmd_linux as second
31677 argument of grub_rescue_register_command.
31678
31679 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31680
31681 2004-07-27 Marco Gerards <metgerards@student.han.nl>
31682
31683 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31684 function.
31685 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31686 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31687 `loader/powerpc/ieee1275/linux.c',
31688 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31689 * include/grub/powerpc/ieee1275/ieee1275.h
31690 (grub_ieee1275_release): New prototype.
31691 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31692 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31693 normal, boot, linux and linux_normal.
31694 * loader/powerpc/ieee1275/linux.c: New file.
31695 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31696
31697 2004-07-12 Marco Gerards <metgerards@student.han.nl>
31698
31699 * normal/arg.c (grub_arg_parse): Correct error handling after
31700 reallocating the argumentlist (check if `argl' is not null instead
31701 of checking if `args' is not null).
31702 * kern/mm.c (grub_realloc): Return the same pointer when using the
31703 same region, instead of returning the header address.
31704
31705 2004-07-11 Marco Gerards <metgerards@student.han.nl>
31706
31707 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31708 one block instead of two when looking for the initial partition.
31709 (grub_partition_probe): Initialize the local variable `p' with 0.
31710 Use base 10 for the grub_strtoul call.
31711 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31712 need for one local variable.
31713 (grub_strtoul): Don't add the new value to `num', instead of that
31714 just assign it.
31715
31716 2004-07-11 Marco Gerards <metgerards@student.han.nl>
31717
31718 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31719 (pxeboot_img_SOURCES): New variable.
31720 (pxeboot_img_ASFLAGS): Likewise.
31721 (pxeboot_img_LDFLAGS): Likewise.
31722 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31723 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31724 <lode_leroy@hotmail.com>.
31725
31726 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31727
31728 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31729 there was no input.
31730
31731 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31732
31733 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31734 the history buffer logic.
31735
31736 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31737
31738 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31739 (FILETYPE_INO_SYMLINK): New macros.
31740 (grub_ext2_find_file): Check if the node is a directory using the
31741 inode stat information instead of using the filetype in the
31742 dirent. Exclude the first character of an absolute symlink.
31743 (grub_ext2_dir): Mask out the filetype part of the mode member of
31744 the inode.
31745
31746 2004-05-24 Marco Gerards <metgerards@student.han.nl>
31747
31748 Add support for UFS version 1 and 2. Add support for the minix
31749 filesystem version 1 and 2, both the variants with 14 and 30 long
31750 filenames.
31751
31752 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31753 fs/minix.c.
31754 (grub_emu_SOURCES): Likewise.
31755 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31756 (ufs_mod_SOURCES): New variable.
31757 (ufs_mod_CFLAGS): Likewise.
31758 (minix_mod_SOURCES): Likewise.
31759 (minix_mod_CFLAGS): Likewise.
31760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31761 fs/minix.c.
31762 (grubof_SOURCES): Likewise.
31763 * fs/ufs.c: New file.
31764 * fs/minix.c: New file.
31765 * include/grub/fs.h (grub_ufs_init): New prototype.
31766 (grub_ufs_fini): Likewise.
31767 (grub_minix_init): Likewise.
31768 (grub_minix_fini): Likewise.
31769 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31770 minix fs.
31771
31772 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31773
31774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31775 commands/ls.c, commands/terminal.c, commands/boot.c,
31776 commands/cmp.c and commands/cat.c.
31777 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31778
31779 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31780 "env.h"
31781
31782 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31783
31784 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31785 and grub_, respectively. Because the conversion is trivial and
31786 mechanical, I omit the details here. Please refer to the CVS
31787 if you need more information.
31788
31789 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31790
31791 * include/pupa: Renamed to ...
31792 * include/grub: ... this.
31793 * util/i386/pc/pupa-mkimage.c: Renamed to ...
31794 * util/i386/pc/grub-mkimage.c: ... this.
31795 * util/i386/pc/pupa-setup.c: Renamed to ...
31796 * util/i386/pc/grub-setup.c: ... this.
31797 * util/pupa-emu.c: Renamed to ...
31798 * util/grub-emu.c: ... this.
31799
31800 2004-03-29 Marco Gerards <metgerards@student.han.nl>
31801
31802 Add support for the newworld apple macintosh (PPC). This has been
31803 tested on the powerbook 2000 only. It only adds support for
31804 generic ieee1275 functions, console and disk support. This should
31805 be easy to port to other architectures with support for Open
31806 Firmware.
31807
31808 * configure.ac: Accept the powerpc as host_cpu. In the case of
31809 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
31810 specific tests are only executed while building for the i386.
31811 Inverse test for crosscompile.
31812 * genmk.rb (Utility): Allow assembler files.
31813 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
31814 * conf/powerpc-ieee1275.rmk: New file.
31815 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
31816 * disk/powerpc/ieee1275/partition.c: Likewise.
31817 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
31818 * include/pupa/powerpc/ieee1275/console.h: Likewise.
31819 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
31820 * include/pupa/powerpc/ieee1275/time.h: Likewise.
31821 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
31822 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
31823 * include/pupa/powerpc/ieee1275/loader.h
31824 * include/pupa/powerpc/setjmp.h: Likewise.
31825 * include/pupa/powerpc/types.h: Likewise.
31826 * kern/powerpc/ieee1275/init.c: Likewise.
31827 * kern/powerpc/ieee1275/openfw.c: Likewise.
31828 * term/powerpc/ieee1275/ofconsole.c: Likewise.
31829
31830 These files were written by Johan Rydberg
31831 (jrydberg@night.trouble.net) and I only modified them slightly.
31832
31833 * boot/powerpc/ieee1275/cmain.c: New file.
31834 * boot/powerpc/ieee1275/crt0.S: Likewise.
31835 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
31836 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
31837
31838 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
31839
31840 * Makefile.in: Update copyright.
31841 * genmodsrc.sh: Likewise.
31842 * gensymlist.sh: Likewise.
31843 * term/i386/pc/vga.c: Indent correctly.
31844
31845 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
31846 bugreporting address.
31847 * util/i386/pc/pupa-setup.c (usage): Likewise,
31848 (main): Call pupa_ext2_init and pupa_ext2_fini.
31849
31850 * fs/fat.c (log2): Renamed to ...
31851 (fat_log2): ... this.
31852 All callers changed.
31853 * kern/misc.c (memcpy): Alias to pupa_memmove.
31854 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
31855 lvalue cast.
31856 * util/console.c (pupa_ncurses_fini): Return 0.
31857
31858 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
31859 Move fail label here.
31860 [__GNU__]: Don't warn when using stat.
31861 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
31862 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
31863 long int. Use strtol instead of strtoul.
31864
31865 2004-03-14 Marco Gerards <metgerards@student.han.nl>
31866
31867 * commands/boot.c: New file.
31868 * commands/cat.c: Likewise.
31869 * commands/cmp.c: Likewise.
31870 * commands/ls.c: Likewise.
31871 * commands/terminal.c: Likewise.
31872 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
31873 (pupa_register_command): Changed interface to match the new
31874 argument parser.
31875 (pupa_command_execute): Changed (almost rewritten) so it uses
31876 pupa_split_command. Added support for setting variables using the
31877 syntax `foo=bar'.
31878 (rescue_command): Changed to work with the new argument parser.
31879 (terminal_command): Moved from here to commands/terminal.c.
31880 (set_command): New function.
31881 (unset_command): New function.
31882 (insmod_command): New function.
31883 (rmmod_command): New function.
31884 (lsmod_command): New function.
31885 (pupa_command_init): Don't initialize the command terminal
31886 anymore. Initialize the commands set, unset, insmod, rmmod and
31887 lsmod.
31888 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
31889 (kernel_img_HEADERS): Add arg.h and env.h.
31890 (pupa_mkimage_LDFLAGS): Add kern/env.c.
31891 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
31892 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
31893 normal/arg.c.
31894 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
31895 terminal.mod.
31896 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
31897 (boot_mod_SOURCES): New variable.
31898 (terminal_mod_SOURCES): Likewise.
31899 (ls_mod_SOURCES): Likewise.
31900 (cmp_mod_SOURCES): Likewise.
31901 (cat_mod_SOURCES): Likewise.
31902
31903 * normal/arg.c: New file.
31904 * kern/env.c: Likewise.
31905 * include/pupa/arg.h: Likewise.
31906 * include/pupa/env.h: Likewise.
31907 * font/manager.c (font_command): Changed to match argument parsing
31908 interface changes.
31909 (PUPA_MOD_INIT): Likewise.
31910 * hello/hello.c (pupa_cmd_hello): Likewise.
31911 (PUPA_MOD_INIT): Likewise.
31912 * include/pupa/disk.h: Include <pupa/device.h>.
31913 (pupa_print_partinfo): New prototype.
31914 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
31915 (pupa_dl_get_prefix): Likewise.
31916 * include/pupa/misc.h: Include <pupa/err.h>.
31917 (pupa_isgraph): New prototype.
31918 (pupa_isdigit): Likewise.
31919 (pupa_split_cmdline): Likewise.
31920 * include/pupa/normal.h: Include <pupa/arg.h>.
31921 (pupa_command): Changed the prototype of the member `func' to
31922 match the argument parsing interface. Added member `options'.
31923 (pupa_register_command): Updated to match function.
31924 (pupa_arg_parse): New prototype.
31925 (pupa_hello_init) [PUPA_UTIL]: New prototype.
31926 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
31927 (pupa_ls_init) [PUPA_UTIL]: Likewise.
31928 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
31929 (pupa_cat_init) [PUPA_UTIL]: Likewise.
31930 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
31931 (pupa_boot_init) [PUPA_UTIL]: Likewise.
31932 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
31933 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
31934 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
31935 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
31936 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
31937 * kern/disk.c: Include <pupa/file.h>.
31938 (pupa_print_partinfo): New function.
31939 * kern/dl.c: Include <pupa/env.h>.
31940 (pupa_dl_dir): Variable removed.
31941 (pupa_dl_load): Use the environment variable `prefix' instead of
31942 the variable pupa_dl_dir.
31943 (pupa_dl_set_prefix): Function removed.
31944 (pupa_dl_get_prefix): Likewise.
31945 * kern/i386/pc/init.c: Include <pupa/env.h>.
31946 (pupa_machine_init): Use the environment variable `prefix' instead of
31947 using pupa_dl_set_prefix to set the prefix.
31948 * kern/main.c: Include <pupa/env.h>.
31949 (pupa_set_root_dev): Use the environment variable `prefix' instead of
31950 using pupa_dl_get_prefix to get the prefix.
31951 * kern/misc.c: Include <pupa/env.h>.
31952 (pupa_isdigit): New function.
31953 (pupa_isgraph): Likewise.
31954 (pupa_ftoa): Likewise.
31955 (pupa_vsprintf): Added support for printing values of the type
31956 `double'. Make it possible to format variable output when using
31957 formatting like `%1.2%f'.
31958 (pupa_split_cmdline): New function.
31959 * kern/rescue.c: Include <pupa/env.h>.
31960 (next_word): Removed function.
31961 (pupa_rescue_cmd_prefix): Likewise.
31962 (pupa_rescue_cmd_set): New function.
31963 (pupa_rescue_cmd_unset): New function.
31964 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
31965 split the command line instead of splitting it here. Added
31966 support for setting variables using the syntax `foo=bar'. Don't
31967 initialize the prefix command anymore. Initialized the set and
31968 unset commands.
31969 * normal/cmdline.c: Include <pupa/env.h>.
31970 (pupa_tab_complete): Added prototypes for print_simple_completion,
31971 print_partition_completion, add_completion, iterate_commands,
31972 iterate_dev, iterate_part and iterate_dir. Moved code to print
31973 partition information from here to kern/disk.c.
31974 (pupa_cmdline_run): Don't check if the function exists anymore.
31975 * normal/main.c: Include <pupa/env.h>.
31976 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
31977 instead of using pupa_dl_get_prefix to get the prefix.
31978 * term/i386/pc/vga.c: Include <pupa/arg.h>.
31979 (check_vga_mem): Cast pointers to `void *' to silence a gcc
31980 warning.
31981 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
31982 (pupa_vga_setcolor): Declare unused variables with `__attribute__
31983 ((unused))' to silence a gcc warning.
31984 (pupa_vga_setcolor): Likewise.
31985 (debug_command): Changed to match argument parsing
31986 interface changes.
31987 * util/pupa-emu.c: Include <pupa/env.h>.
31988 (options): Added 0's for unused fields to silence a gcc warning.
31989 (argp): Likewise.
31990 (main): Use the environment variable `prefix' instead of using
31991 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
31992 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
31993 and terminal.
31994
31995 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
31996 * util/misc.c: Include <malloc.h>.
31997 (pupa_malloc): Rewritten so errors are correctly reported.
31998 (pupa_realloc): Likewise.
31999 (pupa_memalign): Likewise.
32000 (pupa_mm_init_region): Declare unused variables with
32001 `__attribute__ ((unused))' to silence a gcc warning.
32002 * normal/i386/setjmp.S: Remove tab at the end of the file to
32003 silence a gcc warning.
32004 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32005 variables with `__attribute__ ((unused))' to silence a gcc
32006 warning.
32007 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32008 local variable i unsigned to silence a gcc warning.
32009
32010 * kern/term.c: Include <pupa/misc.h>.
32011 (pupa_more_lines): New variable.
32012 (pupa_more): Likewise.
32013 (pupa_putcode): When the pager is active pause at the end of every
32014 screen.
32015 (pupa_set_more): New function.
32016 * include/pupa/term.h (pupa_set_more): New prototype.
32017
32018
32019 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32020
32021 Now this project is GRUB 2 rather than PUPA. The location of
32022 the CVS repository was moved to GRUB's.
32023
32024 * configure.ac: Use bug-grub as the reporting address.
32025 Use GRUB instead of PUPA.
32026 Change the version number to 1.90.
32027
32028 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32029
32030 * genkernsyms.sh: Updated copyright information.
32031 * genmk.rb: Likewise.
32032 * genmodsrc.sh: Likewise.
32033 * gensymlist.sh: Likewise.
32034 * boot/i386/pc/boot.S: Likewise.
32035 * boot/i386/pc/diskboot.S: Likewise.
32036 * disk/i386/pc/biosdisk.c: Likewise.
32037 * disk/i386/pc/partition.c: Likewise.
32038 * font/manager.c: Likewise.
32039 * fs/ext2.c: Likewise.
32040 * fs/fat.c: Likewise.
32041 * include/pupa/boot.h: Likewise.
32042 * include/pupa/device.h: Likewise.
32043 * include/pupa/disk.h: Likewise.
32044 * include/pupa/dl.h: Likewise.
32045 * include/pupa/elf.h: Likewise.
32046 * include/pupa/err.h: Likewise.
32047 * include/pupa/file.h: Likewise.
32048 * include/pupa/font.h: Likewise.
32049 * include/pupa/fs.h: Likewise.
32050 * include/pupa/kernel.h: Likewise.
32051 * include/pupa/loader.h: Likewise.
32052 * include/pupa/misc.h: Likewise.
32053 * include/pupa/mm.h: Likewise.
32054 * include/pupa/net.h: Likewise.
32055 * include/pupa/normal.h: Likewise.
32056 * include/pupa/rescue.h: Likewise.
32057 * include/pupa/setjmp.h: Likewise.
32058 * include/pupa/symbol.h: Likewise.
32059 * include/pupa/term.h: Likewise.
32060 * include/pupa/types.h: Likewise.
32061 * include/pupa/i386/setjmp.h: Likewise.
32062 * include/pupa/i386/types.h: Likewise.
32063 * include/pupa/i386/pc/biosdisk.h: Likewise.
32064 * include/pupa/i386/pc/boot.h: Likewise.
32065 * include/pupa/i386/pc/console.h: Likewise.
32066 * include/pupa/i386/pc/init.h: Likewise.
32067 * include/pupa/i386/pc/kernel.h: Likewise.
32068 * include/pupa/i386/pc/linux.h: Likewise.
32069 * include/pupa/i386/pc/loader.h: Likewise.
32070 * include/pupa/i386/pc/memory.h: Likewise.
32071 * include/pupa/i386/pc/multiboot.h: Likewise.
32072 * include/pupa/i386/pc/partition.h: Likewise.
32073 * include/pupa/i386/pc/time.h: Likewise.
32074 * include/pupa/i386/pc/vga.h: Likewise.
32075 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32076 * include/pupa/util/getroot.h: Likewise.
32077 * include/pupa/util/misc.h: Likewise.
32078 * include/pupa/util/resolve.h: Likewise.
32079 * kern/device.c: Likewise.
32080 * kern/disk.c: Likewise.
32081 * kern/dl.c: Likewise.
32082 * kern/err.c: Likewise.
32083 * kern/file.c: Likewise.
32084 * kern/fs.c: Likewise.
32085 * kern/loader.c: Likewise.
32086 * kern/main.c: Likewise.
32087 * kern/misc.c: Likewise.
32088 * kern/mm.c: Likewise.
32089 * kern/rescue.c: Likewise.
32090 * kern/term.c: Likewise.
32091 * kern/i386/dl.c: Likewise.
32092 * kern/i386/pc/init.c: Likewise.
32093 * kern/i386/pc/lzo1x.S: Likewise.
32094 * kern/i386/pc/startup.S: Likewise.
32095 * loader/i386/pc/chainloader.c: Likewise.
32096 * loader/i386/pc/linux.c: Likewise.
32097 * loader/i386/pc/multiboot.c: Likewise.
32098 * normal/cmdline.c: Likewise.
32099 * normal/command.c: Likewise.
32100 * normal/main.c: Likewise.
32101 * normal/menu.c: Likewise.
32102 * normal/i386/setjmp.S: Likewise.
32103 * term/i386/pc/console.c: Likewise.
32104 * term/i386/pc/vga.c: Likewise.
32105 * util/console.c: Likewise.
32106 * util/genmoddep.c: Likewise.
32107 * util/misc.c: Likewise.
32108 * util/pupa-emu.c: Likewise.
32109 * util/resolve.c: Likewise.
32110 * util/unifont2pff.rb: Likewise.
32111 * util/i386/pc/biosdisk.c: Likewise.
32112 * util/i386/pc/getroot.c: Likewise.
32113 * util/i386/pc/pupa-mkimage.c: Likewise.
32114 * util/i386/pc/pupa-setup.c: Likewise.
32115
32116 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32117
32118 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32119 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32120 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32121 reading and reset it after reading.
32122 (pupa_ext2_close): Return PUPA_ERR_NONE.
32123
32124 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32125 Correct value.
32126 (struct linux_kernel_header): Add kernel_version and
32127 initrd_addr_max.
32128 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32129 pupa_file_read succeeds.
32130 (pupa_rescue_cmd_initrd): Implement.
32131
32132 2003-12-03 Marco Gerards <metgerards@student.han.nl>
32133
32134 * fs/ext2.c (pupa_ext2_label): New function.
32135 (pupa_ext2_fs): Added label.
32136 * fs/fat.c (pupa_fat_label): New function.
32137 (pupa_fat_fs): Added label.
32138 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32139
32140 * kern/misc.c (pupa_strndup): New function.
32141 * include/pupa/misc.h (pupa_strndup): New prototype.
32142
32143 * include/pupa/normal.h: Include <pupa/err.h>.
32144 (pupa_set_history): New prototype.
32145 (pupa_iterate_commands): New prototype.
32146 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32147 <pupa/disk.h>, <pupa/file.h>.
32148 (hist_size): New variable.
32149 (hist_lines): Likewise.
32150 (hist_end): Likewise.
32151 (hist_used): Likewise.
32152 (pupa_set_history): New function.
32153 (pupa_history_get): Likewise.
32154 (pupa_history_add): Likewise.
32155 (pupa_history_replace): Likewise.
32156 (pupa_tab_complete): Likewise.
32157 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32158 completion shows partitionnames while completing partitions, this
32159 feature was suggested by Jeff Bailey.
32160 * normal/command.c (pupa_iterate_commands): New function.
32161 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32162 (pupa_normal_init): Initialize history buffer.
32163 (PUPA_MOD_INIT): Likewise.
32164 (pupa_normal_fini): Free the history buffer.
32165 (PUPA_MOD_FINI): Likewise.
32166
32167 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32168 key.
32169
32170 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32171 * configure.ac [i386]: Check for regparam bug.
32172 (NESTED_FUNC_ATTR) [! i386]: Defined.
32173
32174 2003-11-17 Marco Gerards <metgerards@student.han.nl>
32175
32176 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32177 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32178 (pupa_emu_SOURCES): New variable.
32179 (pupa_emu_LDFLAGS): Likewise.
32180 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32181 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32182 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32183 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32184 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32185 (pupa_jmp_buf): New typedef.
32186 (pupa_setjmp) [PUPA_UTIL]: New macro.
32187 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32188 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32189 (pupa_refresh): New prototype.
32190 * include/pupa/util/getroot.h: New file.
32191 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32192 it.
32193 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32194 (pupa_rescue_cmd_cat): Likewise.
32195 (pupa_rescue_cmd_ls): Likewise.
32196 (pupa_rescue_cmd_testload): Likewise.
32197 (pupa_rescue_cmd_lsmod): Likewise.
32198 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32199 * normal/menu.c (run_menu): Likewise.
32200 * kern/term.c (pupa_cls): Likewise.
32201 (pupa_refresh): New function.
32202 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32203 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32204 * util/console.c: New file.
32205
32206 * util/i386/pc/getroot.c: New file.
32207 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32208 (pupa_putchar): New function.
32209 (pupa_refresh): Likewise.
32210 (xgetcwd): Function moved to ...
32211 (strip_extra_slashes): Likewise.
32212 (get_prefix): Likewise.
32213 * util/i386/pc/getroot.c: ... here.
32214 (find_root_device): Function moved and renamed to...
32215 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32216 Changed all callers.
32217 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32218 and renamed to...
32219 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32220 Changed all callers.
32221 * util/misc.c (pupa_memalign): New function.
32222 (pupa_mm_init_region): Likewise.
32223 (pupa_register_exported_symbols): Likewise.
32224 (pupa_putchar): Function removed.
32225 * util/pupa-emu.c: New file.
32226
32227 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32228
32229 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32230 (_multiboot_mod_SOURCES): New variable.
32231 (_multiboot_mod_CFLAGS): Likewise.
32232 * loader/i386/pc/multiboot.c: New file.
32233 * include/pupa/i386/pc/multiboot.h: Likewise.
32234 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32235 (pupa_multiboot_real_boot): New function.
32236 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32237 (pupa_multiboot_real_boot): New prototype.
32238 (pupa_rescue_cmd_multiboot): Likewise
32239 (pupa_rescue_cmd_module): Likewise.
32240
32241 * kern/loader.c (pupa_loader_set): Continue when
32242 pupa_loader_unload_func() fails.
32243 (pupa_loader_unset): New function.
32244 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32245
32246 * kern/misc.c (pupa_stpcpy): New function.
32247 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32248
32249 2003-11-12 Marco Gerards <metgerards@student.han.nl>
32250
32251 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32252 for available extensions.
32253
32254 * include/pupa/i386/pc/time.h: New file.
32255 * kern/disk.c: Include <pupa/machine/time.h>.
32256 (PUPA_CACHE_TIMEOUT): New macro.
32257 (pupa_last_time): New variable.
32258 (pupa_disk_open): Flush the cache when there was a timeout.
32259 (pupa_disk_close): Reset the timer.
32260 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32261 pupa_currticks.
32262 * util/misc.c: Include <sys/times.h>
32263 (pupa_get_rtc): New function.
32264
32265 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32266
32267 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32268 as blocks.
32269 (pupa_ext2_get_file_block): Use blocks member.
32270
32271 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32272 first block. Return -1 instead of pupa_errno on error.
32273
32274 2003-10-27 Marco Gerards <metgerards@student.han.nl>
32275
32276 * README: In the pupa-mkimage example use _chain instead of chain
32277 and ext2 instead of fat.
32278 * TODO: Replace ext2fs with jfs as an example. Add an item for
32279 adding journal playback for ext2fs.
32280 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32281 (pkgdata_MODULES): Added ext2.mod.
32282 (ext2_mod_SOURCES): New variable.
32283 (ext2_mod_CFLAGS): Likewise.
32284 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32285 * include/pupa/misc.h (pupa_strncpy): New prototype.
32286 (pupa_strcat): Likewise.
32287 (pupa_strncmp): Likewise.
32288 * kern/misc.c (pupa_strcat): Enable function.
32289 (pupa_strncpy): New function.
32290 (pupa_strncmp): Likewise.
32291 * fs/ext2.c: New file.
32292
32293 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32294 when the read failed before retrying.
32295 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32296 (_FILE_OFFSET_BITS): Likewise.
32297 * configure.ac: Added AC_SYS_LARGEFILE.
32298
32299 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32300
32301 * genmk.rb (PModule#rule): Make sure to get only symbol names
32302 from the output of nm.
32303 Reported by Robert Millan <rmh.grub@aybabtu.com>.
32304
32305 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32306
32307 I forgot to check in these changes for a long time. This adds
32308 incomplete support for VGA console, and this is still very
32309 buggy. Also, a lot of consideration is required for I18N,
32310 UNICODE, and VGA font issues. Therefore, assume that this is
32311 such that "better than nothing".
32312
32313 * font/manager.c: New file.
32314 * include/pupa/font.h: Likewise.
32315 * include/pupa/i386/pc/vga.h: Likewise.
32316 * term/i386/pc/vga.c: Likewise.
32317 * util/unifont2pff.rb: Likewise.
32318
32319 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32320 (pkgdata_MODULES): Added vga.mod and font.mod.
32321 (vga_mod_SOURCES): New variables.
32322 (vga_mod_CFLAGS): Likewise.
32323 (font_mod_SOURCES): Likewise.
32324 (font_mod_CFLAGS): Likewise.
32325
32326 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32327
32328 * include/pupa/term.h: Include pupa/err.h.
32329 (struct pupa_term): Added init and fini.
32330 Changed the argument of putchar to pupa_uint32_t.
32331
32332 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32333 (pupa_console_real_putchar): New prototype.
32334 (pupa_console_putchar): Removed.
32335 (pupa_console_checkkey): Exported.
32336 (pupa_console_getkey): Likewise.
32337
32338 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32339 characters.
32340
32341 * kern/term.c (pupa_term_set_current): Rewritten.
32342 (pupa_putchar): Likewise.
32343 (pupa_putcode): New function.
32344
32345 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32346 (pupa_console_real_putchar): ... this.
32347 (pupa_vga_set_mode): New function.
32348 (pupa_vga_get_font): Likewise.
32349
32350 * normal/command.c: Include pupa/term.h.
32351 (terminal_command): New function.
32352 (pupa_command_init): Register the command "terminal".
32353
32354 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32355 (DISP_UP): Likewise.
32356 (DISP_RIGHT): Likewise.
32357 (DISP_DOWN): Likewise.
32358 (DISP_HLINE): Likewise.
32359 (DISP_VLINE): Likewise.
32360 (DISP_UL): Likewise.
32361 (DISP_UR): Likewise.
32362 (DISP_LL): Likewise.
32363 (DISP_LR): Likewise.
32364
32365 * term/i386/pc/console.c (pupa_console_putchar): New function.
32366
32367 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32368
32369 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32370 FIX. Reverse the path_list.
32371
32372 * include/pupa/normal.h: Export pupa_register_command and
32373 pupa_unregister_command.
32374
32375 * hello/hello.c (pupa_cmd_hello): New module.
32376 * conf/i386-pc.rmk: Added hello.mod.
32377
32378 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32379
32380 * kern/i386/pc/lzo1x.S: New file.
32381
32382 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32383 (compress_kernel): New variable.
32384 (generate_image): Heavily modified to support compressing a
32385 large part of the core image.
32386
32387 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32388 leak.
32389 (pupa_util_load_image): New function.
32390
32391 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32392 (pupa_compressed_size): New variable.
32393 (codestart): Enable Gate A20 here.
32394 Decompress the compressed part of the core image.
32395 Rearrange the code to put functions and variables which are
32396 required for initialization in the non-compressed part.
32397 Include lzo1x.S.
32398
32399 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32400 here.
32401
32402 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32403
32404 * include/pupa/i386/pc/kernel.h
32405 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32406 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32407 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32408 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32409 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32410
32411 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32412
32413 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32414 (Utility#rule): Likewise.
32415
32416 * configure.ac: Check if LZO is available.
32417
32418 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32419
32420 * include/pupa/normal.h: New file.
32421 * include/pupa/setjmp.h: Likewise.
32422 * include/pupa/i386/setjmp.h: Likewise.
32423 * normal/cmdline.c: Likewise.
32424 * normal/command.c: Likewise.
32425 * normal/main.c: Likewise.
32426 * normal/menu.c: Likewise.
32427 * normal/i386/setjmp.S: Likewise.
32428
32429 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32430 (pupa_rescue_cmd_initrd): Likewise.
32431
32432 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32433 Likewise.
32434
32435 * kern/i386/pc/startup.S (translation_table): New variable.
32436 (translate_keycode): New function.
32437 (pupa_console_getkey): Call translate_keycode.
32438
32439 * kern/rescue.c (attempt_normal_mode): New function.
32440 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32441 it failed, print a message.
32442
32443 * kern/mm.c (pupa_real_malloc): Print more information when a
32444 free magic is broken.
32445 (pupa_free): If the first free header is not free actually, set
32446 it to P.
32447
32448 * kern/main.c (pupa_load_normal_mode): Just load the module
32449 "normal".
32450 (pupa_main): Don't print the message
32451 "Entering into rescue mode..." here.
32452
32453 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32454 Declared.
32455 (pupa_rescue_cmd_initrd): Likewise.
32456 (pupa_rescue_cmd_initrd): Likewise.
32457
32458 * include/pupa/symbol.h (FUNCTION): Specify the type.
32459 (VARIABLE): Likewise.
32460
32461 * include/pupa/err.h (pupa_err_t): Added
32462 PUPA_ERR_UNKNOWN_COMMAND.
32463
32464 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32465 (pupa_dl_get_prefix): Likewise.
32466
32467 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32468 Added _chain.mod and _linux.mod instead of chain.mod and
32469 linux.mod.
32470 (chain_mod_SOURCES): Renamed to ...
32471 (_chain_mod_SOURCES): ... this.
32472 (chain_mod_CFLAGS): Renamed to ...
32473 (_chain_mod_CFLAGS): ... this.
32474 (linux_mod_SOURCES): Renamed to ...
32475 (_linux_mod_SOURCES): ... this.
32476 (linux_mod_CFLAGS): Renamed to ...
32477 (_linux_mod_CFLAGS): ... this.
32478 (normal_mod_SOURCES): New variable.
32479 (normal_mod_CFLAGS): Likewise.
32480 (normal_mod_ASFLAGS): Likewise.
32481
32482 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32483
32484 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32485 possible.
32486
32487 * kern/dl.c (pupa_dl_ref): Refer depending modules
32488 recursively.
32489 (pupa_dl_unref): Unrefer depending modules recursively.
32490 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32491 a module is unloaded before one depending on that module is
32492 unloaded.
32493 (pupa_dl_unload): Unload depending modules explicitly,
32494 if possible.
32495
32496 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32497
32498 * include/pupa/i386/pc/linux.h: New file.
32499 * loader/i386/pc/linux.c: Likewise.
32500
32501 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32502 Removed.
32503 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32504 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32505 of PUPA_CHAINLOADER_BOOT_SECTOR.
32506
32507 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32508 (pupa_linux_prot_size): New variable.
32509 (pupa_linux_tmp_addr): Likewise.
32510 (pupa_linux_real_addr): Likewise.
32511 (pupa_linux_boot_zimage): New function.
32512 (pupa_linux_boot_bzimage): Likewise.
32513
32514 * kern/i386/pc/init.c (struct mem_region): New structure.
32515 (MAX_REGIONS): New macro.
32516 (mem_regions): New variable.
32517 (num_regions): Likewise.
32518 (pupa_os_area_addr): Likewise.
32519 (pupa_os_area_size): Likewise.
32520 (pupa_lower_mem): Likewise.
32521 (pupa_upper_mem): Likewise.
32522 (add_mem_region): New function.
32523 (compact_mem_regions): Likewise.
32524 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32525 the size of the conventional memory and that of so-called upper
32526 memory (before the first memory hole).
32527 Instead of adding each found region to free memory, use
32528 add_mem_region and add them after removing overlaps.
32529 Also, add only 1/4 of the upper memory to free memory. The rest
32530 is used for loading OS images. Maybe this is ad hoc, but this
32531 makes it much easier to relocate OS images when booting.
32532
32533 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32534 (pupa_enter_rescue_mode): Don't register initrd and module.
32535
32536 * kern/mm.c: Include pupa/dl.h.
32537
32538 * kern/main.c: Include pupa/file.h and pupa/device.h.
32539
32540 * kern/loader.c (pupa_loader_load_module_func): Removed.
32541 (pupa_loader_load_module): Likewise.
32542
32543 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32544 ``.o''.
32545
32546 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32547 (pupa_linux_tmp_addr): Likewise.
32548 (pupa_linux_real_addr): Likewise.
32549 (pupa_linux_boot_zimage): Likewise.
32550 (pupa_linux_boot_bzimage): Likewise.
32551
32552 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32553 (pupa_upper_mem): Likewise.
32554 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32555 module is too dangerous.
32556
32557 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32558 (pupa_os_area_size): Likewise.
32559 (pupa_loader_set): Remove the first argument. Loader doesn't
32560 manage modules or initrd any longer.
32561 (pupa_loader_load_module): Removed.
32562
32563 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32564 (linux_mod_SOURCES): New variable.
32565 (linux_mod_CFLAGS): Likewise.
32566
32567 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32568
32569 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32570 the length of a blocklist correctly.
32571
32572 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32573 Use ioctl only if the OS file is a block device.
32574 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32575 not very useful for normal files.
32576
32577 * kern/main.c (pupa_set_root_dev): New function.
32578 (pupa_load_normal_mode): Likewise.
32579 (pupa_main): Call those above.
32580
32581 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32582 pupa_uint16_t.
32583
32584 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32585
32586 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32587
32588 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32589 (setup): Configure the installed partition information and the
32590 dl prefix.
32591
32592 * loader/i386/pc/chainloader.c (my_mod): New variable.
32593 (pupa_chainloader_unload): New function.
32594 (pupa_rescue_cmd_chainloader): Refer itself.
32595 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32596
32597 * kern/i386/pc/startup.S (install_partition): Removed.
32598 (version_string): Likewise.
32599 (config_file): Likewise.
32600 (pupa_install_dos_part): New variable.
32601 (pupa_install_bsd_part): Likewise.
32602 (pupa_prefix): Likewise.
32603 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32604
32605 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32606 and pupa/misc.h.
32607 (make_install_device): New function.
32608 (pupa_machine_init): Set the dl prefix.
32609
32610 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32611 (buf): Renamed to ...
32612 (linebuf): ... this.
32613 (pupa_rescue_cmd_prefix): New function.
32614 (pupa_rescue_cmd_insmod): Likewise.
32615 (pupa_rescue_cmd_rmmod): Likewise.
32616 (pupa_rescue_cmd_lsmod): Likewise.
32617 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32618 rmmod and lsmod.
32619
32620 * kern/mm.c (pupa_memalign): If failed even after invalidating
32621 disk caches, unload unneeded modules and retry.
32622
32623 * kern/misc.c (pupa_memmove): New function.
32624 (pupa_memcpy): Removed.
32625 (pupa_strcpy): New function.
32626 (pupa_itoa): Made static.
32627
32628 * kern/dl.c (pupa_dl_iterate): New function.
32629 (pupa_dl_ref): Likewise.
32630 (pupa_dl_unref): Likewise.
32631 (pupa_dl_unload): Return if succeeded or not.
32632 (pupa_dl_unload_unneeded): New function.
32633 (pupa_dl_unload_all): Likewise.
32634 (pupa_dl_init): Renamed to ...
32635 (pupa_dl_set_prefix): ... this.
32636 (pupa_dl_get_prefix): New function.
32637
32638 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32639 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32640 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32641 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32642 (pupa_install_dos_part): Declared.
32643 (pupa_install_bsd_part): Likewise.
32644 (pupa_prefix): Likewise.
32645 (pupa_boot_drive): Likewise.
32646
32647 * include/pupa/types.h: Fix a typo.
32648
32649 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32650 pupa_memmove.
32651 (pupa_memmove): Declared.
32652 (pupa_strcpy): Likewise.
32653
32654 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32655 pupa_mod_init takes one argument, its own module.
32656 (pupa_dl_unload_unneeded): Declared.
32657 (pupa_dl_unload_all): Likewise.
32658 (pupa_dl_ref): Likewise.
32659 (pupa_dl_unref): Likewise.
32660 (pupa_dl_iterate): Likewise.
32661 (pupa_dl_init): Renamed to ...
32662 (pupa_dl_set_prefix): ... this.
32663 (pupa_dl_get_prefix): Declared.
32664
32665 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
32666 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
32667 unloaded.
32668 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32669 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32670
32671 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32672 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32673
32674 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32675
32676 * util/i386/pc/pupa-setup.c (setup): Define the internal
32677 function find_first_partition_start at the top level, because GCC
32678 3.0.x cannot compile internal functions in deeper scopes
32679 correctly.
32680 (find_root_device): Use lstat instead of stat.
32681 Don't follow symbolic links.
32682 Fix the path-constructing code.
32683
32684 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32685 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32686 by a BLKGETSIZE ioctl first, because block devices don't fill
32687 the member st_mode of the structure stat on Linux.
32688 [__linux__] (linux_find_partition): Use a temporary buffer
32689 REAL_DEV for the working space. Copy it to DEV before returning.
32690 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32691 buffer cache consistent.
32692 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32693 strncmp. The previous value was merely wrong.
32694 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32695
32696 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32697 FAT size is 12. The previous value was merely wrong.
32698
32699 * kern/main.c (pupa_main): Don't split the starting message from
32700 newlines.
32701
32702 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32703 LF, because BIOS goes crazy about character attributes in this
32704 case.
32705
32706 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32707
32708 * include/i386/pc/util/biosdisk.h: New file.
32709 * util/i386/pc/biosdisk.c: Likewise.
32710 * util/i386/pc/pupa-setup.c: Likewise.
32711
32712 * Makefile.in (INCLUDE_DISTFILES): Added
32713 include/pupa/i386/pc/util/biosdisk.h.
32714 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32715 directory util/i386/pc.
32716 (install-local): Added a rule for sbin_UTILITIES.
32717 (uninstall): Likewise.
32718
32719 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32720
32721 * util/misc.c (xrealloc): New function.
32722 (pupa_malloc): Likewise.
32723 (pupa_free): Likewise.
32724 (pupa_realloc): Likewise.
32725 (pupa_stop): Likewise.
32726 (pupa_putchar): Likewise.
32727
32728 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32729
32730 * include/pupa/util/misc.h (xrealloc): Declared.
32731
32732 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32733 macro.
32734 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32735 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32736
32737 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32738 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32739
32740 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32741 way should be implemented.
32742 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32743
32744 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32745 the size of NAME for safety.
32746 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32747 0x88.
32748
32749 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32750 (pupa_setup_SOURCES): Likewise.
32751
32752 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32753
32754 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32755
32756 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32757 bunch of pushl's from pusha, because this destroys the return
32758 value.
32759
32760 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32761
32762 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32763 This means that any missing prototypes could be fatal. Also, you
32764 must take care when writing assembly code. See the comments at
32765 the beginning of startup.S, for more details.
32766
32767 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32768 compilation mechanism.
32769 (pupa_chainloader_real_boot): Likewise.
32770 (pupa_biosdisk_rw_int13_extensions): Likewise.
32771 (pupa_biosdisk_rw_standard): Likewise.
32772 (pupa_biosdisk_check_int13_extensions): Likewise.
32773 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32774 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32775 (pupa_get_memsize): Likewise.
32776 (pupa_get_mmap_entry): Likewise.
32777 (pupa_console_putchar): Likewise.
32778 (pupa_console_setcursor): Likewise.
32779 (pupa_getrtsecs): Use pushl instead of push.
32780
32781 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32782 memory instead of the stack for a mmap entry, because some
32783 BIOSes may ignore the maximum size and overflow.
32784
32785 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32786
32787 * genmk.rb (PModule#rule): Compile automatically generated
32788 sources with module-specific CFLAGS as well as other sources.
32789
32790 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32791
32792 * configure.ac: Check ld.
32793 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
32794 respectively, before checking endianness and sizes.
32795
32796 * Makefile.in (LD): New variable.
32797
32798 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32799
32800 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
32801
32802 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32803
32804 * Changelog: New file.
32805