]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Support big-endian UFS1.
[grub2.git] / ChangeLog
1 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Support big-endian UFS1.
4
5 * Makefile.util.def (libgrubmods): Add ufs_be.c
6 * grub-core/Makefile.core.def (ufs1_be): New module.
7 * grub-core/fs/ufs_be.c: New file.
8 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
9 the file.
10
11 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
12
13 * include/grub/types.h: Fix functionality unaffecting typo in
14 GRUB_TARGET_WORDSIZE conditional macro.
15
16 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
17
18 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
19
20 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
21
22 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
23 that /netbsd appears first (when it exists).
24
25 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
26
27 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
28 Fixes Savannah bug #37558.
29
30 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
31
32 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
33 description of extract_entries_configfile.
34
35 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
36
37 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
38 preferred_address.
39 (grub_cmd_linux): Likewise.
40 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
41 preferred_lifetime. Update all users.
42
43 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
44
45 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
46 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
47
48 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
49
50 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
51 errors from grub-probe to /dev/null, not stdout.
52
53 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
56 sector 1.
57
58 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
59
60 * util/grub-install.in: Make the error message if $source_dir
61 doesn't exist more useful.
62
63 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
64
65 Fix grub-emu build on FreeBSD.
66
67 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
68 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
69 headers on Linux.
70 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
71 implementation is currently Linux-specific.
72 * util/getroot.c (exec_pipe): Define only on Linux or when either
73 libzfs or libnvpair is unavailable.
74 (find_root_devices_from_poolname): Remove unused path variable.
75
76 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
77
78 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
79 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
80 should fit before end == 63.
81
82 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
83
84 * util/grub-setup.c (write_rootdev): Remove unused core_img
85 parameter. Update all callers.
86 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
87 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
88 GRUB_SETUP_BIOS.
89
90 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/grub-mkconfig_lib.in (grub_tab): New variable.
93 (grub_add_tab): New function.
94 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
95 * util/grub.d/10_illumos.in: Likewise.
96 * util/grub.d/10_kfreebsd.in: Likewise.
97 * util/grub.d/10_linux.in: Likewise.
98 * util/grub.d/10_netbsd.in: Likewise.
99 * util/grub.d/10_windows.in: Likewise.
100 * util/grub.d/10_xnu.in: Likewise.
101 * util/grub.d/20_linux_xen.in: Likewise.
102 * util/grub.d/30_os-prober.in: Likewise.
103
104 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
107 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
108 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
109 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
110 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
111 ieee1275-nocursor.
112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
113 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
114
115 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
118 le-conversion.
119 Reported by: BURETTE, Bernard.
120
121 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
122
123 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
124 from comment.
125
126 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
127
128 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
129 IEEE1275 machines. Fixes powerpc-emu compilation.
130 * include/grub/terminfo.h: Likewise.
131
132 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
135 a const pointer.
136 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
137 const pointer.
138 (efiemu_set_variable): Make vendor_guid a const pointer.
139
140 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Don't require grub-mkconfig_lib to generate manpages for programs.
143
144 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
145 dependencies, don't add grub-mkconfig_lib.
146 (program): Pass empty adddeps.
147 (script): Pass grub-mkconfig_lib as adddeps.
148
149 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
152 * util/getroot.c (grub_find_device): Likewise.
153 (get_mdadm_uuid): Likewise.
154 (grub_util_is_imsm): Likewise.
155 (grub_util_pull_device): Likewise.
156 * util/grub-probe.c (probe): Likewise.
157
158 2012-09-10 Benoit Gschwind <gschwind>
159
160 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
161 (devs): Add devpath_8.
162
163 2012-09-08 Peter Jones <pjones@redhat.com>
164
165 * grub-core/Makefile.core.def (efifwsetup): New module.
166 * grub-core/commands/efi/efifwsetup.c: New file.
167 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
168 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
169 New define.
170 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
171
172 2012-09-05 Jiri Slaby <jslaby@suse.cz>
173
174 * configure.ac: Add SuSe path.
175
176 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
177
178 * NEWS: Fix typo.
179
180 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
181
182 * util/import_gcry.py: Sort cipher_files, to make build system
183 generation more deterministic.
184
185 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
188 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
189 (grub_set_datetime): Likewise.
190
191 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
194 warnings.
195
196 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
199
200 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
203
204 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
205
206 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
207 required for checkouts from bzr, but it may be useful for users or
208 distributors wishing to update translations against a tarball
209 distribution, and it can be helpful for the tarball to be a superset
210 of what's in bzr.
211
212 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
213
214 * Makefile.am (EXTRA_DIST): Add
215 grub-core/tests/boot/linux.init-mips.S,
216 grub-core/tests/boot/linux.init-ppc.S, and
217 grub-core/tests/boot/linux-ppc.cfg.
218
219 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
220
221 * grub-core/mmap/mips/loongson: Remove empty directory.
222
223 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
224
225 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
226 gone.
227
228 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
229
230 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
231 grub-sparc64-setup.
232
233 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
234
235 * configure.ac: Strengthen the test for working -nostdinc -isystem.
236
237 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
238
239 * po/POTFILES.in: Regenerated.
240
241 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
242
243 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
244 (NetBSD): New subsection.
245
246 2012-07-22 Ales Nesrsta <starous@volny.cz>
247
248 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
249 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
250
251 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
254 * util/grub.d/10_hurd.in: Add missing quoting.
255 * util/grub.d/10_illumos.in: Likewise.
256 * util/grub.d/10_kfreebsd.in: Likewise.
257 * util/grub.d/10_linux.in: Likewise.
258 * util/grub.d/20_linux_xen.in: Likewise.
259
260 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
261
262 New command `lsefi'.
263
264 * grub-core/Makefile.core.def (lsefi): New module.
265 * grub-core/commands/efi/lsefi.c: New file.
266 * include/grub/efi/api.h: Add more GUIDs.
267
268 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
271 (grub_bsd_elf32_hook): Likewise.
272 (grub_bsd_elf64_size_hook): Likewise.
273 (grub_bsd_elf64_hook): Likewise.
274 (grub_bsd_load_elf): Likewise.
275
276 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
279 if hash function is unavailable.
280 (dec_stream_header): Likewise.
281
282 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
285 filter state.
286
287 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
288
289 Fix coreboot compilation.
290
291 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
292 (grub_vga_text_init_real): ... this.
293 (grub_vga_text_fini): Rename to ...
294 (grub_vga_text_fini_real): ... this.
295
296 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
299
300 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/lib/legacy_parse.c: Support clear and testload.
303
304 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
307
308 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/fs/ext2.c: Experimental support for 64-bit.
311
312 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/net/tftp.c (ack): Fix endianness problem.
315 (tftp_receive): Likewise.
316 Reported by: Michael Davidsaver.
317
318 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * gentpl.py: Make mans depend on grub-mkconfig_lib.
321
322 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
325 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
326 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
327
328 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
331 efi_mmap_size.
332 Reported by: Stuart Hayes.
333
334 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
337
338 * grub-core/Makefile.core.def (mda_text): New module.
339 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
340 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
341 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
342 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
343 here.
344 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
345 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
346 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
347 here.
348 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
349 to ..
350 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
351 ... here
352 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
353 here.
354 * grub-core/term/i386/vga_common.c: Removed.
355 * include/grub/i386/vga_common.h: Likewise.
356 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
357 (grub_vga_cr_bw_read): Likewise.
358 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
359 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
360 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
361 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
362 grub_vga_cr_read/grub_vga_cr_write.
363 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
364
365 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * configure.ac: Bump version to 2.00.
368 * grub-core/normal/main.c (features): Add feature_200_final.
369
370 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
371 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
372
373 * NEWS: Fix unclarity and language mistakes.
374
375 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
378 additional size to 3 pages.
379 Reported by: Stuart Hayes.
380
381 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * NEWS: Add 2.00 entry.
384
385 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
388 put explicit "/" for empty path.
389 (wildcard_expand): Improve dprintf.
390
391 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
394 it's equal to currnode. This can happen with "" symlink.
395
396 2012-06-27 Yves Blusseau <blusseau@zetam.org>
397
398 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
399 echo shell command by printf command.
400
401 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
404 the value returned by firmware is the maximal position, not diumension.
405 (grub_terminfo_output_state): Use a more sane fallback.
406
407 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
410
411 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
414 frequency to 150 MHz.
415
416 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
417
418 Apple fixes.
419
420 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
421 __APPLE_
422 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
423 definition.
424 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
425
426 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
427
428 Handle slash in HFS label.
429
430 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
431 (grub_hfs_dir): Tanslate slash.
432 (grub_hfs_label): Don't translate slash.
433
434 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
437 network protocol listing since it introduces problematic dependency on
438 net module.
439
440 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
443
444 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
445
446 Init video early on yeeloong to avoid being rebooted by watchdog.
447
448 * grub-core/Makefile.am (gensm712): New target.
449 (sm712_start.S): Likewise.
450 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
451 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
452 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
453 description.
454 * include/grub/vga.h: Move registry definitions to...
455 * include/grub/vgaregs.h: ... here.
456
457 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
460 signedness.
461
462 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
465 platforms with firmware disk drivers in the core.
466
467 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
470 informative verbose message.
471 (read_lv): Handle 64-bit segment size.
472
473 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
476
477 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
480 character but still remove trainling spaces.
481 (grub_fat_label): Ignore archive flag.
482
483 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
486 cast between linux_kernel_header and linux_kernel_params.
487
488 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
491 type for size.
492 (grub_raid6_recover_func_t): Likewise.
493 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
494 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
495
496 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
499
500 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
501
502 Fix overflow.
503
504 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
505 [__NetBSD__]: Add explicit cast before bitshift.
506
507 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * configure.ac: Bump to 2.00~rc1.
510
511 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
514 half of $a0.
515
516 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
517 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
518
519 * docs/grub.texi: Fix search syntax.
520 (Multi-boot manual config): Put msdos rather than GPT example.
521 Grammar corrections.
522
523 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
526
527 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
530
531 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
534 message on double free. Put the value of magic in case of mismatch.
535
536 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Speed-up video on yeeloong.
539
540 * grub-core/video/sm712.c (framebuffer): Remove render_target and
541 add cached_ptr.
542 (grub_video_sm712_video_fini): Unmap cached_ptr.
543 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
544 (grub_video_sm712_set_active_render_target): Removed.
545 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
546 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
547 sync caches.
548
549 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Avoid flushing the same line multiple times on loongson.
552
553 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
554 Step in 32 bytes and not 1 byte.
555 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
556 Likewise.
557
558 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
561 subvolumes.
562
563 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
564
565 Implement flow control for http.
566
567 * grub-core/net/http.c (parse_line): Handle response 206.
568 (http_receive): Stall if too many packets are in the queue.
569 (http_establish): Fix range header.
570 (http_seek): Fix double free.
571 (http_close): Likewise.
572 (http_packets_pulled): New function.
573 (grub_http_protocol): Set http_seek
574 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
575 (ack_real): Set window depending on i_stall.
576 (grub_net_send_tcp_packet): Likewise.
577 (grub_net_tcp_stall): New function.
578 (grub_net_tcp_unstall): Likewise.
579 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
580 (grub_net_tcp_unstall): Likewise.
581
582 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/net/tftp.c: Decrease stall to 50 packets.
585
586 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
589
590 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * tests/util/grub-shell.in: Fix a typo.
593
594 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
595
596 Implement flow control for tftp.
597
598 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
599 packets but stop only if stop condition is satisfied.
600 (grub_net_fs_read_real): Call packets_pulled after real read. Use
601 `stall' instead of `eof' as stop condition.
602 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
603 (http_err): Likewise.
604 * grub-core/net/tftp.c (ack): Replace the first argument with data
605 instead of socket.
606 (tftp_receive): Stall if too many packets are in wait queue.
607 (tftp_packets_pulled): New function.
608 (grub_tftp_protocol): Set packets_pulled.
609 * include/grub/net.h (grub_net_packets): New field count.
610 (grub_net_put_packet): Increment count.
611 (grub_net_remove_packet): Likewise.
612 (grub_net_app_protocol): New field `packets_pulled'.
613 (grub_net): New field `stall'.
614
615 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
618 sync part to handle them.
619
620 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
623 * grub-core/net/drivers/ieee1275/ofnet.c
624 (grub_ieee1275_net_config_real): Likewise.
625
626 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
629 the direct route for server/gateway.
630
631 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
634 IP address to server name since we may not hame the DNS.
635
636 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
639 freeing random buffer on failure.
640 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
641
642 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
645
646 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
649 reserved bytes.
650 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
651 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
652 Handle malloc error correctly.
653
654 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
657 blocks.
658
659 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
662 increment.
663
664 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
667 none is explicitly specified.
668
669 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
672 while reallocating.
673
674 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Respect netmask from bootp/dhcp.
677
678 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
679 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
680 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
681 into ...
682 (grub_net_add_ipv4_local): ... this.
683 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
684 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
685 (grub_net_add_ipv4_local): New proto.
686
687 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
690 determining EFI memory map size.
691
692 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
695
696 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
699 when looking for partition separator.
700
701 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
704 Escape commas.
705
706 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Restructure FAT driver to avoid hook in label reading as it hits a
709 GCC bug.
710
711 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
712 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
713 (grub_fat_iterate_dir): Split into ...
714 (grub_fat_iterate_init): ... this, ...
715 (grub_fat_iterate_fini): ... this, ...
716 (grub_fat_iterate_dir_next): ... and this. All users updated.
717
718 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
721 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
722 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
723 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
724 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
725 New fields last_key and last_key_time.
726 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
727 extended key-esc into extended key-extended key.
728
729 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
730
731 Avoid unnecessary memcpy of whole video buffer.
732
733 * grub-core/video/fb/video_fb.c (dirty): New struct.
734 (framebuffer): Add members current_dirty and previous_dirty.
735 (dirty): New function.
736 (grub_video_fb_fill_rect): Update dirty.
737 (common_blitter): Likewise.
738 (grub_video_fb_scroll): Likewise.
739 (doublebuf_blit_update_screen): Copy only dirty part.
740 (doublebuf_pageflipping_update_screen): Likewise.
741 (grub_video_fb_doublebuf_blit_init): Init dirty.
742 (doublebuf_pageflipping_init): Likewise.
743 (grub_video_fb_setup): Likewise.
744
745 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
748 poll rate.
749
750 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Fix wildcard regexp dot and other special characters handling.
753 Reported by: Robert Mabee.
754
755 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
756 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
757 (split_path): Trigger expansion on '?'.
758 (unescape): New function.
759 (wildcard_expand): Unescape parts copied without globbing.
760 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
761 (grub_script_arglist_to_argv): Don't unescape expansions.
762
763 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * include/grub/net.h (grub_net_card): New member txbufsize.
766 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
767 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
768 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
769 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
770 txbufsize.
771 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
772 compatible property to check for macs. Set
773 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
774 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
775 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
776 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
777 (send_card_buffer): Use txbuf.
778 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
779 nested function out of the parent while on it.
780
781 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
784 presence check.
785 (grub_ieee1275_net_config_real): Fix config pointer.
786
787 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
790 filename parsing to non-block devices.
791
792 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/kern/device.c (grub_device_open): Remove dead code.
795
796 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
799 All users updated.
800
801 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
804 UUID search command even if hints probing failed.
805
806 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * po/POTFILES.in: Regenerated.
809
810 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Speed-up video on fuloong.
813
814 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
815 New function.
816 (grub_pci_device_unmap_range): Handle non-cached address.
817 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
818 add direct_ptr.
819 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
820 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
821 (grub_video_sis315pro_set_active_render_target): Removed.
822 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
823 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
824 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
825 sync caches.
826 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
827 New proto.
828
829 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * docs/grub.texi (Multi-boot manual config): New section.
832
833 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Avoid slow read-back from VRAM.
836
837 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
838 Move from here ...
839 * grub-core/video/fb/video_fb.c
840 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
841 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
842 (front_target): Remove front_target. Add pages.
843 (grub_video_fb_init): Skip setting front_pages.
844 (grub_video_fb_fini): Likewise.
845 (doublebuf_blit_update_screen): Use pages.
846 (grub_video_fb_doublebuf_blit_init): Likewise.
847 (doublebuf_pageflipping_init): Allocate offscreen buffer.
848 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
849 (grub_video_fb_setup): Prefer doublebuffing.
850
851 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
854 gzio.
855
856 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
857
858 Add loongson tests.
859
860 * tests/util/grub-shell.in: Handle loongson.
861 * tests/partmap_test.in: Add loongson to the list of platform using ATA
862 drivers.
863 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
864 Reboot instead of shutdown if REBOOT is defined.
865
866 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
869 sized ports since unlike on real hardware qemu supports only 32-bit
870 regs.
871
872 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * Makefile.util.def (grub-mkrescue): Enable on loongson.
875 * util/grub-mkrescue.in: Handle loongson.
876
877 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
880 Set is_part appropriately.
881 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
882 names. Canonicalize partition without full disk.
883
884 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Revert usb-quiesce since it's wrong.
887
888 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
889 (grub_ofdisk_init): Don't do quiesce.
890
891 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
894 PowerMac workaround to Xserves as well.
895 Information supplied by: Benjamin Herrenschmidt.
896
897 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
898
899 Don't assume that beginning address is also the entry point on ppc.
900
901 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
902 (grub_linux_boot): Use linux_entry.
903 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
904 (grub_linux_load64): Likewise.
905
906 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
909
910 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
913 needlessly lose the console.
914
915 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
918 space.
919
920 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
921
922 Remove non-functional EFI grub_get_rtc. Put a better fatal message
923 than current grub_get_rtc() not implemented when booted with
924 coreboot without TSC.
925
926 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
927 Add machine/time.h to kernel headers on loongson.
928 * grub-core/Makefile.core.def (kernel): Remove
929 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
930 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
931 (grub_get_rtc): Likewise.
932 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
933 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
934 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
935 * grub-core/kern/i386/tsc.c (grub_tsc_init)
936 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
937 rather than installing known non-working time source.
938 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
939 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
940 * include/grub/time.h: Don't include machine/time.h.
941 * include/grub/efi/time.h: Removed.
942 * include/grub/i386/efi/time.h: Likewise.
943 * include/grub/i386/ieee1275/time.h: Likewise.
944 * include/grub/powerpc/ieee1275/time.h: Likewise.
945 * include/grub/sparc64/ieee1275/time.h: Likewise.
946 * include/grub/x86_64/efi/time.h: Likewise.
947
948 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
949
950 Remove dot on i and j when combining with above diacritics.
951
952 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
953 value.
954 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
955 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
956 with dotless variants when any combining above is present.
957
958 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
961 text and not binary.
962
963 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
964
965 Stop polling as soon as we have the packet we were waiting for.
966
967 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
968 All users updated.
969 * grub-core/net/arp.c (have_pending): New var.
970 (pending_req): Likewise.
971 (grub_net_arp_send_request): Fill pending_req and use have_pending as
972 stop indicator.
973 (grub_net_arp_receive): Set have_pending.
974 * grub-core/net/dns.c (recv_data): New field stop.
975 (recv_hook): Set stop.
976 (grub_net_dns_lookup): Init stop and use as stop condition.
977 * grub-core/net/http.c (http_establish): Use headers_recv as stop
978 condition.
979 * grub-core/net/net.c (grub_net_poll_cards): New argument
980 stop_condition. Stop when it goes true.
981 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
982 indicator.
983 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
984
985 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Keep TX and RX buffers on EFI rather than always allocate new ones.
988
989 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
990 card. All users updated.
991 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
992 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
993 (get_card_packet): Likewise.
994 (grub_efinet_findcards): Init new fields.
995
996 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
999 compilation error on sparc64.
1000
1001 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 Use ITC on IA64 rather than broken routine based on daytime.
1004
1005 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1006 ia64.
1007 (grub_get_rtc) [__ia64__]: Likewise.
1008 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1009 (get_itc): New function.
1010 (grub_rtc_get_time_ms): Likewise.
1011 (grub_machine_init): Calibrate ITC.
1012 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1013 Keep only on non-ia64. Don't export since it's broken and used only
1014 if TSC is unavailable.
1015
1016 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1019 even if it's used.
1020 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1021 Skip if parent is unused.
1022
1023 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1026
1027 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Fix wildcard escaping.
1030
1031 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1032 * grub-core/script/execute.c (wildcard_escape): .. to here.
1033 Don't escape dot.
1034 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1035 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1036 Don't escape dot.
1037 * grub-core/script/execute.c (gettext_append): Always escape.
1038 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1039 * grub-core/script/yylex.l: Don't cut away the escaping.
1040 * tests/grub_script_echo1.in: Add tests with wildcard.
1041
1042 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1045 (ftdi_hw_configure): Likewise.
1046 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1047 define.
1048 (real_config): Handle 1.5 stop bits.
1049 (pl2303_hw_configure): Likewise.
1050
1051 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * Makefile.am: Add ppc linux bootcheck.
1054 * grub-core/tests/boot/linux-ppc.cfg: New file.
1055 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1056
1057 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * tests/grub_script_expansion.in: Skip network protocols.
1060
1061 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1064
1065 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1068 --rom-directory.
1069 Add -graft-points.
1070
1071 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 ESCC serial driver for conducting sautomated tests in qemu.
1074 Not tested on real hardware.
1075
1076 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1077 * grub-core/term/ieee1275/escc.c: New file.
1078 * grub-core/Makefile.core.def (escc): New module.
1079
1080 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1083 invalid on error.
1084 (serial_hw_fetch): Don't read invalid handle.
1085 (serial_hw_put): Don't write into invalid handle.
1086
1087 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 Add a 1.5 stop bits value.
1090
1091 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1092 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1093 GRUB_SERIAL_STOP_BITS_1_5.
1094
1095 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1098 value rather than let it uninited.
1099
1100 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/commands/wildcard.c (+check_file): New function.
1103 (wildcard_expand): Don't expand to non-existing files, expand with
1104 suffix and not attempt to expand if not needed.
1105
1106 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1109 out of partitions containing other partitions.
1110
1111 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1114 on some qemu versions with GRUB.
1115
1116 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1117 define.
1118 (grub_openbsd_bootarg_pcibios): New struct.
1119 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1120 Add PCIINFO.
1121
1122 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * tests/util/grub-shell.in: Trim firmware output on EFI.
1125
1126 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1129 and coreboot since it's already in kernel.
1130
1131 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1134 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1135 to here. New return value start. All users updated.
1136 Recursively scan linear mappings.
1137 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1138 proto.
1139 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1140 Use grub_util_get_dm_node_linear_info.
1141 * util/getroot.c (convert_system_partition_to_system_disk): Use
1142 grub_util_info rather than grub_dprintf.
1143 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1144
1145 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1148
1149 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1150 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1151
1152 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * include/grub/types.h (grub_set_unaligned64): New function.
1155 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1156 (setup): Likewise.
1157
1158 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1161 (grub_ofdisk_fini): Quiesce USB devices.
1162
1163 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1166 caches.
1167
1168 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1171
1172 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/disk/pata.c (grub_pata_pio_read)
1175 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1176 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1177
1178 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Extend automated tests to qemu-mips.
1181
1182 * Makefile.am: reorganise tests and enable qemu-mips.
1183 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1184 * grub-core/tests/boot/linux.init-mips.S: New file.
1185 * tests/partmap_test.in: Handle ata0 disks.
1186 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1187 non-pc i386.
1188
1189 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1192 ia64.
1193 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1194 quotes while on it.
1195
1196 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1199 (grub_halt): Likewise.
1200 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1201
1202 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/term/serial.c (grub_serial_register)
1205 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1206 the behaviour in line with x86 platforms.
1207
1208 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1211 (grub_ata_strncpy): Likewise.
1212 (grub_ata_identify): Add missing byteswaps.
1213
1214 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1217 byte-swap.
1218 (screen_read_char): Likewise.
1219 (grub_vga_text_cls): Likewise.
1220
1221 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1224 filenames.
1225 (make_file_path): Likewise.
1226
1227 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1230 machines.
1231 Tested by: Paulo Flabiano Smorigo.
1232 Crucial information about API supplied by: Coleen <Last name unknown>.
1233 Reviewed by: Coleen <Last name unknown>.
1234
1235 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * util/grub-mkimage.c: Disable -Wcast-align.
1238
1239 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1242 as they are fatal.
1243
1244 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1247
1248 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * util/grub-probe.c (escape_of_path): Fix double free.
1251
1252 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/commands/videoinfo.c (hook): Show pitch.
1255
1256 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1259
1260 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1263 (probe): Add ieee1275 to OFW devices.
1264
1265 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1268
1269 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 Handle IBM OFW path.
1272
1273 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1274 available.
1275 (of_path_of_scsi): Handle vdevice.
1276
1277 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1280 Allocate in multiples of 16 to avoid adding a few bytes free region the
1281 windows bugs upon.
1282
1283 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1286 Allocate in multiples of 16 to avoid adding a few bytes free region the
1287 windows bugs upon.
1288 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1289
1290 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1293 resolutions.
1294 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1295 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1296
1297 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1298
1299 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1300
1301 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1304 resulted in \\ at the end of the line.
1305
1306 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1309 (grub_parser_cmdline_state): Likewise.
1310 (grub_parser_split_cmdline): Likewise.
1311
1312 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1315 /dev/root and /dev/dm-*.
1316
1317 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1320 fix partially stale display.
1321
1322 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1325 substraction.
1326
1327 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1330 Fix MBR remapping workaround.
1331 (grub_util_biosdisk_read) [__linux__]: Likewise.
1332
1333 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1336
1337 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * configure.ac: Bump to beta6.
1340
1341 2012-05-31 Christer Weinigel <christer@weinigel.se>
1342
1343 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1344
1345 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1348 (grub_cmd_linux): Likewise.
1349
1350 2012-05-31 Christer Weinigel <christer@weinigel.se>
1351
1352 Fix EHCI low-speed.
1353
1354 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1355 (GRUB_EHCI_MULT_TWO): Likewise.
1356 (GRUB_EHCI_MULT_THREE): Likewise.
1357 (GRUB_EHCI_CMASK_MASK): New enum value.
1358 (GRUB_EHCI_SMASK_MASK): Likewise.
1359 (GRUB_EHCI_CMASK_OFF): Likewise.
1360 (GRUB_EHCI_SMASK_OFF): Likewise.
1361 (grub_ehci_pci_iter): Enable periodic schedule.
1362 (grub_ehci_parse_notrun): Likewise.
1363 (grub_ehci_restore_hw): Likewise.
1364 (grub_ehci_setup_qh): Set flags for low speed transfers.
1365 (grub_ehci_find_qh): Use periodic list for low speed.
1366 (grub_ehci_setup_transfer): Check periodic queue as well.
1367 (grub_ehci_check_transfer): Likewise.
1368 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1369
1370 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1371
1372 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1373 parameter is used.
1374
1375 2012-05-31 Peter Jones <pjones@redhat.com>
1376
1377 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1378 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1379 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1380
1381 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1384 uninited variable. Allocate at least setup_sects.
1385
1386 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Fix handling of EFI with big memory maps.
1389
1390 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1391 (real_mode_mem): Likewise.
1392 (real_mode_target): Likewise.
1393 (real_mode_pages): Likewise.
1394 (prot_mode_pages): Likewise.
1395 (linux_params): New var.
1396 (linux_cmdline): Likewise.
1397 (free_pages): Don't set real mode variables.
1398 (allocate_pages): Don't allocate real mode memory.
1399 (grub_e820_add_region): Remove the limit.
1400 (grub_linux_boot): Allocate and copy real mode memory.
1401 (grub_linux_unload): Free linux_cmdline.
1402 (grub_cmd_linux): Use temporary storage for parameters.
1403 (grub_cmd_initrd): Likewise.
1404 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1405 (linux_kernel_params): Make it 1K big.
1406
1407 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * Makefile.util.def: Remove -Wno-format.
1410 * grub-core/Makefile.core.def: Likewise.
1411
1412 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * tests/cmp_unit_test.c: Add missing failure message.
1415 * tests/example_unit_test.c: Likewise.
1416 * tests/printf_unit_test.c: Likewise.
1417
1418 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1421 relaxation of protective MBR requirements.
1422
1423 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * configure.ac: Add condition for COND_HOST_XNU.
1426 * Makefile.util.def (10_xnu): New script.
1427 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1428
1429 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1432 objconv bug.
1433
1434 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1437 Binary on other platforms stays identical.
1438
1439 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1442 Apple.
1443
1444 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1447
1448 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1451 rather than defining size_t ourselves to avoid conflict.
1452
1453 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1456 initialisation to avoid __bzero reference.
1457
1458 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1461 version.
1462 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1463 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1464 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1465 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1466 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1467
1468 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1471 * grub-core/kern/misc.c: Likewise.
1472 * grub-core/loader/i386/xnu.c: Likewise.
1473 * include/grub/i386/tsc.h: Likewise.
1474 * include/grub/symbol.h: Likewise.
1475
1476 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1479 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1480 on older compiler.
1481
1482 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1485 Implement Apple flavour.
1486 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1487
1488 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1491 (memmove) [__APPLE__]: Likewise.
1492 (memcpy) [__APPLE__]: Likewise.
1493 (memset) [__APPLE__]: Likewise.
1494 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1495 (memmove) [__APPLE__]: Likewise.
1496 (memcpy) [__APPLE__]: Likewise.
1497 (memset) [__APPLE__]: Likewise.
1498
1499 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1502 dependency discard.
1503
1504 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/normal/main.c (read_config_file): Provide config_file and
1507 config_directory.
1508 * util/grub.d/41_custom.in: Use config_directoy when available.
1509
1510 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1513 (grub_bfs_dir): Likewise.
1514
1515 2012-05-27 Peter Jones <pjones@redhat.com>
1516
1517 The old code gives arguments to a printf function which can't work
1518 correctly, and the compiler complains.
1519
1520 * grub-core/tests/example_functional_test.c (example_test): Add
1521 missing text.
1522 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1523 * include/grub/test.h (grub_test_assert_helper): New declaration.
1524 (grub_test_assert): Use grub_test_assert_helper.
1525
1526 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1529 (exfctest): ... this to avoid overlong filenames.
1530 All users updated.
1531
1532 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Handle "." and ".." on squashfs.
1535
1536 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1537 Make inode numbers into stack.
1538 (grub_squash_read_symlink): Use stack.
1539 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1540 (make_root_node): Fill stack.
1541 (grub_squash_open): Use stack.
1542
1543 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1546 freeing.
1547
1548 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1551 stderr on test calls.
1552
1553 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1556
1557 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1560
1561 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1564 "..".
1565
1566 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1569 (grub_hfsplus_iterate_dir): Add "." and "..".
1570
1571 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1574 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1575
1576 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1579 (find_path): Handle "." and "..".
1580
1581 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1584 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1585 (grub_affs_iterate_dir): Handle hardlinks.
1586
1587 2012-05-26 Matthew Garrett <mjg@redhat.com>
1588
1589 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1590 (grub_efi_console_fini): Likewise.
1591 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1592 (grub_video_gop_fill_mode_info): Rename to ...
1593 (grub_video_gop_fill_real_mode_info): ... this.
1594 (grub_video_gop_fill_mode_info): New function.
1595 (grub_video_gop_setup): Setup double framebuffer.
1596 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1597 Free offscreen.
1598 (grub_video_gop_swap_buffers): Copy framebuffer.
1599 (grub_video_gop_fini): Free offscreen buffer.
1600 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1601 New enum.
1602 (grub_efi_gop_blt_pixel): New struct.
1603
1604 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * gentpl.py: Remove error disabling for objconv.
1607
1608 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * configure.ac: Remove -Wunitialized as it's not available on older
1611 compilers.
1612
1613 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Fix extent overflow comparator.
1616
1617 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1618 (grub_hfsplus_read_block): Set type.
1619 (grub_hfsplus_cmp_extkey): Compare type.
1620
1621 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1624
1625 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1628 than 0.
1629
1630 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1633 (dejavu_bold_14.pf2): New target.
1634
1635 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * configure.ac: Fix djvu font detection.
1638
1639 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1642 ext* instead of ext2.
1643
1644 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1647 name with \0.
1648
1649 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1650
1651 * docs/grub-dev.texi: Remove dot from .png.
1652
1653 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1656 protective entry in any slot.
1657 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1658 if protective entry is found in any slot.
1659
1660 Protective entry in non-first slot make no sense but is a widespread
1661 brain damage.
1662
1663 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1666
1667 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1670 with old reiserfs.
1671 (grub_reiserfs_open): Don't free root.
1672
1673 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1676 after freeing for safety.
1677
1678 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1681 Reported by: Jordan Uggla.
1682
1683 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1684
1685 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1686 actual implementation. Specifically, clarify that the grub menu will
1687 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1688 passed.
1689
1690 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1691
1692 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1693 of r0.
1694
1695 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 Remove unjustified hard dependency of normal.mod on gfxterm.
1698
1699 * include/grub/term.h (grub_term_output): New member fullscreen.
1700 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1701 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1702 (grub_gfxterm): Set .fullscreen.
1703 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1704 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1705
1706 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1709 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1710 Mention case-insensitive AFFS, SFS and JFS.
1711
1712 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1715
1716 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1719 a bad FS.
1720
1721 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1724 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1725
1726 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1729 (grub_jfs_mount): Fill caseins.
1730 (grub_jfs_find_file): Respect caseins.
1731
1732 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1735 through UTF-16.
1736
1737 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1740 New argument origpath. All users updated.
1741
1742 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1745 (read_attr): Ensure that we read start of possibly compressed block.
1746
1747 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1750 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1751 All users updated.
1752
1753 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1756 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1757 (dejavu.pf2): Replace with ...
1758 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1759 this.
1760
1761 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * util/grub.d/20_linux_xen.in: Add missing line.
1764
1765 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1768 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1769 (grub_utf16_to_utf8): Likewise.
1770
1771 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1774 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1775 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1776 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1777 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1778 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1779
1780 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1783 a bad FS.
1784
1785 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1788 (grub_udf_read_symlink): Handle read_string failure.
1789
1790 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1793 comment.
1794
1795 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Fix handling of UDF symlinks.
1798
1799 * grub-core/fs/udf.c (read_string): New argument outbuf.
1800 All users updated.
1801 (grub_ufs_read_symlink): Rename to ...
1802 (grub_udf_read_symlink): ... this. All users updated.
1803 Handle symlinks with more than one component.
1804
1805 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1808 symlinks. Replace leading colon with a slash.
1809
1810 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1813 filename.
1814
1815 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1818 match in inner node.
1819
1820 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1823 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1824 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1825 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1826 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1827 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1828 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1829 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1830 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1831
1832 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Use grub-probe and not cmp to check that disk is empty.
1835
1836 * util/grub-install.in: Use grub-probe for zero-check.
1837 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1838 (probe): Handle PRINT_ZERO_CHECK.
1839 (argp_parser): Handle -t zero_check.
1840
1841 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Flush block cache on adding disk to device map.
1844
1845 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1846 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1847 adding.
1848 (read_device_map): Likewise.
1849 (open_device): Flush on opening.
1850
1851 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1854 (handle_symlink): Fix off-by-one error.
1855 Canonicalize the target.
1856 (grub_cpio_dir): Canonicalize the name.
1857 Fix memory leak.
1858 Set directory.
1859 (grub_cpio_open): Canonicalize the name.
1860
1861 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1864 handling.
1865
1866 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1869 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1870
1871 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1874 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1875 All users updated.
1876
1877 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1880 counterpart.
1881
1882 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Fix UFS1 big file support.
1885
1886 * grub-core/fs/ufs.c (INODE): Removed.
1887 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1888 64-bit.
1889 (INODE_MODE): Simplify.
1890 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1891 (grub_ufs_lookup_symlink): Don't use INODE.
1892
1893 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1896
1897 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1898 (grub_minix_data): Replace log_block_size with block_size.
1899 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1900 (grub_minix_mount): Fill block_size.
1901
1902 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * configure.ac: Bump to beta5.
1905
1906 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 Fix wrapped HFS+ handling.
1909
1910 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1911 blocks_start. All users updated.
1912 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1913 wrapping offset.
1914 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1915
1916 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 Fix long symlinks on reiserfs.
1919
1920 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1921 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1922 (grub_reiserfs_iterate_dir): Save size for non-directories.
1923 (grub_reiserfs_open): Don't reread stat block as we already know the
1924 size.
1925 (grub_reiserfs_read): Split into...
1926 (grub_reiserfs_read_real): ... and ...
1927 (grub_reiserfs_read): ...this.
1928
1929 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 Fix non-indexed JFS.
1932
1933 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1934 (grub_jfs_data): New field namecomponentlen.
1935 (grub_jfs_mount): Fill namecomponentlen.
1936 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1937
1938 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1941 * tests/grub_script_echo1.in: Add tests.
1942
1943 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * util/grub-install.in: Ignore empty devicetree directory.
1946
1947 2012-05-08 Bean <bean123ch@gmail.com>
1948
1949 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1950 All users updated.
1951 (free_rsm): Free header as well.
1952 (free_old_fragments): Fix memory leak.
1953 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1954 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1955 (destroy_pq): Likewise.
1956 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1957
1958 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1961 resulting hash as a precaution.
1962
1963 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1966 '_' in variable names.
1967 * grub-core/net/net.c (grub_net_network_level_interface_register):
1968 Likewise.
1969
1970 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 Fix AFFS with non-512B blocks.
1973
1974 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1975 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1976 (grub_affs_data): Replace blocksize with log_blocksize.
1977 (grub_affs_read_block): Fix non-512B blocks.
1978 (grub_affs_read_symlink): Likewise.
1979 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1980 (grub_affs_read): Fix non-512B blocks.
1981 (grub_affs_label): Likewise.
1982 (grub_affs_mtime): Likewise.
1983 (grub_affs_mount): Fix block detection routine.
1984
1985 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Add filesystem mtime to AFFS.
1988
1989 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1990 (aftime2ctime): New function.
1991 (grub_affs_dir): Use aftime2ctime.
1992 (grub_affs_label): Fix return value.
1993 (grub_affs_mtime): New function.
1994 (grub_affs_fs): Add mtime.
1995
1996 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1999 UTF-8.
2000
2001 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2004 UTF-8.
2005
2006 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2009
2010 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2013 flags.
2014 (FLAGS_CASE_SENSITIVE): New enum value.
2015 (cache_entry): New struct.
2016 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2017 cache_size and cache.
2018 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2019 Add log_blocksize and fshelp_flags.
2020 (grub_sfs_read_extent): Handle non-512 blocks.
2021 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2022 (grub_sfs_read_file): Handle non-512 blocks.
2023 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2024 fshelp_flags.
2025 (grub_sfs_read_symlink): Handle non-512 blocks.
2026 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2027 (grub_sfs_dir): Free cache.
2028 (grub_sfs_close): Likewise.
2029
2030 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2033 filesystems.
2034
2035 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2038
2039 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2042
2043 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2046 (grub_sfs_read_extent): Likewise.
2047 (grub_sfs_read_block): Likewise.
2048 (grub_sfs_mount): Likewise.
2049 (grub_sfs_iterate_dir): Likewise.
2050 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2051 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2052
2053 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Fix errors on compressed NTFS with 512B clusters.
2056
2057 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2058 types.
2059 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2060 not 0.
2061 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2062 Relax check for inline extents.
2063 (ntfscomp): Return correct -1 on error and not 0.
2064
2065 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * util/grub-install.in: Fix handling of prefix containing spaces.
2068
2069 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2072 (grub_squash_read_data): Fix offset byte-swapping.
2073
2074 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2077 per common usage and preffered in several parts of code.
2078 (grub_memcmp): Likewise.
2079 (grub_strncmp): Likewise.
2080 * include/grub/misc.h (grub_strcasecmp): Likewise.
2081 (grub_strncasecmp): Likewise.
2082 * Makefile.util.def (cmp_test): New test.
2083 (grub_script_strcmp): Likewise.
2084 * tests/cmp_unit_test.c: New file.
2085 * tests/grub_script_strcmp.in: Likewise.
2086 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2087
2088 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * include/grub/pci.h: Move enums into no-asm part.
2091
2092 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2095
2096 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2097
2098 * util/getroot.c (find_hurd_root_device): Try to make error message
2099 and comments to translators clearer.
2100
2101 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2104
2105 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2108 btrfs.
2109
2110 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * docs/grub.cfg: Update.
2113
2114 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * docs/grub.texi (PXE): Remove not present variables.
2117
2118 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/net/net.c (defserver_set_env): New function.
2121 (defserver_get_env): Likewise.
2122 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2123
2124 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2127 entries.
2128
2129 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2132 * grub-core/kern/emu/hostdisk.c: Likewise.
2133
2134 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2135
2136 Handle hurd userspace partitions.
2137
2138 * util/getroot.c (find_hurd_root_device): New function.
2139 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2140
2141 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2144 names.
2145 Reported by: Bastian Blank.
2146
2147 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2150 crossing page boundary.
2151
2152 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 Fix B-tree search in BFS, especially in presence of non-ASCII
2155 characters.
2156
2157 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2158 (find_in_b_tree): Use standard bsearch + btree algorithm.
2159
2160 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2163 and so on.
2164
2165 2012-05-03 Matthew Garrett <mjg@redhat.com>
2166 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 Suspend broadcom cards in order to stop their DMA.
2169
2170 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2171 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2172 (pci): Don't build on x86 EFI.
2173 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2174 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2175 New function.
2176 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2177 stop_broadcom if running on EFI.
2178 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2179 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2180 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2181 (grub_pci_find_capability): New proto.
2182
2183 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * docs/grub.texi: Remove dot from the extension as it apparently
2186 doesn't work with some makeinfo versions.
2187
2188 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2191 with GRUB expectance.
2192
2193 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2196
2197 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2200 zero after directory block since last entry may be not 0-terminated if
2201 it ends on block boundary. Use continue instead of if spanning whole
2202 loop.
2203
2204 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 Support 4K sectors UDF inline files.
2207
2208 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2209 (grub_udf_extended_file_entry): Likewise.
2210 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2211 All users updated.
2212 (get_fshelp_size): New function.
2213 (grub_udf_read_icb): Read whole block.
2214 (grub_udf_iterate_dir): Likewise.
2215 (grub_udf_dir): Likewise.
2216 (grub_udf_open): Likewise.
2217
2218 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2221
2222 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2225 inline symlinks in addition to workaround.
2226
2227 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2230
2231 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2234
2235 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2238
2239 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 Fix reiserfs big seek times.
2242
2243 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2244 exact. All users updated.
2245 (grub_reiserfs_read): Use nearest btree search for seeking.
2246 Fix return value on error.
2247
2248 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2251 entries.
2252 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2253 * docs/grub.texi: Update menuentry description.
2254
2255 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2258 crash when embedding onto filesystem.
2259
2260 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2263 name.
2264
2265 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2268
2269 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2272 commit.
2273
2274 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2275 2012-05-01 Bean <bean123ch@gmail.com>
2276
2277 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2278
2279 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2282 Special behaviour for len = 0 to read whole file isn't used anywhere and
2283 can cause buffer ovewrflows in several places.
2284
2285 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2288
2289 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 Handle RAIDZ on non-512B sectors.
2292
2293 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2294 max_children_ashift.
2295 (fill_vdev_info_real): Fill max_children_ashift.
2296 (read_device): Use max_children_ashift.
2297
2298 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2301
2302 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2305 disk names.
2306 * docs/grub.texi: Update device.map parts.
2307
2308 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 Don't scan into non-diskfilter devices having diskfilter names.
2311
2312 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2313 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2314 handling.
2315 (scan_disk_hook): New function.
2316
2317 2012-04-29 Bean <bean123ch@gmail.com>
2318
2319 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2320 allocation.
2321
2322 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2323
2324 * configure.ac: Detect starfield theme font path
2325 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2326
2327 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2330 geometry on serial consoles.
2331
2332 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2335 because of network consoles.
2336
2337 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2340 handling.
2341
2342 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2345 falls on Q syndrom.
2346
2347 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2350 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2351
2352 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2355 Allocate at lest 8192 for temporary buffer as required for lzo.
2356
2357 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2360 to cluster_bits, since it's already added in.
2361 (grub_fat_read_data): Likewise.
2362
2363 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2366 as long as cluster size is multiple of 512 bytes.
2367
2368 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * util/grub-mkrescue.in: Fix locale directory.
2371
2372 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/kern/emu/hostdisk.c (map): Make static.
2375
2376 2012-04-23 Bean <bean123ch@gmail.com>
2377
2378 * util/grub-fstest.c (fstest): Add missing break.
2379
2380 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2381
2382 Fix hurd build.
2383
2384 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2385 not define nr variable.
2386 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2387 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2388 grub_find_device): Do not define.
2389
2390 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 Fix kfreebsd compile and behaviour.
2393
2394 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2395 format-security.
2396 * util/getroot.c: Fix wait.h include.
2397 (grub_guess_root_devices): Error if grub_find_device fails.
2398 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2399 (grub_util_get_dev_abstraction): Likewise.
2400 (grub_util_pull_device): Likewise.
2401 (grub_util_get_grub_dev): Likewise.
2402 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2403
2404 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Fix and unify wholedisk detection.
2407
2408 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2409 is_part. All users updated.
2410 (device_is_wholedisk): Removed.
2411 (grub_util_biosdisk_get_grub_dev): Use is_part.
2412
2413 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2416 mode.
2417
2418 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * configure.ac: Bump to beta4.
2421
2422 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2425 --fs-uuid --set UUID syntax.
2426
2427 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2430 disunification.
2431
2432 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2435
2436 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2437
2438 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2439
2440 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2441
2442 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2443
2444 2012-04-18 Bean <bean123ch@gmail.com>
2445
2446 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2447 place.
2448
2449 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2452 users updated.
2453 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2454 corresponding to GRUB partitions.
2455 (grub_util_biosdisk_write): Likewise.
2456
2457 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Scan mdraid before LVM.
2460
2461 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2462 (grub_diskfilter_register_front): ... this.
2463 (grub_diskfilter_register_back): New function.
2464 All users of grub_diskfilter_register updated.
2465
2466 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * util/grub-install.in: Fix an automatic target detection bug.
2469
2470 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * util/grub-install.in: New option --efi-directory.
2473
2474 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2477 boot services if we have no other choice.
2478
2479 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2482 document it.
2483 * tests/util/grub-shell.in: Update to --directory.
2484
2485 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2488
2489 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2492 (grub_minix_read_file): Likewise.
2493 (grub_minix_read_inode): Likewise.
2494 (grub_minix_find_file): Likewise.
2495 (grub_minix_dir): Likewise.
2496
2497 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * util/grub-setup.c (setup): Fix partition handling and blocklist
2500 check.
2501
2502 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2505 redundant buggy overlap check.
2506
2507 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2510 and grub-mknetdir.
2511
2512 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2515 kh.loadflags on pre-2.00 kernels.
2516
2517 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 Terminate UNDI and PXE before launching the payload to avoid problems
2520 with DMA.
2521
2522 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2523 (grub_loader_flags): ... this. All users updated.
2524 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2525 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2526 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2527 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2528 function.
2529 (grub_pxe_restore): Likewise.
2530 (fini_hnd): New var.
2531 (GRUB_MOD_INIT): Register shutdown hook.
2532 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2533 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2534 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2535 (grub_loader_set): Rename second argument to flags.
2536
2537 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2540 written bytes.
2541 (grub_get_num_of_utf8_bytes): New function.
2542 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2543 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2544 executing it.
2545 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2546 (grub_ucs4_to_utf8): Change return type.
2547
2548 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2551 warning.
2552 * grub-core/fs/bfs.c (hop_level): Likewise.
2553 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2554
2555 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/lib/adler32.c: Recode due to license unclearness.
2558
2559 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2562 (test_header): Likewise.
2563
2564 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 Fix --help formatting.
2567
2568 * util/grub-mkconfig_lib.in (print_option_help): New function.
2569 (grub_fmt): Likewise.
2570 * util/grub-install.in: Use print_option_help and grub_fmt.
2571 * util/grub-kbdcomp.in: Likewise.
2572 * util/grub-mkconfig.in: Likewise.
2573 * util/grub-mknetdir.in: Likewise.
2574 * util/grub-mkrescue.in: Likewise.
2575 * util/grub-mkstandalone.in: Likewise.
2576 * util/grub-reboot.in: Likewise.
2577 * util/grub-set-default.in: Likewise.
2578 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2579
2580 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * linguas.sh: Remove autogenerated *.po.
2583
2584 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * po/README: Move language fetcing to ...
2587 * linguas.sh: ... here.
2588 * po/README: Point to linguas.sh.
2589
2590 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * po/README: Exclude ko.po due to disclaimer problems.
2593
2594 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2597 len = 0.
2598 (grub_gettext_translate_real): Handle 0th string.
2599 (grub_gettext_translate): Ensure that "" isn't translated.
2600
2601 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2604 TRANSLATORS comment.
2605 (grub_diskfilter_print_partmap): Propagate changing of error into
2606 warning.
2607
2608 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2611 to uint64_t to prevent overflow.
2612 (grub_diskfilter_lv): Increase start_extent and extent_count
2613 to uint64_t to prevent overflow.
2614
2615 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * configure.ac: Increase version.
2618
2619 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2622
2623 * po/Rules-translit: New file.
2624 * po/arabic.sed: Likewise.
2625 * po/cyrillic.sed: Likewise.
2626 * po/greek.sed: Likewise.
2627 * po/hebrew.sed: Likewise.
2628 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2629 * po/Makefile.in.in: Add extra_dist4.
2630
2631 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2634
2635 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2636 modify names. Introduce MODE_BIGENDIAN.
2637 * grub-core/fs/minix_be.c: New file.
2638 * grub-core/fs/minix2_be.c: Likewise
2639 * grub-core/fs/minix3_be.c: Likewise.
2640 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2641 minix3_be.
2642 * grub-core/Makefile.core.def (minix_be): New module.
2643 (minix2_be): Likewise.
2644 (minix3_be): Likewise.
2645
2646 2012-04-01 Felix <email@hamburg.de>
2647
2648 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2649 (devs): Add MBP 2011.
2650
2651 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2654
2655 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/normal/cmdline.c (print_completion): New field
2658 prompt_len.
2659 (grub_cmdline_get): Handle width properly.
2660
2661 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2664
2665 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2668 after 29th of February.
2669
2670 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 Fix exfat endianness handling.
2673
2674 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2675 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2676 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2677 Byte-swap utf16 when necessary.
2678 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2679
2680 2012-03-31 Anton Blanchard <anton@samba.org>
2681 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 Fix btrfs endianness handling.
2684
2685 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2686 (lower_bound): Make root uint64_t. Use root in le.
2687 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2688 (find_path): Fix template key init.
2689 (grub_btrfs_dir): Fix mtime byteswap.
2690 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2691
2692 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2695 recursion_depth. Break infinite resursions. All users updated.
2696
2697 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2700 after free.
2701 Reported by: Peter Jones.
2702
2703 2012-03-31 Anton Blanchard <anton@samba.org>
2704
2705 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2706 8 bit values.
2707
2708 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * util/grub-install.in: Fix nvram call for PreP.
2711
2712 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2715 the error when some elements are missing into a warning.
2716
2717 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2720
2721 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2722
2723 * docs/grub.texi (Invoking grub-probe): New section.
2724 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2725
2726 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 Fix tab and wide character handling in editor and menu.
2729
2730 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2731 agglomerate control characters with combining marks.
2732 (bidi_line_wrap): Allow break on tab.
2733 (grub_unicode_get_comb_start): New function.
2734 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2735 and tab correctly.
2736 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2737 with a space.
2738 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2739 fixed_tab_size. All users updated.
2740 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2741 (grub_term_getcharwidth): Handle \t.
2742 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2743 and copy.
2744
2745 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Handle big-endian mdraid.
2748
2749 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2750 * grub-core/Makefile.core.def (mdraid09_be): New module.
2751 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2752 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2753 * grub-core/disk/mdraid_linux_be.c: New file.
2754
2755 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2758
2759 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2762 missing quotes which caused confusion among translators.
2763
2764 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/grub-mkconfig_lib.in: Fix typo.
2767
2768 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2771 spaces.
2772 * tests/grub_script_leading_whitespace.in: New file.
2773 * Makefile.util.def (grub_script_leading_whitespace): New test.
2774
2775 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2778 to work.
2779
2780 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2783 starts with control character.
2784
2785 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2788 overflow.
2789 (grub_gdb_outbuf): Likewise.
2790
2791 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2794 zero terminator. Fixes a crash.
2795
2796 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2799 beyond 4 GiB.
2800 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2801 images independently of preffered adderss field.
2802
2803 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2806 * grub-core/commands/regexp.c: Likewise.
2807 * grub-core/loader/i386/linux.c: Likewise.
2808 * grub-core/partmap/msdos.c: Likewise.
2809 * grub-core/script/execute.c: Likewise.
2810 * grub-core/term/gfxterm.c: Likewise.
2811
2812 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Add variable parsing in $"..." and fix several mismatches with bash.
2815
2816 * Makefile.util.def (grub_script_gettext): New test.
2817 * grub-core/script/execute.c (parse_string): New function.
2818 (gettext_append): Likewise.
2819 (grub_script_arglist_to_argv): Use gettext_append.
2820 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2821 * tests/grub_script_gettext.in: New file.
2822
2823 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 Fix handling of leading spaces in scripts.
2826
2827 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2828 spaces.
2829 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2830 other than skipping \r. All users updated.
2831 * tests/grub_script_echo1.in: Add space-related tests.
2832 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2833
2834 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2837
2838 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * configure.ac: Bump up the version to beta2.
2841
2842 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Fix gettext reload bugs (e.g. inability to disable gettext
2845 once enabled).
2846
2847 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2848 main_context and secondary_context. All functions updated.
2849 (grub_gettext_translate): Rename to ...
2850 (grub_gettext_translate_real): ... this. Return NULL on failed
2851 translate.
2852 (grub_gettext_translate): Handle secondary context.
2853 (grub_gettext_delete_list): Close file and zero-out the context.
2854 (grub_mofile_open): Don't call grub_gettext_delete_list.
2855 Don't close file.
2856 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2857 if locale="" to avoid pointless error message.
2858 (grub_gettext_env_write_lang): Update lang even if load fails.
2859 Handle secondary context.
2860 (grub_gettext_reread_prefix): New function.
2861 (read_main): Likewise.
2862 (read_secondary): Likewise.
2863 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2864 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2865 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2866 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2867
2868 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * configure.ac: Decrease warning level to avoid spurious warnings and
2871 to be able to compile with GCC 4.2.
2872 * Makefile.util.def: Remove -Wno-error=logical-op.
2873
2874 2012-03-10 William Bittner <william.bittner@gmail.com>
2875
2876 * util/import_unicode.py: Add missing brackets around string for
2877 python 3 support.
2878
2879 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 Fix efi chainloader on network root.
2882
2883 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2884 network devices.
2885 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2886 New function.
2887
2888 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2891 unused show_text member.
2892 * docs/grub.texi: Document "text" property.
2893
2894 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2897 in dprintf.
2898
2899 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 Fix IMSM handling on Fedora.
2902
2903 * util/getroot.c (grub_util_is_imsm): New function.
2904 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2905
2906 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * Makefile.am: Strip gold section.
2909 * conf/Makefile.common: Likewise.
2910 * gentpl.py: Likewise.
2911 * grub-core/Makefile.core.def: Likewise.
2912 * grub-core/genmod.sh.in: Likewise.
2913
2914 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2917 * util/grub.d/20_linux_xen.in: Likewise.
2918 Based on Debian patch.
2919
2920 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * util/grub.d/10_linux.in: Fix syntax error resulting in
2923 Richard Laager's patch.
2924 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2925
2926 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2929 dependencies.
2930
2931 2012-03-10 Richard Laager <rlaager@wiktel.com>
2932
2933 * util/grub.d/10_linux.in: Fix ZFS root passing.
2934
2935 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2938 * grub-core/commands/xnu_uuid.c: Likewise.
2939 * grub-core/loader/efi/appleloader.c: Likewise.
2940 * grub-core/script/execute.c: Likewise.
2941 * grub-core/script/main.c: Likewise.
2942 * util/grub-mkfont.c: Likewise.
2943
2944 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * util/grub-mkfont.c (options): Use more appropriate "select" that
2947 "set" for face index.
2948
2949 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * util/grub-editenv.c (options): Gettextize command summaries.
2952
2953 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2956 "out of memory" error messagge.
2957
2958 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2961 of diskfilter for diskfilter on diskfilter support.
2962
2963 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2966
2967 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2970 themes/starfield.
2971
2972 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2975
2976 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2979
2980 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2983 of error message.
2984
2985 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2988
2989 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2992 message.
2993 * util/grub-install.in: Fix and gettextize error message.
2994
2995 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2998 Gettextize.
2999 * util/grub-mount.c (options): Likewise.
3000
3001 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3004 gettextize.
3005 * grub-core/commands/search_wrap.c (options): Likewise.
3006
3007 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3010
3011 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3014 size calculation.
3015 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3016 none is known.
3017
3018 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3021 "temporary" since it's used in identifier and is limited in space.
3022
3023 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * po/POTFILES.in: Regenerate. Include *.h since they contain
3026 translatable strings as well.
3027
3028 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3031 byte-swap on big-endian.
3032 Reported by: Lennart Sorensen
3033
3034 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3037 (allocate_pages): Improve dprintf.
3038 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3039 code32_start. Fill code32_start and kernel_alignment in params.
3040 (grub_cmd_initrd): Use prot_init_space.
3041
3042 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3045
3046 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * util/grub-install.in: Add missing dot at the end of sentence.
3049
3050 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3053 * grub-core/commands/videotest.c: Likewise.
3054 * grub-core/loader/i386/linux.c: Likewise.
3055
3056 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3059 sentence.
3060 Reported by: Milo Casagrande.
3061
3062 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3065 * grub-core/commands/gptsync.c: Likewise.
3066 * grub-core/commands/hashsum.c: Likewise.
3067 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3068 * grub-core/commands/legacycfg.c: Likewise.
3069 * grub-core/io/gzio.c: Likewise.
3070 * grub-core/net/net.c: Likewise.
3071 * grub-core/term/gfxterm.c: Likewise.
3072 * grub-core/term/terminfo.c: Likewise.
3073 * grub-core/tests/test_blockarg.c: Likewise.
3074 * grub-core/video/video.c: Likewise.
3075 * util/grub-install.in: Likewise.
3076 * util/grub-mkfont.c: Likewise.
3077
3078 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3081
3082 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/commands/search_wrap.c (options): Fix a typo.
3085 Reported by: David Prévot.
3086
3087 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3090 description.
3091
3092 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * util/grub-script-check.c (main): Fix a syntax error message which was
3095 unclear.
3096
3097 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3100
3101 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3104 messages.
3105
3106 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3109 without argument.
3110 * util/grub-mount.c (options): Likewise.
3111
3112 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3115
3116 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/net/http.c: Add TRANSLATORS comments.
3119 * grub-core/normal/cmdline.c: Likewise.
3120 * grub-core/normal/misc.c: Likewise.
3121 * grub-core/partmap/msdos.c: Likewise.
3122 * grub-core/parttool/msdospart.c: Likewise.
3123 * grub-core/script/execute.c: Likewise.
3124 * grub-core/script/main.c: Likewise.
3125 * grub-core/term/terminfo.c: Likewise.
3126 * grub-core/video/bitmap.c: Likewise.
3127 * util/grub-install.in: Likewise.
3128 * util/grub-mkimage.c: Likewise.
3129 * util/grub-mklayout.c: Likewise.
3130 * util/grub-setup.c: Likewise.
3131
3132 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3135 with similar messages in grub-fstest.
3136
3137 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * util/grub-install.in: Unify "option requires an argument" message
3140 with similar messages in other files.
3141 * util/grub-mkconfig.in: Likewise.
3142
3143 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * util/grub-set-default.in: Replace printf with gettext_printf (the
3146 string in in question is already translated from grub-reboot)
3147
3148 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * configure.ac: Bump up the version to beta1.
3151
3152 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3155 case when min_align = 0.
3156
3157 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3160 and fix a case when line_start overflows.
3161
3162 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * util/grub-reboot.in (usage): Mention id posibility.
3165 * util/grub-set-default.in (usage): Likewise.
3166
3167 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3170 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3171 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3172 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3173 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3174 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3175 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3176
3177 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/commands/menuentry.c (options): Remove
3180 GRUB_ARG_OPTION_REPEATABLE.
3181 Reported by: Andreas Vogel
3182
3183 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3184
3185 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3186
3187 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3188
3189 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3190 error.
3191
3192 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Use sort -V by the idea of Georgi Georgiev.
3195
3196 * util/grub-mkconfig_lib.in (version_sort): New function.
3197 (version_test_numeric): Use version_sort.
3198
3199 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Use submenus in grub-mkconfig.
3202
3203 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3204 * util/grub-mkconfig_lib.in (grub_quote): New function.
3205 (gettext_printf): Use gettext and not gettext_quoted to fix several
3206 messages.
3207 * util/grub.d/10_hurd.in: Use submenus.
3208 * util/grub.d/10_kfreebsd.in: Likewise.
3209 * util/grub.d/10_linux.in: Likewise.
3210 * util/grub.d/10_netbsd.in: Likewise.
3211 * util/grub.d/20_linux_xen.in: Likewise.
3212 * util/grub.d/30_os-prober.in: Likewise.
3213 * util/grub.d/10_illumos.in: Add missing quoting.
3214 * util/grub.d/10_windows.in: Likewise.
3215
3216 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 Fix menu title instability bug.
3219
3220 * grub-core/commands/menuentry.c (options): New option --id.
3221 (grub_normal_add_menu_entry): New argument id. All users updated.
3222 (grub_cmd_menuentry): Handle --id.
3223 (grub_menu_init): Accept unknown arguments.
3224 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3225 feature_menuentry_options.
3226 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3227 saved_entry.
3228 (get_entry_number): Match with id as well.
3229 * include/grub/menu.h (grub_menu_entry): New member id.
3230 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3231 * util/grub.d/00_header.in: Define menuentry_id_option.
3232 * util/grub.d/10_hurd.in: Define id.
3233 * util/grub.d/10_illumos.in: Likewise.
3234 * util/grub.d/10_kfreebsd.in: Likewise.
3235 * util/grub.d/10_linux.in: Likewise.
3236 * util/grub.d/10_netbsd.in: Likewise.
3237 * util/grub.d/10_windows.in: Likewise.
3238 * util/grub.d/20_linux_xen.in: Likewise.
3239 * util/grub.d/30_os-prober.in: Likewise.
3240
3241 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3244 "scope" with "body".
3245
3246 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3249 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3250 prot_size and prot_file_size.
3251
3252 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3255 All users updated. If easily=1 require raid-5/-6 to be full.
3256 (is_node_readable): Likewise.
3257 (scan_devices): Scan incomplete but readable LVs at the end.
3258 (grub_diskfilter_memberlist): Pull missing devices.
3259 (insert_array): Skip scanning until device is complete or scan is
3260 done otherwise.
3261 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3262 check.
3263 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3264 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3265
3266 2012-03-03 Matthew Garrett <mjg@redhat.com>
3267 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 Avoid EFI boot services when loading Linux.
3270
3271 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3272 avoid_efi_bootservices. All users updated.
3273 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3274 argument avoid_efi_bootservices. All users updated.
3275 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3276 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3277 align, min_align, relocatable, prefered_address. All users updated.
3278 Allocate avoiding boot services if kernel is relocatable.
3279 (grub_cmd_linux): Check if kernel is relocatable.
3280 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3281 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3282 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3283 avoid_efi_boot_services.
3284 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3285 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3286 (linux_kernel_params): Likewise.
3287
3288 2012-03-03 Matthew Garrett <mjg@redhat.com>
3289 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Use EDID on EFI.
3292
3293 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3294 datasize_out.
3295 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3296 modes. Set gop_handle.
3297 (grub_video_gop_get_edid): New function.
3298 (grub_gop_get_preferred_mode): Likewise.
3299 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3300 (grub_video_efi_gop_adapter): Set .get_edid.
3301 * include/grub/efi/edid.h: New file.
3302 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3303
3304 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * util/grub-install.in: Load efivars unconditionally.
3307
3308 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * po/Rules-piglatin: Change suffix from .po-update-en to
3311 .po-update-en-piglatin.
3312
3313 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 Add a pig farm.
3316
3317 * po/piglatin.sed: New file.
3318 * po/en@piglatin.header: Likewise.
3319 * po/Rules-piglatin: Likewise.
3320 * po/README: Add en@piglatin to autogenerated languages.
3321
3322 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3325 "Command for ...".
3326 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3327 "Check" since we don't check anything.
3328 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3329 is 64-bit one.
3330 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3331 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3332 (grub_md_sha512_real): Likewise.
3333
3334 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/commands/gptsync.c: Fix typographic quoting.
3337 * grub-core/commands/ieee1275/suspend.c: Likewise.
3338 * grub-core/commands/parttool.c: Likewise.
3339 * grub-core/commands/search_wrap.c: Likewise.
3340 * grub-core/commands/videoinfo.c: Likewise.
3341 * grub-core/gfxmenu/gui_label.c: Likewise.
3342 * grub-core/hello/hello.c: Likewise.
3343 * grub-core/kern/emu/main.c: Likewise.
3344 * grub-core/net/net.c: Likewise.
3345 * grub-core/normal/menu.c: Likewise.
3346 * grub-core/normal/menu_text.c: Likewise.
3347 * grub-core/normal/misc.c: Likewise.
3348 * util/grub-editenv.c: Likewise.
3349 * util/grub-install.in: Likewise.
3350 * util/grub-kbdcomp.in: Likewise.
3351 * util/grub-mkconfig.in: Likewise.
3352 * util/grub-mknetdir.in: Likewise.
3353 * util/grub-mkrescue.in: Likewise.
3354 * util/grub-mkstandalone.in: Likewise.
3355 * util/grub-reboot.in: Likewise.
3356 * util/grub-set-default.in: Likewise.
3357 * util/grub-setup.c: Likewise.
3358 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3359
3360 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3363 * grub-core/commands/keystatus.c: Likewise.
3364 * grub-core/commands/loadenv.c: Likewise.
3365 * grub-core/commands/probe.c: Likewise.
3366 * grub-core/commands/regexp.c: Likewise.
3367 * grub-core/commands/true.c: Likewise.
3368 * grub-core/commands/videoinfo.c: Likewise.
3369 * grub-core/disk/cryptodisk.c: Likewise.
3370 * grub-core/disk/ldm.c: Likewise.
3371 * grub-core/disk/loopback.c: Likewise.
3372 * grub-core/disk/luks.c: Likewise.
3373 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3374 * grub-core/kern/disk.c: Likewise.
3375 * grub-core/kern/emu/hostdisk.c: Likewise.
3376
3377 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3380 * util/grub-install.in: Add missing quote in the comment.
3381
3382 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3385 * grub-core/commands/lsmmap.c: Likewise.
3386 * grub-core/commands/minicmd.c: Likewise.
3387 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3388 * grub-core/commands/regexp.c: Likewise.
3389 * grub-core/gdb/gdb.c: Likewise.
3390 * grub-core/term/gfxterm.c: Likewise.
3391 * util/grub-mkconfig.in: Likewise.
3392 * util/grub-mkfont.c: Likewise.
3393 * util/grub-mklayout.c: Likewise.
3394 * util/grub-mknetdir.in: Likewise.
3395 * util/grub-mkrescue.in: Likewise.
3396 * util/grub.d/30_os-prober.in: Likewise.
3397
3398 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3401 with "Direct color" and "Packed" with "Packed pixel".
3402 (grub_cmd_videoinfo): Simplify legend.
3403
3404 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3407 absolutely unclear error message.
3408
3409 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * util/grub-mkstandalone.in: Remove confusing leftover print.
3412
3413 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3416 comments.
3417 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3418 (GRUB_MOD_INIT): Likewise.
3419 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3420 VGA mode.
3421 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3422 comments.
3423 * util/grub-install.in (usage): Likewise.
3424 Spell ID in whole letters.
3425 Add missing ending dot.
3426 Quote variables.
3427 * util/grub-reboot.in: Fix capitalisation.
3428 * util/grub-set-default.in: Likewise.
3429
3430 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3433 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3434 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3435 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3436 Disable -Werror for -Wdeprecated-declarations.
3437 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3438 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3439 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3440 (grub_util_get_grub_dev): Make luks handling dependent on
3441 HAVE_DEVICE_MAPPER and not __linux__.
3442 (get_win32_path): Fix format security.
3443 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3444 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3445 Don't try grub_find_zpool_from_dir.
3446 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3447 #ifdef-out paresdir.
3448
3449 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * util/grub-pe2elf.c (usage): Add missing noreturn.
3452 (write_section_data): Rename name to shname to avoid shadowing.
3453 (write_symbol_table): Rename name to symname to avoid shadowing.
3454 Fix write_reloc_section call.
3455
3456 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3459 to ensure that it's after the last byte of .text.
3460
3461 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * util/ieee1275/ofpath.c (my_isdigit): New function.
3464 (trailing_digits): Use my_isdigit.
3465 (strip_trailing_digits): Likewise.
3466
3467 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3470 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3471
3472 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/kern/i386/pc/startup.S: Define __start.
3475
3476 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3479 strip already transforms he format.
3480
3481 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3484
3485 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * util/grub-install.in: Add missing gettext init.
3488 * util/grub-kbdcomp.in: Likewise.
3489 * util/grub-mkconfig.in: Likewise.
3490 * util/grub-mknetdir.in: Likewise.
3491 * util/grub-mkrescue.in: Likewise.
3492 * util/grub-mkstandalone.in: Likewise.
3493 * util/grub-reboot.in: Likewise.
3494 * util/grub-set-default.in: Likewise.
3495 * util/grub.d/00_header.in: Likewise.
3496 * util/grub.d/10_hurd.in: Likewise.
3497 * util/grub.d/10_windows.in: Likewise.
3498 * util/grub.d/30_os-prober.in: Likewise.
3499 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3500
3501 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * po/Rules-swiss: Fix header comment.
3504
3505 2012-02-29 Andreas Vogel <anvoit>
3506
3507 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3508 resulted in leak of arguments.
3509
3510 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3513 reed_solomon_size const definition instead of computing it since
3514 Apple assembler doesn't support the later.
3515
3516 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * gentpl.py (kernel): Rewrite Apple part.
3519
3520 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3523
3524 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3527 ELF section gap.
3528 (load_image): Likewise.
3529
3530 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * configure.ac: Fix a typo in previous commit.
3533
3534 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 Don't add -Wl,-N on Apple platform.
3537
3538 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3539 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3540
3541 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/Makefile.core.def (lzma_decompress): Use
3544 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3545
3546 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/genmod.sh.in: Rewrite the Apple part.
3549
3550 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3553 comparison.
3554
3555 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * acinclude.m4 (grub_CHECK_PIC): New test.
3558 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3559
3560 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3563 to avoid the warning.
3564
3565 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3568 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3569 after. All users updated.
3570
3571 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 Use the common size routine in hostfs so we can read disks as well.
3574
3575 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3576 (grub_util_get_fd_size): ... this. Return size in bytes.
3577 All users updated.
3578 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3579 grub_util_get_fd_size.
3580
3581 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3584 Add blocksize retrieval.
3585
3586 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * configure.ac: Restore CFLAGS after efiemu check.
3589
3590 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3593 Apple bug.
3594
3595 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3598
3599 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3602 (grub_cmd_halt): Likewise.
3603
3604 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3607 for local arithmetics.
3608 Break %sp init into 2 instructions.
3609 Add 0 byte at the end.
3610
3611 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3614 before loops.
3615
3616 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3619 for context.
3620
3621 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/disk/ldm.c (make_vg): Init part.name.
3624 (grub_ldm_detect): Silence spurious warning.
3625 (grub_util_is_ldm): Likewise.
3626
3627 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3630 sane value to avoid a spurious warning.
3631
3632 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3635 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3636
3637 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3640 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3641
3642 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3645 hardcoding the relevant info.
3646
3647 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3650 missing const qualifiers.
3651 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3652
3653 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * util/getroot.c [__APPLE__]: Add missing includes.
3656 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3657
3658 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3661
3662 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3665 avoid conflicts.
3666
3667 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3670
3671 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3674 and grub_file_close call.
3675
3676 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Add LZSS Mach-O support (needed for new xnu kernelcache).
3679
3680 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3681 * grub-core/loader/lzss.c: New file.
3682 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3683 on Mach-O open failure.
3684 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3685 Don't free cmdsXX in uncompressedXX is set.
3686 (grub_macho_file): Init new fields.
3687 New argument is_64bit. All users updated.
3688 Handle compressed. Error out if no suitable architecture is found.
3689 Don't close file.
3690 (grub_macho_open): New argument is_64bit. All users updated.
3691 * grub-core/loader/macho32.c: Add defines for new fields.
3692 * grub-core/loader/macho64.c: Likewise.
3693 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3694 (grub_macho_parse): Handle compressed.
3695 Defer actual processing if compressed.
3696 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3697 "filename". All users updated.
3698 (grub_macho_size): New argument "filename". All users updated.
3699 (grub_macho_get_entry_point): Likewise.
3700 (grub_macho_load): Handle compressed.
3701 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3702 (GRUB_MACHO_LZSS_OFFSET): New define.
3703 (grub_decompress_lzss): New proto.
3704 * include/grub/machoload.h (grub_macho_file): New fields to handle
3705 compressed.
3706 (grub_macho_contains_macho64): Remove proto.
3707 (grub_macho_contains_macho32): Likewise.
3708 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3709
3710 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3713
3714 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Fix make dist.
3717
3718 * Makefile.am (starfield_theme_files): New var.
3719 (starfield_DATA): Use starfield_theme_files.
3720 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3721 Add bootcheck-related files.
3722 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3723 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3724 and font_char_metrics.txt.
3725 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3726 (setjmp): Add lib/ia64/longjmp.S.
3727 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3728 * po/POTFILES.in: Regenerate.
3729 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3730 DISTFILES.common.extra1.
3731 * util/devicemap.c: Removed.
3732 * grub-core/lib/i386/relocator_backward.S: Likewise.
3733 * util/import_gcry.py: Remove unused files. Add extra_dist for
3734 ChangeLog.
3735
3736 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3739 grub_gettext_delete_list before changing grub_gettext_max to avoid
3740 running out of array bounds.
3741
3742 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3745 grub_vga_text_init/grub_vga_text_fini.
3746
3747 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3750
3751 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * configure.ac: Bump to 2.00~beta0.
3754
3755 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3758 missing initialisation.
3759
3760 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3763
3764 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 Support v2 xnu boot arguments.
3767
3768 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3769 New argument fsbfreq_out.
3770 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3771 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3772 be used.
3773 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3774 darwin_version.
3775 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3776 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3777 (grub_xnu_boot_params): Rename to ...
3778 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3779 (grub_xnu_boot_params_v2): New struct.
3780
3781 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3784 zeroing of CRC field before computing CRC.
3785
3786 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3789 Change order of allocations to decrease fragmentation.
3790
3791 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3794
3795 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3796
3797 Use write-combining MTRR to speed up video with buggy BIOSes.
3798
3799 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3800 (cpuid): New define.
3801 (rdmsr): Likewise.
3802 (wrmsr): Likewise.
3803 (mtrr_base): Likewise.
3804 (mtrr_mask): Likewise.
3805 (grub_vbe_enable_mtrr_entry): New function.
3806 (grub_vbe_enable_mtrr): Likewise.
3807 (grub_vbe_disable_mtrr): Likewise.
3808 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3809 control off to BIOS.
3810 (grub_video_vbe_init): Fill mtrr.
3811 (grub_video_vbe_fini): Disable mtrr.
3812 (grub_video_vbe_get_info_and_fini): Likewise.
3813 (grub_video_vbe_setup): Enable mtrr.
3814
3815 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3816
3817 * include/grub/partition.h (grub_partition_map): Change prototype of
3818 embed to take a maximum value for nsectors.
3819 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3820 * include/grub/fs.h (grub_fs): Likewise.
3821 * grub-core/partmap/msdos.c (embed_signatures): New array.
3822 (pc_partition_map_embed): Check for and avoid sectors matching any
3823 of the signatures in embed_signatures, up to max_nsectors.
3824 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3825 returned sector map to max_nsectors.
3826 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3827 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3828 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3829 * util/grub-setup.c (setup): Allow for the embedding area being
3830 split into multiple blocklists. Tell dest_partmap->embed the
3831 maximum number of sectors we care about.
3832
3833 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3836 Specify blocklist_install and reserver_first_sector for all fs.
3837 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3838 blocklists.
3839
3840 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * util/grub-install.in: Clarify strings.
3843 Fix source dir check.
3844
3845 2012-02-27 Richard Laager <rlaager@wiktel.com>
3846
3847 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3848 "zfs" and "fuse.zfs" as synonyms.
3849
3850 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * configure.ac: Put platform and target_cpu substitutions back since
3853 they are used for directories.
3854
3855 2012-02-27 Richard Laager <rlaager@wiktel.com>
3856 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3859 * util/grub.d/20_linux_xen.in: Likewise.
3860
3861 2012-02-27 Richard Laager <rlaager@wiktel.com>
3862
3863 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3864 with full paths.
3865
3866 2012-02-27 Richard Laager <rlaager@wiktel.com>
3867
3868 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3869 unescape.
3870
3871 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 Don't use insecure popen in getroot.
3874
3875 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3876 (exec_pipe): ... here.
3877 (find_root_devices_from_poolname): Use exec_pipe.
3878
3879 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 Remove platform and target_cpu replacement.
3882
3883 * configure.ac: Remove platform and target_cpu substitutions.
3884 * tests/util/grub-shell.in: Use modinfo.
3885 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3886 explicitly.
3887
3888 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Autodetect platform in grub-install but allow override.
3891
3892 * util/grub-install.in: Autodetect platform. Support --target and
3893 --directory. Read platform from modinfo.sh.
3894
3895 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 Support btrfs multi-volume probe.
3898
3899 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3900 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3901 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3902 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3903 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3904 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3905 grub_find_root_devices_from_btrfs if on btrfs.
3906
3907 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Remove any awareness of *.c util files about target.
3910
3911 * Makefile.util.def (grub-setup): Split to ...
3912 (grub-bios-setup): ... and this.
3913 (grub-sparc64-setup): ... and this.
3914 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3915 * docs/man/grub-setup.h2m: Split into ...
3916 * docs/man/grub-sparc64-setup.h2m: ... this.
3917 * docs/man/grub-bios-setup.h2m: ... and this.
3918 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3919 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3920 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3921 (grub_target_addr_t): Remove.
3922 (grub_target_size_t): Remove.
3923 (grub_target_ssize_t): Remove.
3924 * util/grub-install.in: Use new grub-*-setup.
3925 * util/grub-mkimagexx.c (Elf_Word): New define.
3926 (Elf_Half): Likewise.
3927 (Elf_Section): Likewise.
3928 (ELF_ST_TYPE): Likewise.
3929 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3930 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3931
3932 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 Replace grub_target_addr with more appropriate types.
3935
3936 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3937 grub_target_addr with grub_addr.
3938 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3939 grub_target_addr with grub_port.
3940 (grub_cmd_write): Likewise.
3941 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3942 grub_target_addr with grub_addr.
3943 (grub_cmd_write): Likewise.
3944 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3945
3946 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3949 const qualifier for vendor_guid.
3950
3951 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3954 const qualifier.
3955 (efiemu_memequal): Likewise.
3956 (find_variable): Likewise.
3957
3958 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 Fix missing console prototype on qemu-mips.
3961
3962 * include/grub/mips/qemu_mips/console.h: New file.
3963
3964 2012-02-27 Matthew Garrett <mjg@redhat.com>
3965 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3968 * include/grub/efi/efi.h: Likewise.
3969 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3970 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3971 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3972 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3973 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3974 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3975
3976 2012-02-27 Matthew Garrett <mjg@redhat.com>
3977
3978 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3979
3980 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3983 error.
3984
3985 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * configure.ac: Remove inappropriate use of program_transform_name
3988 on grubdir and bootdir but allow explicit specification of those
3989 variables.
3990
3991 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * util/grub-mknetdir.in (grub_prefix): Removed.
3994 (subdir): Use @bootdirname@ and @grubdirname@.
3995
3996 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3999
4000 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * po/POTFILES.in: Regenerated.
4003
4004 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 Remove improper use of program_transform_name on pkglibrootdir.
4007
4008 * configure.ac (pkglibrootdir): Removed.
4009 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4010 * util/grub-mkimage.c: Likewise.
4011
4012 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4015 warning.
4016
4017 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * util/grub-install.in: Use file identifier if no UUID is available
4020 or user explicitly prompted for it.
4021
4022 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
4023
4024 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4025 (freebsd_get_zfs): New function.
4026 (grub_freebsd_boot): Pass zfs UUID.
4027 (grub_cmd_freebsd): Set zfs UUID.
4028
4029 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4032 pkglibrootdir.
4033
4034 2012-02-27 Mike Gilbert <floppym@gentoo.org>
4035
4036 Add configure flag to control libzfs integration.
4037
4038 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4039
4040 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4043 device.
4044 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4045 small devices.
4046
4047 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4050 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4051 be used on non-modules.
4052
4053 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4054 Rename to grub_boot_init.
4055 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4056 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4057 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4058 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4059 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4060 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4061 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4062 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4063 includes.
4064 (grub_machine_init): Remove empty inits.
4065 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4066 includes.
4067 (grub_machine_init): Remove empty inits.
4068 * grub-core/term/arc/console.c: Remove explicit proto.
4069 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4070 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4071 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4072 grub_at_keyboard_fini.
4073 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4074 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4075 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4076 grub_gfxterm_fini.
4077 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4078 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4079 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4080 grub_vgatext_fini.
4081 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4082 * grub-core/term/serial.c (GRUB_MOD_INIT)
4083 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4084 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4085 grub_serial_fini.
4086 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4087 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4088 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4089 grub_terminfo_fini.
4090 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4091 (GRUB_MOD_FINI): Likewise.
4092 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4093 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4094 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4095 grub_video_radeon_fuloong2e_fini.
4096 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4097 [LOONGSON]: Rename to grub_video_sis315pro_init.
4098 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4099 grub_video_sis315pro_fini.
4100 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4101 [LOONGSON]: Rename to grub_video_sm712_init.
4102 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4103 grub_video_sm712_fini.
4104 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4105 (grub_at_keyboard_fini): Likewise.
4106 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4107 Don't declare grub_{modname}_init.
4108 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4109 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4110 New proto.
4111 (grub_keylayouts_fini) [!EMU]: Likewise.
4112 * include/grub/serial.h (grub_serial_init) [!EMU]:
4113 New proto.
4114 (grub_serial_fini) [!EMU]: Likewise.
4115 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4116 New proto.
4117 (grub_terminfo_fini) [!EMU]: Likewise.
4118 * include/grub/video.h (grub_font_init) [!EMU]:
4119 New proto.
4120 (grub_font_fini) [!EMU]: Likewise.
4121 (grub_gfxterm_init) [!EMU]: Likewise.
4122 (grub_gfxterm_fini) [!EMU]: Likewise.
4123 (grub_video_sm712_init) [!EMU]: Likewise.
4124 (grub_video_sm712_fini) [!EMU]: Likewise.
4125 (grub_video_sis315pro_init) [!EMU]: Likewise.
4126 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4127 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4128 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4129
4130 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 Make nand a prefix for nand devices.
4133
4134 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4135
4136 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4139 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4140
4141 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * include/grub/env.h (grub_env_find): Remove prototype.
4144 * grub-core/kern/env.c (grub_env_find): Make static.
4145 (grub_env_set): Remove useless set.
4146
4147 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/kern/i386/realmode.S: Remove useless align.
4150
4151 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * include/grub/dl.h (grub_dl_load_file): Don't export.
4154
4155 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4158 grub_dprintf.
4159
4160 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4163 grub_errors.
4164 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4165 not reloading whole superblock but only the part which is really needed.
4166 Remove useless grub_errors.
4167 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4168 grub_errors.
4169
4170 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 Don't export grub_get_rtc.
4173
4174 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4175 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4176
4177 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4180
4181 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4184 argument since it can be deduced from diskfilter. All users updated.
4185
4186 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 Remove prio_list.
4189
4190 * include/grub/list.h (grub_prio_list): Removed.
4191 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4192 GRUB_COMMAND_PRIO_MASK.
4193 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4194 GRUB_COMMAND_FLAG_ACTIVE.
4195 (grub_prio_list_insert): Removed.
4196 (grub_prio_list_remove): Likewise.
4197 (GRUB_AS_PRIO_LIST): Likewise.
4198 (GRUB_AS_PRIO_LIST_P): Likewise.
4199 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4200 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4201 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4202 * grub-core/kern/command.c (grub_register_command_prio): Inline
4203 the prio_list code.
4204 (grub_unregister_command): Likewise.
4205
4206 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 Fix interrupt mixup from previous commit.
4209
4210 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4211 (grub_realidt): New var.
4212 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4213 Load idt.
4214 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4215 New declaration.
4216 (grub_relocator16_boot): Set grub_relocator16_idt.
4217 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4218 (LOCAL(realidt)): ... this.
4219 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4220 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4221 (grub_realidt): New variable.
4222
4223 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4226 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4227 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4228 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4229 Gettextize.
4230 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4231 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4232 * po/POTFILES.in: Regenerate.
4233
4234 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4237 errors.
4238
4239 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4242 \0.
4243 (add_length): Likewise.
4244
4245 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4246 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4247
4248 GDB serial and backtrace support.
4249
4250 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4251 (prot_to_real): Likewise.
4252 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4253 * grub-core/Makefile.core.def (backtrace): New module.
4254 (gdb): Likewise.
4255 * grub-core/gdb/cstub.c: New file.
4256 * grub-core/gdb/gdb.c: Likewise.
4257 * grub-core/gdb/i386/idt.c: Likewise.
4258 * grub-core/gdb/i386/machdep.S: Likewise.
4259 * grub-core/gdb/i386/signal.c: Likewise.
4260 * grub-core/lib/i386/backtrace.c: Likewise.
4261 * grub-core/lib/backtrace.c: Likewise.
4262 * include/grub/backtrace.h: Likewise.
4263 * include/grub/gdb.h: Likewise.
4264 * include/grub/i386/gdb.h: Likewise.
4265
4266 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4269 New function.
4270 (add_length): Likewise.
4271 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4272 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4273 proto.
4274 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4275 __argp_get_display_len.
4276
4277 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 $"..." support in scripts.
4280
4281 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4282 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4283 * grub-core/script/yylex.l: Likewise.
4284 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4285 value.
4286
4287 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * gentpl.py: Remove obsolete pkglib_DATA handling.
4290
4291 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4294 mailing list.
4295
4296 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4297 * util/grub-kbdcomp.in: Likewise.
4298 * util/grub-mkconfig.in: Likewise.
4299 * util/grub-mkconfig_lib.in: Likewise.
4300 * util/grub-mknetdir.in: Likewise.
4301 * util/grub-mkrescue.in: Likewise.
4302 * util/grub-mkstandalone.in: Likewise.
4303 * util/grub-reboot.in: Likewise.
4304 * util/grub-set-default.in: Likewise.
4305 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4306
4307 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Remove GRUB_PREFIX.
4310
4311 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4312 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4313 used for backward compatibility.
4314
4315 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Add new all_video module.
4318
4319 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4320 * grub-core/Makefile.core.def (all_video): New module.
4321 * grub-core/genmoddep.awk: Generate dependency of all_video from
4322 video.lst.
4323 * grub-core/lib/fake_module.c: New file.
4324 * grub-core/normal/main.c (features): Add feature_all_video_module.
4325 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4326 don't do explicit search again.
4327 insmod all_video in load_video if available.
4328
4329 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 Another round of string clarification and adding TRANSLATORS comments.
4332
4333 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4336
4337 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4340 to grub_ssize_t.
4341 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4342 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4343
4344 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4347 trailing newline implicitly. All users updated.
4348
4349 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 Implement serial on IEEE1275 and EFI.
4352
4353 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4354 on emu. Mention arc and emu as the only platforms without serial
4355 support.
4356 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4357 ieee1275 platforms.
4358 * grub-core/term/efi/serial.c: New file.
4359 * grub-core/term/ieee1275/serial.c: Likewise.
4360 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4361 specification if no ns8250 driver is available.
4362 (grub_cmd_serial): Likewise.
4363 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4364 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4365 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4366 (grub_efi_parity_type_t): New type.
4367 (grub_efi_stop_bits_t): Likewise.
4368 (grub_efi_serial_io_interface): New struct.
4369 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4370 available for all interfaces.
4371 Add EFI and IEEE1275 fields.
4372 (grub_ofserial_init): New proto.
4373 (grub_efiserial_init): Likeiwse.
4374 * util/grub.d/00_header.in: Don't check for the presence of serial
4375 module.
4376
4377 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4380 name as if it was an alias.
4381
4382 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/commands/lsacpi.c (options): Fix typo.
4385
4386 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Convert grub-emu to argp.
4389
4390 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4391 emu.
4392 * util/argp_common.c: Rename to ...
4393 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4394 Add missing includes.
4395 * grub-core/kern/emu/main.c: Convert to argp.
4396 * po/POTFILES.in: Regenerate.
4397 * util/grub-install.in (usage): Make first letter lowcase in messages
4398 for uniformity.
4399 * util/grub-setup.c (options): Likewise.
4400
4401 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4404 Put back accidently commented-out code.
4405
4406 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4409 loop check using Brent algorithm.
4410 (grub_hfsplus_btree_search): Likewise.
4411
4412 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * util/grub-install.in: Fix usage of wrong device for PreP install.
4415
4416 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * conf/Makefile.common (CFLAGS_GNULIB): Add
4419 -Wno-unsafe-loop-optimizations.
4420 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4421 on tools.
4422 * grub-core/commands/legacycfg.c: Add pragma to skip
4423 -Wunsafe-loop-optimizations.
4424 (check_password_md5_real): Fix loop counter type.
4425 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4426 reading.
4427 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4428 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4429 loop condition.
4430 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4431 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4432 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4433 condition.
4434 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4435 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4436 avoid possible infinite loops.
4437 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4438 and -Wunsafe-loop-optimizations.
4439 * grub-core/script/yylex.l: Likewise.
4440 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4441 (print_glyphs): Avoid infinite loops.
4442 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4443
4444 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4445
4446 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4447 to avoid infinite loop.
4448 (disp_acpi_rsdt_table): Likewise.
4449
4450 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/font/font.c (grub_font_load): Add support for default
4453 path for fonts ($prefix/fonts).
4454 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4455 for checking if string is a path.
4456 * grub-core/normal/main.c (features): Add feature_default_font_path.
4457 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4458 * util/grub.d/00_header.in: Use default directory if possible.
4459 * util/grub-install.in: Install unicode.pf2.
4460
4461 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4464 * po/Rules-swiss: New file.
4465 * po/swiss.sed: Likewise.
4466
4467 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/fs/btrfs.c (find_device): Fix typos.
4470 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4471 * util/grub-mkrelpath.c (argp_parser): Likewise.
4472 Reported by: Yuri Chornoivan.
4473
4474 2012-02-23 Dalet Omega <daletomega@gmail.com>
4475
4476 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4477 for usual informative messages.
4478
4479 2012-02-23 Dalet Omega <daletomega@gmail.com>
4480
4481 Starfield theme.
4482
4483 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4484 * conf/Makefile.common: Define starfielddir.
4485 * configure.ac: Configure starfield.
4486 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4487 * themes/starfield/README: Likewise.
4488 * themes/starfield/blob_w.png: Likewise.
4489 * themes/starfield/boot_menu_c.png: Likewise.
4490 * themes/starfield/boot_menu_e.png: Likewise.
4491 * themes/starfield/boot_menu_n.png: Likewise.
4492 * themes/starfield/boot_menu_ne.png: Likewise.
4493 * themes/starfield/boot_menu_nw.png: Likewise.
4494 * themes/starfield/boot_menu_s.png: Likewise.
4495 * themes/starfield/boot_menu_se.png: Likewise.
4496 * themes/starfield/boot_menu_sw.png: Likewise.
4497 * themes/starfield/boot_menu_w.png: Likewise.
4498 * themes/starfield/slider_c.png: Likewise.
4499 * themes/starfield/slider_n.png: Likewise.
4500 * themes/starfield/slider_s.png: Likewise.
4501 * themes/starfield/src/blob_nw.xcf: Likewise.
4502 * themes/starfield/src/bootmenu/: Likewise.
4503 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4504 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4505 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4506 * themes/starfield/src/slider_c.xcf: Likewise.
4507 * themes/starfield/src/slider_n.xcf: Likewise.
4508 * themes/starfield/src/slider_s.xcf: Likewise.
4509 * themes/starfield/src/terminalbox/: Likewise.
4510 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4511 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4512 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4513 * themes/starfield/starfield.png: Likewise.
4514 * themes/starfield/terminal_box_c.png: Likewise.
4515 * themes/starfield/terminal_box_e.png: Likewise.
4516 * themes/starfield/terminal_box_n.png: Likewise.
4517 * themes/starfield/terminal_box_ne.png: Likewise.
4518 * themes/starfield/terminal_box_nw.png: Likewise.
4519 * themes/starfield/terminal_box_s.png: Likewise.
4520 * themes/starfield/terminal_box_se.png: Likewise.
4521 * themes/starfield/terminal_box_sw.png: Likewise.
4522 * themes/starfield/terminal_box_w.png: Likewise.
4523 * themes/starfield/theme.txt: Likewise.
4524
4525 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * util/grub.d/00_header.in: Add missing export theme.
4528
4529 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4532 already included.
4533 Reported by: Eren D.
4534
4535 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * conf/Makefile.common (grubdatadir): Removed.
4538 (Makefile.am): Move eveything grubdata to pkgdata.
4539
4540 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/commands/acpihalt.c (get_sleep_type):
4543 Remove unused variable.
4544
4545 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4548 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4549 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4550 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4551 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4552 i18n with gettext no-op.
4553 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4554 GRUB_ACPI_OPCODE_STRING_CONST.
4555 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4556 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4557
4558 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * po/POTFILES.in: Regenerate.
4561
4562 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4565 -Wno-error=missing-noreturn.
4566
4567 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4570 condition to avoid possibly infinite loops.
4571 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4572 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4573
4574 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4577 condition to avoid possibly infinite loops.
4578
4579 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4582 on show_error.
4583
4584 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4587
4588 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4591
4592 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * util/bin2h.c (usage): Add missing attribute noreturn.
4595
4596 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4599 if the size isn't divisible by 512.
4600
4601 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 Make list_push and list_remove functions rather than inline functions
4604 to decrease size and avoid aliasing violations.
4605
4606 * include/grub/list.h (grub_list_push): Move to ...
4607 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4608 * include/grub/list.h (grub_list_remove): Move to ...
4609 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4610
4611 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4614 and -Wunused-result.
4615
4616 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4619 Reported by: Seth Goldberg
4620
4621 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4624
4625 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4626
4627 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4628 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4629 command line.
4630 * docs/grub.texi (Simple configuration): Document
4631 GRUB_CMDLINE_GNUMACH.
4632
4633 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * conf/Makefile.common (platform_SCRIPTS): New variable.
4636 (platform_PROGRAMS): Likewise.
4637 * gentpl.py: Mark *,module and *.image for install.
4638 * grub-core/gdb_grub.in: Add a notice of expected environment.
4639 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4640 (gmodule.pl): Likewise.
4641
4642 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 Replace grub_checkkey with grub_getkey_noblock.
4645
4646 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4647 (grub_getkey_noblock): ... this. All users updated.
4648
4649 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/kern/emu/console.c: Move to ...
4652 * grub-core/term/emu/console.c: ...here.
4653 (grub_ncurses_getkey): Fix return value if no key is detected.
4654
4655 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4658 (grub_unit_test_fini): Likewise.
4659 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4660
4661 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * include/grub/test.h (GRUB_UNIT_TEST)
4664
4665 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4668 Better error handling.
4669 (grub_script_return): Likewise.
4670 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4671
4672 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4675 rimplicit redifinition.
4676
4677 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4680 GRUB.
4681
4682 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4685 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4686 prompt here.
4687
4688 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4691 as GRUB_ERR_BUG. Don't malloc if no device is available.
4692
4693 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4696 Mark calling with invalid term as GRUB_ERR_BUG.
4697
4698 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4701 packets rather than raising an error.
4702
4703 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4706 in if.
4707
4708 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4711 diagnostic to dprintf.
4712 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4713
4714 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4717 device name.
4718
4719 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4722 (grub_ntfs_iterate_dir): Likewise.
4723
4724 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Efiemu stylistic fixes and gettext.
4727
4728 * grub-core/efiemu/i386/loadcore32.c
4729 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4730 * grub-core/efiemu/i386/loadcore64.c
4731 (grub_arch_efiemu_relocate_symbols64): Likewise.
4732 * grub-core/efiemu/i386/pc/cfgtables.c
4733 (grub_machine_efiemu_init_tables): Likewise.
4734 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4735 (grub_efiemu_loadcore_initXX): Add a filename argument.
4736 All users updated.
4737 Improved error message.
4738 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4739 Add a filename argument.
4740 All users updated.
4741 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4742 Reclassify double relocation as GRUB_ERR_BUG.
4743
4744 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4747 handling.
4748
4749 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4752 on partition.
4753
4754 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4757
4758 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Improve string. Gettextize.
4761
4762 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4765 utils.
4766 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4767
4768 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4771 [GRUB_UTIL]: New function.
4772 (insert_array) [GRUB_UTIL]: Store partmaps.
4773 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4774 partmaps.
4775 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4776 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4777 (probe_abstraction): Print diskfilter and not raid.
4778 Reported by: Lennart Sorensen
4779
4780 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4783 * util/grub-mkimagexx.c (MASK3): New define.
4784 (add_value_to_slot_20b): Use MASK3.
4785 (add_value_to_slot_21): Likewise.
4786 (relocate_addresses): Fix format specification.
4787 (load_image): Explicitly init symtab_section.
4788
4789 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4792 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4793
4794 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4797 on powerpc.
4798 Reported by: Lennart Sorensen
4799
4800 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * gentpl.py: Add missing license header.
4803 * docs/grub.texi: Update copyright year.
4804
4805 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4806
4807 Source grub-mkconfig_lib from the build directory at build time.
4808 Suggested by: Vladimir Serbinenko.
4809
4810 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4811 * util/grub-install.in: Define pkgdatadir if not already set, and source
4812 grub-mkconfig_lib from there.
4813 * util/grub-kbdcomp.in: Likewise.
4814 * util/grub-mkconfig.in: Likewise.
4815 * util/grub-mknetdir.in: Likewise.
4816 * util/grub-mkrescue.in: Likewise.
4817 * util/grub-mkstandalone.in: Likewise.
4818 * util/grub-reboot.in: Likewise.
4819 * util/grub-set-default.in: Likewise.
4820 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4821
4822 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 Increase warning level.
4825
4826 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4827 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4828 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4829 (TARGET_CFLAGS): Likewise.
4830 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4831 * grub-core/Makefile.core.def (decompressor_xz): Add
4832 -Wno-unreachable-code.
4833 (normal): Add -Wno-redundant-decls.
4834 (xzio): Add -Wno-unreachable-code.
4835 (lzopio): Add -Wno-redundant-decls -Wno-error.
4836 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4837 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4838 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4839 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4840 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4841 * grub-core/kern/i386/coreboot/init.c: Add exception to
4842 -Wsuggest-attribute=noreturn.
4843 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4844 * grub-core/kern/ia64/dl_helper.c: Likewise.
4845 * grub-core/kern/mips/dl.c: Likewise.
4846 * grub-core/kern/sparc64/dl.c: Likewise.
4847 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4848 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4849 (memcmp): Likewise.
4850 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4851 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4852 * grub-core/loader/mips/linux.c: Likewise.
4853 * grub-core/loader/multiboot_elfxx.c: Likewise.
4854 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4855 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4856 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4857 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4858 fixme.
4859 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4860 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4861 Fix prototype.
4862
4863 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4866 address.
4867
4868 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4871 Avoid improper use of strings.
4872 (grub_cmd_legacy_initrdnounzip): Likewise.
4873
4874 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4877 attribute.
4878 (grub_util_info): Likewise.
4879 (grub_util_error): Likewise.
4880
4881 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4884 * util/grub-fstest.c (fstest): Likewise.
4885
4886 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4889 (grub_md_sha512_real): Likewise.
4890 (grub_util_get_geli_uuid): Likewise.
4891 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4892 (grub_util_biosdisk_open): Fix format specification.
4893 Respect format security.
4894 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4895 (xrealloc): Likewise.
4896 (xasprintf): Likewise.
4897
4898 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * util/import_gcry.py: Include grub/crypto.h in init.c.
4901
4902 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4905 (generate_image): Make prefix a const char *.
4906 Fix format specifications. Respect format security.
4907 Avoid void * arithmetics.
4908 Avoid shadowing.
4909 (argp_parser): Remove unused variable. Respect format security.
4910 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4911 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4912 (count_funcs): Remove unused variable.
4913 (relocate_addresses): Fix format specification.
4914 Disable x86-64 with elf32. Remove unused variables.
4915 (add_fixup_entry): Avoid shadowing.
4916 (make_reloc_section): Fix format specification.
4917 Use assert.
4918 (locate_sections): Fix format specifications.
4919 (load_image): Avoid shadowing.
4920
4921 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4924 Fix format specifications. Respect format security.
4925 Don't translate already translated grub_errmsg.
4926 (argp_parser): Remove unused variable
4927
4928 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4931
4932 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4935 (main): Likewise. Use xmalloc. Respect format security.
4936
4937 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4940 a const char *.
4941 (argp_parser): Remove unused variable.
4942
4943 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4946 (add_pixel): Make static.
4947 (add_font): Likewise.
4948 (write_string_section): Make name and str a const char *.
4949 (write_be16_section): Make name a const char *.
4950 (print_glyphs): Make static.
4951 (write_font_ascii_bitmap): Likewise.
4952 (write_font_width_spec): Likewise.
4953 (write_font_pf2): Likewise.
4954 (argp_parser): Remove unused variable.
4955 Respect format security.
4956 (main): Avoid shadowing. Respect format security.
4957
4958 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * util/grub-editenv.c (argp_parser): Make static.
4961 (create_envblk_file): Use xmalloc.
4962 (open_envblk_file): Likewise.
4963 Resepect format security.
4964 (set_variables): Respect format security.
4965
4966 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * util/getroot.c (grub_find_device): Respect format security.
4969 (get_mdadm_uuid): Remove unused variable.
4970 (grub_util_pull_device): Dont call gettext on already translated
4971 grub_errmsg.
4972 (find_system_device): Remove unused variable.
4973 (grub_util_get_grub_dev): Likewise.
4974 (grub_make_system_path_relative_to_its_root): Respect format security.
4975
4976 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * util/grub-fstest.c (execute_command): Make first argument
4979 a const char *.
4980 (read_file): Avoid shadowing.
4981 Reuse underlying error message if device open fails.
4982 (cmd_cmp): Respect format security.
4983 (root): Make const char *.
4984 (fstest): Remove args argument and use global copy.
4985 Respect format security.
4986 (argp_parser): Make static.
4987 (main): Make default_root const char *.
4988
4989 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * util/grub-mount.c (root): Make const char *.
4992 (execute_command): Make first argument a const char *.
4993 (fuse_init): Respect format security.
4994 (argp_parser): Make static. Remove unused variable.
4995 (main): Make default_root a const char *.
4996 Respect format security.
4997
4998 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * util/grub-probe.c (probe): Don't call gettext on already translated
5001 grub_errmsg.
5002 Remove unused variables.
5003 (argp_parser): Remove unused variable.
5004
5005 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * util/grub-script-check.c (argp_parser): Remove unused variable.
5008 (main): Rename read to curread to avoid shadowing.
5009
5010 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * util/misc.c (grub_util_write_image_at): Fix format specification.
5013 (grub_util_write_image): Likewise.
5014 (grub_script_execute_argument_to_string): Removed (unused).
5015 (grub_script_execute_menuentry): Likewise.
5016 (grub_putchar): Likewise.
5017
5018 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5021 (FUNCTION) [GRUB_UTIL]: Likewise.
5022 (VARIABLE) [GRUB_UTIL]: Likewise.
5023
5024 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5027 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5028
5029 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5032 buffer.
5033
5034 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5037 (LzmaEnc_SaveState): Removed (unused).
5038 (LzmaEnc_RestoreState): Likewise.
5039 (LzmaEnc_InitPriceTables): Made static.
5040 (LzmaEnc_Construct): Likewise.
5041 (LzmaEnc_FreeLits): Likewise.
5042 (LzmaEnc_Destruct): Likewise.
5043 (LzmaEnc_Init): Likewise.
5044 (LzmaEnc_InitPrices): Likewise.
5045 (LzmaEnc_Finish): Likewise.
5046 (LzmaEnc_PrepareForLzma2): Removed (unused).
5047 (LzmaEnc_MemPrepare): Likewise.
5048 (LzmaEnc_GetNumAvailableBytes): Likewise.
5049 (LzmaEnc_GetCurBuf): Likewise.
5050 (LzmaEnc_CodeOneMemBlock): Likewise.
5051
5052 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5055 (grub_util_ldm_embed): Likewise.
5056
5057 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * util/grub-editenv.c (print_var): Rename name to varname to
5060 avoid shadowing.
5061 (main): Rename index to curindex to avoid shadowing.
5062 Make filename a const char *.
5063
5064 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5067 to arg_getline to avoid shadowing.
5068
5069 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5072 disk_ to avoid shadowing.
5073
5074 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5077 curindex to avoid shadowing.
5078 Make static.
5079 (MatchFinder_GetNumAvailableBytes): Make static.
5080
5081 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5084 avoid shadowing.
5085
5086 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5089 argument from encrypt to do_encrypt to avoid shadowing.
5090
5091 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5094 incorrect nesting of #if's.
5095
5096 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5099 checks which are always false on some platforms.
5100 (grub_cmd_lsacpi): Likewise.
5101 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5102 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5103 Likewise.
5104
5105 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5108 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5109
5110 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5113 re_dfa_t to avoid breaking alignment invariants.
5114 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5115 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5116
5117 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5120 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5121
5122 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5125 Fix declaration.
5126
5127 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5130 conserve alignment invariants.
5131 (grub_ehci_ehcc_read16): Likewise.
5132 (grub_ehci_oper_read32): Likewise.
5133 (grub_ehci_oper_write32): Likewise.
5134 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5135 Conserve alignment invariants.
5136
5137 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5140 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5141 declarations.
5142
5143 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5146 Remove unused variable.
5147
5148 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5151 Remove set in if.
5152
5153 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * include/grub/net.h: Remove double declarations.
5156
5157 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 Remove "payload" command in ia64 Linux loader since I couldn't
5160 find any evidence of it being used for anything.
5161 Replace "relocate" command with an environment variable
5162
5163 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5164 fields.
5165 (ia64_boot_payload): Removed.
5166 (last_payload): Likewise.
5167 (RELOCATE_OFF): Likewise.
5168 (RELOCATE_ON): Likewise.
5169 (RELOCATE_FORCE): Likewise.
5170 (relocate): Likewise.
5171 (free_pages): Don't free payloads.
5172 (grub_load_elf64): Use common error messages.
5173 Use "linux_relocate" variable.
5174 Increase the space after boot_params.
5175 (grub_cmd_payload): Removed.
5176 (grub_cmd_relocate): Likewise.
5177 (grub_cmd_fpswa): Improve messages.
5178 (cmd_payload): Removed.
5179 (cmd_relocate): Likewise.
5180 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5181 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5182
5183 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 Convert UHCI to DMA framework.
5186
5187 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5188 (grub_uhci_pci_iter): Fill new members
5189 (grub_alloc_td): Use P2V and V2P functions.
5190 (grub_free_queue): Likewise.
5191 (grub_alloc_qh): Likewise.
5192 (grub_uhci_setup_transfer): Likewise.
5193 (grub_uhci_check_transfer): Likewise.
5194
5195 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5198 Remove assignment in if while on it.
5199
5200 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * util/grub-mkstandalone.in: Fix modules directory.
5203
5204 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5207 on i386-pc target.
5208 (argp_parser): Accept "auto" as compression specification.
5209
5210 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 Fix `help' with unloaded modules.
5213
5214 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5215 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5216 (grub_dyncmd_dispatcher): Small stylistic fix.
5217 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5218 explicit help is requested.
5219
5220 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5223 Explicitly init restart while on it.
5224
5225 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5228 uninited variable.
5229
5230 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * util/grub-mknetdir.in: Use . rather than source for POSIX
5233 compatibility.
5234
5235 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5238
5239 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5242 variable.
5243
5244 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5247 without quotes.
5248
5249 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5252
5253 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5256 iteration of partitions.
5257
5258 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 Improve gettext support. Stylistic fixes and error handling fixes while
5261 on it.
5262
5263 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5266 part. Instead setup the correct stack in RM.
5267 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5268 for stack.
5269 * include/grub/i386/relocator_private.h: New file.
5270
5271 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5274 argument.
5275 * util/grub-fstest.c (options): Add missing DEVICE part.
5276
5277 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 Clarify and unify messages.
5280
5281 * grub-core/commands/hashsum.c (options): Unify messages.
5282 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5283 literal-only message as translatable.
5284 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5285 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5286 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5287 commands.
5288 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5289 key, not the key used to unlock. Clarify what it's used for.
5290 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5291 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5292 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5293 * util/grub-editenv.c (options): Unify "verbose" message.
5294 * util/grub-fstest.c (read_file): Unify error message.
5295 (fstest): Add quotes around commands.
5296 (options): Unify "verbose" message.
5297 * util/grub-install.in: Add quotes around variable name.
5298 * util/grub-kbdcomp.in: Unify error message.
5299 * util/grub-mkfont.c (main): Likewise.
5300 * util/grub-mkrescue.in: Likewise.
5301 * util/grub-mklayout.c (options): Unify "verbose" message.
5302 * util/grub-mkstandalone.in: Unify help and verbose messages.
5303 * util/grub-mount.c (options): Unify "verbose" message.
5304 * util/grub-probe.c (options): Likewise.
5305 * util/grub-script-check.c (options): Likewise.
5306 * util/grub-setup.c (setup): Unify no-terminator message.
5307 (options): Use DEVICE and not DEV.
5308 Unify "verbose" message.
5309 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5310
5311 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Improve and unify messages.
5314
5315 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5316 name. All users updated.
5317 Print filename in error.
5318 (read_device_map): Print filename in error.
5319 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5320 (grub_util_get_os_disk): Likewise.
5321 (grub_util_biosdisk_get_grub_dev): Likewise.
5322 (grub_util_check_block_device): Likewise.
5323 (grub_util_check_char_device): Likewise.
5324 (grub_make_system_path_relative_to_its_root): Likewise.
5325 * util/grub-editenv.c (create_envblk_file): Likewise.
5326 (open_envblk_file): Likewise.
5327 (write_envblk): Likewise.
5328 * util/grub-fstest.c (cmd_cp): Likewise.
5329 (cmd_cat): Likewise.
5330 (cmd_cmp): Likewise.
5331 * util/grub-menulst2cfg.c (main): Likewise.
5332 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5333 (write_font_width_spec): Likewise.
5334 (write_font_pf2): Likewise.
5335 * util/grub-mkimage.c (generate_image): New argument outname.
5336 All users updated.
5337 Remove unreacheable message.
5338 (options): Unify messages.
5339 (help_filter): Likewise.
5340 * util/grub-mklayout.c (usage): Removed (unused).
5341 (main): Print filename in error.
5342 * util/grub-mkrescue.in: Fix wrong quoting.
5343 * util/grub-setup.c (setup): Print filename in error.
5344 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5345 (check_sas): Likewise.
5346 * util/misc.c (grub_util_get_fp_size): Removed.
5347 (grub_util_get_image_size): Print filename in error.
5348 (grub_util_read_at): Removed.
5349 (grub_util_read_image): Print filename in error.
5350 (grub_util_load_image): Likewise.
5351 (grub_util_write_image_at): New argument filename. All users updated.
5352 Print filename in error.
5353 (grub_util_write_image): New argument filename. All users updated.
5354 Print filename in error.
5355 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5356 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5357
5358 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/Makefile.core.def (pxechain): New module.
5361 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5362 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5363 function.
5364 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5365 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5366
5367 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5370 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5371 * include/grub/err.h (grub_error_saved): New struct.
5372 (grub_errmsg): Make array size explicit.
5373 * include/grub/misc.h (grub_error_save): New function.
5374 (grub_error_load): Likewise.
5375 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5376 (grub_error_push): Update `errno' member name.
5377 (grub_error_pop): Likewise
5378 * grub-core/net/tftp.c (tftp_data): New member save_err.
5379 (tftp_receive): Save error.
5380 (tftp_open): Restore error.
5381
5382 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5385 to real mode down to execute A20-related code in protected mode as
5386 intended.
5387
5388 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5389
5390 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5391 NULL when the argument `level' has an unexpected value.
5392
5393 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Move platform-dependent files from $prefix to $prefix/$platform.
5396
5397 * config.h.in (GRUB_TARGET_CPU): New definition.
5398 (GRUB_PLATFORM): Likewise.
5399 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5400 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5401 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5402 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5403 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5404 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5405 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5406 * grub-core/normal/term.c (read_terminal_list): Likewise.
5407 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5408 $prefix/locale.
5409 (grub_gettext_init_ext): Likewise.
5410 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5411 grub_platform.
5412 * util/grub-install.in: Update directories.
5413 * util/grub-mknetdir.in: Likewise.
5414 * util/grub-mkrescue.in: Likewise.
5415
5416 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5419 grub_error framework. All users updated.
5420
5421 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5424 lists (by always binsearching), improve caching (cache strings
5425 used for binsearch, not only results), improve
5426 maintainability (by using more structured binary search) and correct
5427 error handling.
5428
5429 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/script/execute.c (grub_script_return): Fix warning.
5432
5433 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/script/execute.c (grub_script_return): Fix potential
5436 NULL-dereference.
5437 Reported by: Jim Meyering.
5438
5439 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * po/POTFILES.in: Regenerate.
5442 * util/grub-install.in: Gettextize the strings missed in first pass.
5443
5444 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * Makefile.util.def (grub-mkdevicemap): Removed.
5447 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5448 * include/grub/util/deviceiter.h: Removed.
5449 * util/deviceiter.c: Likewise.
5450 * util/getroot.c (grub_util_get_os_disk): New function.
5451 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5452 replacement for EFI.
5453 * util/grub-mkdevicemap.c: Removed.
5454 * util/grub-probe.c (probe): Handle PRINT_DISK.
5455 (argp_parser): Handle -t disk.
5456
5457 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * util/grub-mkfont.c: Migrate to argp.
5460 * util/grub-mklayout.c: Likewise.
5461 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5462 * util/grub-mkrelpath.c: Likewise.
5463 * util/grub-probe.c: Likewise.
5464 * util/grub-script-check.c: Likewise.
5465
5466 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * util/grub-reboot.in: Add missing datarootdir.
5469 Add missing newline.
5470 * util/grub-set-default.in: Add missing datarootdir.
5471 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5472 * util/grub-mkrescue.in: Likewise.
5473
5474 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5477
5478 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * util/grub-kbdcomp.in: Add decent help and gettextize.
5481 * docs/man/grub-kbdcomp.h2m: New file.
5482
5483 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Migrate grub-mkimage.c to argp.
5486
5487 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5488 (grub-setup): Likewise.
5489 * util/grub-setup.c (print_version): Move to ...
5490 * util/argp_common.c (print_version): ... here.
5491 * util/grub-setup.c (argp_program_version_hook): Move to ...
5492 * util/argp_common.c (argp_program_version_hook): ... here.
5493 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5494 safety.
5495 * util/grub-mkimage.c (main): Migrate to argp.
5496
5497 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * util/grub-mkrescue.in: Use same message as
5500 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5501 for better translations.
5502
5503 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5506 options with generic grub-mkrescue.in with the goal of future
5507 merge.
5508
5509 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/kern/mm.c: Add missing include of i18n.h
5512 * grub-core/lib/relocator.c: Likewise.
5513
5514 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5517 error.
5518 (allocate_pages): Check return value.
5519 Replace fatal with error.
5520 (grub_linux_boot): Replace printf with dprintf.
5521 Check find_mmap_size return value.
5522 Replace fatal with error.
5523 Don't call grub_machine_fini.
5524 (grub_load_elf64): Replace printf with dprintf.
5525 (grub_cmd_linux): Likewise.
5526 (grub_cmd_initrd): Likewise.
5527 (grub_cmd_payload): Likewise.
5528
5529 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5532 message.
5533 * grub-core/video/radeon_fuloong2e.c
5534 (grub_video_radeon_fuloong2e_setup): Likewise.
5535 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5536 * grub-core/video/video.c (grub_video_set_mode): Don't override
5537 standard out of memory message.
5538
5539 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5540
5541 NetBSD disk wedge support.
5542
5543 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5544 [__NetBSD__]: Handle NetBSD disk wedges.
5545 * util/getroot.c (convert_system_partition_to_system_disk)
5546 [__NetBSD__]: Likewise.
5547
5548 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5549
5550 * util/grub-mkconfig.in: Use umask rather than chmod to create
5551 grub.cfg.new to avoid insecure grub.cfg.
5552
5553 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/commands/ls.c: Gettextize.
5556 * grub-core/commands/setpci.c: Likewise.
5557 * grub-core/commands/videotest.c: Likewise.
5558 * grub-core/disk/geli.c: Likewise.
5559 * grub-core/kern/mm.c: Likewise.
5560 * grub-core/lib/relocator.c: Likewise.
5561 * grub-core/loader/efi/appleloader.c: Likewise.
5562 * grub-core/loader/i386/xnu.c: Likewise.
5563 * grub-core/loader/ia64/efi/linux.c: Likewise.
5564 * grub-core/loader/xnu.c: Likewise.
5565 * grub-core/net/dns.c: Likewise.
5566 * grub-core/net/net.c: Likewise.
5567 * grub-core/script/lexer.c: Likewise.
5568 * grub-core/script/parser.y: Likewise.
5569 * grub-core/script/yylex.l: Likewise.
5570 * util/getroot.c: Likewise.
5571 * util/grub-setup.c: Likewise.
5572
5573 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5576 number.
5577
5578 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5581
5582 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5585 macro.
5586 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5587 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5588
5589 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5592 * util/grub-install.in: Gettextize.
5593 * util/grub-mkconfig.in: Likewise.
5594 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5595 if not available.
5596 (grub_warn): Gettextize.
5597 * util/grub-mknetdir.in: Gettextize.
5598 * util/grub-mkrescue.in: Likewise.
5599 * util/grub-mkstandalone.in: Likewise.
5600 * util/grub-reboot.in: Likewise.
5601 * util/grub-set-default.in: Likewise.
5602 * util/grub.d/00_header.in: Likewise.
5603 * util/grub.d/10_hurd.in: Likewise.
5604 * util/grub.d/10_kfreebsd.in: Likewise.
5605 * util/grub.d/10_linux.in: Likewise.
5606 * util/grub.d/10_netbsd.in: Likewise.
5607 * util/grub.d/10_windows.in: Likewise.
5608 * util/grub.d/20_linux_xen.in: Likewise.
5609 * util/grub.d/30_os-prober.in: Likewise.
5610 * po/POTFILES-shell.in: Regenerate.
5611
5612 2012-02-03 Richard Laager <rlaager@wiktel.com>
5613
5614 * util/grub-mkimage.c (main): Fix format-security warning.
5615 * util/grub-mkrelpath.c (main): Likewise.
5616 * util/grub-probe.c (main): Likewise.
5617
5618 2012-02-03 Richard Laager <rlaager@wiktel.com>
5619
5620 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5621 failure.
5622 Put back lost PRINT_DRIVE.
5623
5624 2012-02-03 Richard Laager <rlaager@wiktel.com>
5625
5626 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5627 (grub_guess_root_devices): Replace strlen with sizeof.
5628 Avoid crash.
5629 (find_root_devices_from_poolname): Remove unused variable.
5630 Handle raidzN.
5631
5632 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Support install on multi-device filesystems.
5635
5636 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5637 (grub_guess_root_devices): ...this. Return char **. All users updated.
5638 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5639 Removed.
5640 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5641 (find_root_devices_from_poolname): ... here.
5642 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5643 Support zfs-fuse.
5644 (grub_guess_root_device): Rename to ...
5645 (grub_guess_root_devices): ... this. Return char **. All users updated.
5646 * util/grub-install.in: Handle multi-device filesystems.
5647 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5648 argument. All users updated.
5649 Handle multi-device filesystems.
5650 Use 'delim' as separator.
5651 Remove device check to allow filesystems on file.
5652 (main): Support -0 argument. Handle multi-device.
5653 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5654 Fix a cross-device check while on it.
5655 (arguments): Remove root_dev.
5656 (argp_parser): Remove -r.
5657 (main): Remove root_dev.
5658
5659 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5662
5663 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5666 symbol.
5667 Reported by: NODA, Kai <nodakai>.
5668
5669 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Fix ehci on amd64.
5672
5673 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5674 pointers.
5675 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5676 (grub_ehci_setup_qh): Likewise.
5677 (grub_ehci_find_qh): Likewise.
5678 (grub_ehci_transaction): Likewise.
5679 (grub_ehci_setup_transfer): Likewise.
5680 (grub_ehci_check_transfer): Likewise.
5681 (grub_ehci_portstatus): Likewise.
5682 (grub_ehci_detect_dev): Likewise.
5683 (grub_ehci_transfer_controller_data): New field td_last_phys.
5684 (grub_ehci_setup_transfer): Fill td_last_phys.
5685 (grub_ehci_check_transfer): Use td_last_phys.
5686
5687 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5688
5689 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5690 if no submenu is present.
5691
5692 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5693
5694 CBI support.
5695
5696 * include/grub/usb.h (grub_usbms_protocol_t): New values
5697 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5698 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5699 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5700 (grub_usbms_dev): Add subclass, protocol and intrpt.
5701 Remove in_maxsz and out_maxsz.
5702 (grub_usbms_reset): Rename to ...
5703 (grub_usbms_bo_reset): .. this.
5704 (grub_usbms_cbi_cmd): New function.
5705 (grub_usbms_cbi_reset): Likewise.
5706 (grub_usbms_reset): Likewise.
5707 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5708 (grub_usbms_transfer): Rename to ...
5709 (grub_usbms_transfer_bo): ... this.
5710 (grub_usbms_transfer_cbi): Likewise.
5711 (grub_usbms_transfer): Likewise.
5712
5713 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5714 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5717 the support for the CS5536 modification thereos and few bugfixes.
5718
5719 * grub-core/Makefile.core.def (ehci): New module.
5720 * grub-core/bus/usb/ehci.c: New file.
5721 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5722 port and hubaddr. All users updated.
5723 Save port and hubaddr into dev structure.
5724 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5725 define.
5726 * include/grub/pci.h (grub_dma_phys2virt): New function.
5727 (grub_dma_virt2phys): Likewise.
5728 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5729
5730 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5733 check as some mkfs implementations omit it.
5734
5735 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5738
5739 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5742 Add new member volname2.
5743 (grub_jfs_label): Use volname2 if available.
5744
5745 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5748 over last_mounted as seen in image generated by mkfs.nilfs2.
5749 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5750
5751 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5754 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5755 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5756
5757 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5760 over the sector.
5761
5762 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5765 subvolume name (by removing a bogus and useless check).
5766
5767 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5770 sizeof while on it.
5771
5772 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5775 (grub_scsi_read_capacity10): ... this.
5776 (grub_scsi_read_capacity16): New function.
5777 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5778 0xffffffff.
5779 Fix off-by-one error.
5780 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5781 64-bit unsigned.
5782 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5783 (grub_scsi_read_capacity10): ... this.
5784 (grub_scsi_read_capacity_data): Rename to ...
5785 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5786 (grub_scsi_read_capacity16): New struct.
5787 (grub_scsi_read_capacity16_data): Likewise.
5788 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5789 grub_scsi_cmd_read_capacity10.
5790 New command grub_scsi_cmd_read_capacity16.
5791
5792 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 SCSI >2TiB support.
5795
5796 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5797 (grub_scsi_write16): Likewise.
5798 (grub_scsi_read): Use read16 when necessary.
5799 (grub_scsi_write): Likewise.
5800 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5801 (grub_scsi_write16): Likewise.
5802 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5803
5804 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 SCSI write support (for usbms mainly).
5807
5808 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5809 a const pointer.
5810 (grub_scsi_write): Implement.
5811 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5812
5813 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5816 variable.
5817
5818 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5821
5822 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * po/POTFILES.in: Regenerate.
5825
5826 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5829 with grub_printf to avoid unnecessary fatal failure.
5830
5831 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5834 (INT_MAX): Likewise.
5835 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5836 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5837 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5838 (strcpy): Likewise.
5839 (strstr): Likewise.
5840 (strchr): Likewise.
5841 (strncpy): Likewise.
5842 (strcat): Likewise.
5843 (strncat): Likewise.
5844 (strcoll): Likewise.
5845 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5846 (GRUB_INT_MAX): Likewise.
5847
5848 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5851 unexpected error.
5852 (optimize_utf8): Likewise.
5853 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5854
5855 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * grub-core/boot/i386/pc/lnxboot.S: Use
5858 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5859 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5860 location.
5861 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5862 definition.
5863 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5864
5865 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5868 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5869 now to avoid double free.
5870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5871 hostdisk.
5872 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5873 * util/grub-probe.c (escape_of_path): Always return a new copy.
5874 (print_full_name): Escape path.
5875 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5876 Fix hints on abstractions.
5877
5878 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5881 Don't add "root" line if no compatibility hont is available.
5882 Suggested by: Seth Goldberg.
5883
5884 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5887 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5888 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5889 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5890
5891 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5894
5895 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * util/grub-pe2elf.c (ehdr): Make static.
5898 (shdr): Likewise.
5899 (num_sections): Likewise.
5900 (offset): Likewise.
5901
5902 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 Eliminate ofpath limits and possible overflows.
5905
5906 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5907 (OF_PATH_MAX): Removed.
5908 (MAX_DISK_CAT): New const.
5909 (find_obppath): Use allocated rather than preallocated buffer.
5910 Return result. Argument of_path removed. All users updated.
5911 Add missing fdstat.
5912 (xrealpath): New function.
5913 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5914 Allocate rather than use preallocated buffer. All users updated.
5915 (__of_path_common): Use allocated rather than preallocatecd buffer.
5916 Return result. Argument of_path removed. All users updated.
5917 (vendor_is_ATA): Read only needed part form the file.
5918 (check_sas): Allocate depending on contents rather than fixed.
5919 (main) [STANDALONE]: Handle NULL result.
5920
5921 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5924
5925 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Cryptodisk write support.
5928
5929 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5930 (grub_cryptodisk_decrypt): Moved logic to ...
5931 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5932 (grub_cryptodisk_write): Implement.
5933 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5934 (grub_util_fd_write): ... this. Make global.
5935 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5936
5937 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * include/grub/list.h (grub_list_remove): Don't crash if element is
5940 removed twice.
5941
5942 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 Rename ofconsole to console.
5945
5946 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5947 as sysnonym to console.
5948 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5949 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5950 Rename grub_ofconsole_ to grub_console_. All users updated
5951 (grub_console_term_output): Rename "ofconsole" to "console".
5952 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5953 as "console".
5954
5955 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5958 handling.
5959 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5960 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5961 GRUB_DISK_DEVICE_FILE_ID.
5962
5963 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5966 and improve performance.
5967
5968 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5971 missing ieee1275/ prefix on whole disk.
5972
5973 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5976 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5977
5978 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5981
5982 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 Merge common RAID and LVM logic to an abstract diskfilter.
5985 Add LDM support using the same framework.
5986
5987 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5988 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5989 (libgrubmods): Remove grub-core/disk/raid.c and
5990 grub-core/partmap/gpt.c.
5991 * grub-core/Makefile.core.def (ldm): New module.
5992 (raid): Renamed to diskfilter. All users updated.
5993 * grub-core/disk/raid.c: Moved to ...
5994 * grub-core/disk/diskfilter.c: ... here.
5995 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5996 (lv_num): New var.
5997 (find_array): Renamed to ...
5998 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5999 (grub_is_array_readable): Renamed to ...
6000 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6001 (insert_array): New argument id.
6002 (is_node_readable): New function.
6003 (scan_device): Rename to ...
6004 (scan_disk): .. this. Restrict to one disk.
6005 (scan_devices): New function.
6006 (grub_diskfilter_iterate): Support multi-LV.
6007 Skip invisible and nameless LVs.
6008 (grub_diskfilter_memberlist): Support multi-LV.
6009 (grub_diskfilter_read_node): New function.
6010 (grub_raid_read): Most of logic moved to ...
6011 (read_segment): ... here
6012 (read_lv): New function.
6013 (grub_diskfilter_get_vg_by_uuid): New function.
6014 (grub_diskfilter_make_raid): Likewise.
6015 * grub-core/disk/ldm.c: New file.
6016 * grub-core/disk/lvm.c (vg_list): Removed.
6017 (lv_count): Likewise.
6018 (scan_depth): Likewise.
6019 (is_lv_readable): Likewise.
6020 (grub_lvm_getvalue): Advance pointer past the number.
6021 (find_lv): Removed.
6022 (do_lvm_scan): Refactored into ...
6023 (grub_lvm_detect): ... this. Support raid.
6024 (grub_lvm_iterate): Removed.
6025 (grub_lvm_memberlist): Likewise.
6026 (grub_lvm_open): Likewise.
6027 (grub_lvm_close): Likewise.
6028 (read_lv): Likewise.
6029 (read_node): Likewise.
6030 (is_node_readable): Likewise.
6031 (is_lv_readable): Likewise.
6032 (grub_lvm_read): Likewise.
6033 (grub_lvm_write): Likewise.
6034 (grub_lvm_dev): Use diskfilter
6035 (GRUB_MOD_INIT): Likewise.
6036 (GRUB_MOD_FINI): Likewise.
6037 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6038 new interface.
6039 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6040 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6041 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6042 grub_diskfilter_read_node.
6043 Fix a bug with xor.
6044 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6045 grub_diskfilter_read_node.
6046 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6047 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6048 (grub_disk_dev_iterate): Move from here...
6049 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6050 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6051 Make global.
6052 (grub_hostdisk_find_partition_start): Likewise.
6053 (grub_hostdisk_os_dev_to_grub_drive): New function.
6054 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6055 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6056 * util/getroot.c (make_device_name): ... here.
6057 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6058 Move to ...
6059 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6060 * grub-core/kern/emu/hostdisk.c
6061 (convert_system_partition_to_system_disk): Move to ...
6062 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6063 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6064 * util/getroot.c (device_is_wholedisk): ... here.
6065 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6066 * util/getroot.c (find_system_device): ... here.
6067 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6068 Move to ...
6069 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6070 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6071 Move to ...
6072 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6073 Handle LDM.
6074 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6075 Move to ...
6076 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6077 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6078 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6079 DISKFILTER.
6080 * include/grub/raid.h: Renamed to ...
6081 * include/grub/diskfilter.h: ... this.
6082 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6083 (GRUB_RAID_LAYOUT_*): Make into array.
6084 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6085 (grub_diskfilter_vg): New struct.
6086 (grub_diskfilter_pv_id): Likewise.
6087 (grub_raid_member): Removed.
6088 (grub_raid_array): Likewise.
6089 (grub_diskfilter_pv): New struct.
6090 (grub_diskfilter_lv): Likewise.
6091 (grub_diskfilter_segment): Likewise.
6092 (grub_diskfilter_node): Likewise.
6093 (grub_diskfilter_get_vg_by_uuid): New proto.
6094 (grub_raid_register): Inline.
6095 (grub_diskfilter_unregister): Likewise.
6096 (grub_diskfilter_make_raid): New proto.
6097 (grub_diskfilter_vg_register): Likewise.
6098 (grub_diskfilter_read_node): Likewise.
6099 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6100 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6101 (grub_util_is_ldm): Likewise.
6102 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6103 (grub_hostdisk_find_partition_start): Likewise.
6104 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6105 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6106 New definition.
6107 (grub_gpt_partition_map_iterate): New proto.
6108 * include/grub/lvm.h (grub_lvm_vg): Removed.
6109 (grub_lvm_pv): Likewise.
6110 (grub_lvm_lv): Likewise.
6111 (grub_lvm_segment): Likewise.
6112 (grub_lvm_node): Likewise.
6113 * util/getroot.c [...]
6114 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6115 (probe_abstraction): Likewise.
6116 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6117 (main): Remove dead logic.
6118
6119 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 Simplify root device discover and don't fail when trying to open
6122 incorrect devices.
6123
6124 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6125 function.
6126 (get_diskname_from_path): Likewise.
6127 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6128 of iterating.
6129
6130 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6133
6134 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6137 pastthe end.
6138
6139 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * util/grub-install.in: Add missing \.
6142 Reported by: gentoofan
6143
6144 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6147 (direct_read): Use correct compressed size.
6148 (grub_squash_read_data): Likewise.
6149
6150 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * docs/grub.texi (Platform limitations): New section.
6153 (Platform-specific operations): Likewise.
6154 * docs/grub-dev.texi (Porting): Likewise.
6155
6156 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 IEEE1275 disk write support.
6159
6160 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6161 const void *.
6162 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6163 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6164 and seek loginc to ...
6165 (grub_ofdisk_prepare): ... here.
6166 (grub_ofdisk_write): Implement.
6167
6168 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 ARC disk write support.
6171
6172 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6173 (reopen): New argument writable. All users updated.
6174 Handle required access mode.
6175 (grub_arcdisk_write): Implement.
6176 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6177 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6178
6179 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6182 (read_sblock): Don't attempt to read superblocks outside the disk size.
6183
6184 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6187 first superblock to find the second one when possible.
6188
6189 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * util/grub-install.in: Fix an ARC bug.
6192 Print a warning if no platform-specific setup is available.
6193
6194 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 Use static allocation rather than scratch pointer in reed_solomon.
6197 It decreases its size significantly and avoids a variable in .text.
6198
6199 * grub-core/lib/reed_solomon.c (scratch): Removed.
6200 (chosenstat): New const or static array.
6201 (sigma): Likewise.
6202 (errpot): Likewise.
6203 (errpos): Likewise.
6204 (sy): Likewise.
6205 (mstat): Likewise.
6206 (errvals): Likewise.
6207 (eqstat): Likewise.
6208 (pol_evaluate): Replace x with log_x argument. All users updated.
6209 (syndroms): Removed.
6210 (gauss_solve): Use statically allocated arrays.
6211 (rs_recover): Likewise.
6212 Calculate syndroms directly.
6213 (decode_block): Use statically allocated arrays.
6214 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6215 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6216
6217 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 Eliminate fixed limit on reed solomon decoder length.
6220
6221 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6222 rather than hardcoding the address.
6223 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6224 no_reed_solomon_length.
6225 Move gate_a20 to no-reed-solomon part.
6226 Don't force a particular size of no reed-solomon part.
6227 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6228 Removed.
6229 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6230 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6231
6232 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/commands/wildcard.c (match_files): Handle filenames
6235 without explicit device.
6236 (wildcard_expand): Don't add explicit device if not already present.
6237 * tests/grub_script_echo1.in: Add a new expansion test.
6238
6239 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 Replace single-linked with double-linked lists. It results in more
6242 compact and more efficient code.
6243
6244 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6245 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6246 (grub_list_remove): Moved from here ...
6247 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6248 (grub_prio_list_insert): Set prev.
6249 * include/grub/list.h (grub_list): Add prev. All users updated.
6250
6251 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 Handle newer autotools. Add some missing quotes while on it.
6254
6255 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6256 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6257 (pkgdata_DATA): ... here.
6258 * Makefile.util.def (update-grub_lib): Removed.
6259 * conf/Makefile.common (pkglib_DATA): Removed.
6260 (pkglib_SCRIPTS): Likewise.
6261 (pkgdata_DATA): New variable.
6262 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6263 needed.
6264 Add missing quotes.
6265 Remove unused variable while on it.
6266 * tests/util/grub-shell.in: Likewise.
6267 * util/grub-install.in: Likewise.
6268 * util/grub-mkconfig.in: Likewise.
6269 * util/grub-mknetdir.in: Likewise.
6270 * util/grub-mkrescue.in: Likewise.
6271 * util/grub-mkstandalone.in: Likewise.
6272 * util/grub.d/00_header.in: Likewise.
6273 * util/grub.d/10_hurd.in: Likewise.
6274 * util/grub.d/10_illumos.in: Likewise.
6275 * util/grub.d/10_kfreebsd.in: Likewise.
6276 * util/grub.d/10_linux.in: Likewise.
6277 * util/grub.d/10_netbsd.in: Likewise.
6278 * util/grub.d/10_windows.in: Likewise.
6279 * util/grub.d/20_linux_xen.in: Likewise.
6280 * util/grub.d/30_os-prober.in: Likewise.
6281 * util/update-grub_lib.in: Removed.
6282
6283 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6284
6285 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6286 a workaround for intel problem.
6287
6288 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6289 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6290 2012-01-23 pfsmorigo
6291
6292 * util/grub-install.in: Support dd'in into PreP partition.
6293 * util/grub-probe.c (probe): Support discovering partition type.
6294 (main): Support -t msdos_parttype.
6295
6296 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6299 infinite recursion using counter.
6300 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6301 init to skip it if the magic check fails.
6302 (dec_stream_header): Init s->crc32.
6303
6304 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6305 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6306 2012-01-22 Richard Laager <rlaager@wiktel.com>
6307
6308 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6309 All users updated.
6310 (find_bestub): Determine correct size.
6311 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6312 (scan_disk): Align the size down.
6313 Call check pool before find_bestub to have ashift.
6314
6315 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6318 dprintf in no-malloc zone.
6319
6320 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6321
6322 * configure.ac: Add back in test for limits.h.
6323
6324 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Support 4K-sector NTFS.
6327
6328 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6329 (grub_ntfs_data): Remove blocksize.
6330 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6331 Remove data argument. All users updated.
6332
6333 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6336 being in .text to avoid dprel references.
6337 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6338 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6339 (grub_arch_highmemsize): Likewise.
6340 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6341 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6342 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6343
6344 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6347
6348 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6349 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6350
6351 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6354 GRUB_UTIL.
6355 (grub_set_datetime_cmos): Likewise.
6356
6357 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Make XZ compression parameters dependent on target and not host CPU.
6360
6361 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6362 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6363
6364 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6367 set but not used variable.
6368
6369 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6372 created when no uuid support is compiled into mkfs.reiser.
6373
6374 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6377 (utf8_to_macroman): Do the opposite.
6378 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6379
6380 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * configure.ac: Refise build qemu_mips w/o unifont.
6383
6384 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 Eliminate grub_min/grub_max prone to overflow usage.
6387
6388 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6389 (poll_nonroot_hub): Likewise.
6390 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6391 (grub_affs_label): Likewise.
6392 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6393 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6394 (grub_hfs_label): Likewise.
6395 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6396 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6397 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6398 (zap_leaf_array_get): Likewise.
6399 (dnode_get_path): Likewise.
6400 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6401 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6402 * grub-core/script/execute.c (grub_script_break): Likewise.
6403 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6404 grub_max.
6405 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6406 * include/grub/misc.h (grub_min): Removed.
6407 (grub_max): Likewise.
6408
6409 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6410
6411 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6412 direct.inode = 0.
6413
6414 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6417
6418 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6421
6422 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6425 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6426
6427 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6430 rather than a hack for grub_strncasemap.
6431
6432 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 Support multiple initrds
6435 Note: part of this was accidently committed in r3739.
6436
6437 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6438 initrd.
6439 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6440 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6441 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6442 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6443 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6444
6445 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6448 disks with unknown size.
6449 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6450
6451 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 Remove defines pertaining to arbitrary limits not affecting GRUB
6454 anymore.
6455
6456 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6457 (EXT2_MAX_SYMLINKCNT): Likewise.
6458 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6459 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6460 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6461 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6462 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6463 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6464 (DN_MAX_OBJECT_SHIFT): Likewise.
6465 (DN_MAX_OFFSET_SHIFT): Likewise.
6466 (DN_MAX_OBJECT): Likewise.
6467 (DNODES_PER_LEVEL_SHIFT): Likewise.
6468 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6469 (SPA_MAXBLOCKSIZE): Likewise.
6470 (SPA_BLOCKSIZES): Likewise.
6471 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6472 (MZAP_MAX_BLKSZ): Likewise.
6473
6474 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6477 handle NULL appropriately.
6478 Remove MIN.
6479
6480 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 Fix efiemu.
6483
6484 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6485 cpu/types.h.
6486 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6487 * configure.ac: Fix efiemu check.
6488
6489 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6492 grub_probe.
6493 Reported by: adamwill
6494
6495 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6496
6497 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6498
6499 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 Fix handling of wide characters in gfxterm.
6502
6503 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6504 (clear_char): Likewise.
6505 (paint_char): Skip code == NULL chars.
6506 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6507
6508 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/normal/charset.c: Move comment to right place.
6511
6512 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6515 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6516 (grub_affs_mount): Revert the correct version checking.
6517
6518 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * docs/grub.texi (Unicode): Mention several other unsupported features.
6521
6522 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6525 case statements as compile-time one.
6526 (direct_read): Prevent spurious warnings.
6527 (grub_squash_read_data): Likewise.
6528
6529 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 Various squash4 fixes and LZO and XZ support.
6532
6533 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6534 Add xzembed source files.
6535 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6536 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6537 (grub_squash_inode): New subtype long_dir.
6538 (SQUASH_TYPE_LONG_DIR): New inode type.
6539 (COMPRESSION): New enum.
6540 (XZBUFSIZ): New const.
6541 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6542 (read_chunk): Use data->decompress.
6543 (zlib_decompress): New function.
6544 (lzo_decompress): Likewise.
6545 (xz_decompress): Likewise.
6546 (squash_mount): Set new data fields.
6547 (grub_squash_iterate_dir): Handle long dir.
6548 (squash_unmount): Free xzdec and xzbuf.
6549 (grub_squash_open): Check ino type.
6550 (direct_read): Stylistic fixes. Use data->decompress.
6551 (grub_squash_read_data): Likewise.
6552 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6553 (get_byte): Likewise.
6554 (grub_zlib_disk_read): Removed.
6555 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6556 (GRUB_POSIX_BOOL_DEFINED): New define.
6557 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6558 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6559 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6560 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6561
6562 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 Don't override more informative errors.
6565
6566 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6567 * grub-core/font/font.c (open_section): Likewise.
6568 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6569 filename. Don't override errors.
6570 (grub_cmd_openbsd_ramdisk): Don't override errors.
6571 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6572 (grub_cmd_initrd): Likewise.
6573 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6574 (grub_cmd_initrd): Likewise.
6575 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6576 (grub_cmd_linux): Likewise.
6577 (grub_cmd_initrd): Likewise.
6578 (grub_cmd_payload): Likewise.
6579 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6580 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6581 (grub_cmd_module): Likewise.
6582 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6583 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6584 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6585 (grub_cmd_xnu_mkext): Likewise.
6586 (grub_cmd_xnu_ramdisk): Likewise.
6587 (grub_xnu_check_os_bundle_required): Likewise.
6588 (grub_xnu_load_kext_from_dir): Likewise.
6589 (grub_cmd_xnu_kextdir): Likewise.
6590 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6591
6592 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6595 as 1024 in block size field. Found on one of my test images.
6596 Small optimisation while on it.
6597
6598 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6601 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6602 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6603 performance fixes while on it.
6604 (grub_sfs_close): Fix memory leak while on it.
6605 (grub_sfs_label): Convert Latin1 to UTF-8.
6606
6607 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6610 space to avoid overflows.
6611 (grub_hfs_label): Convert from macroman to UTF-8.
6612
6613 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6616
6617 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6620
6621 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * unicode: Import Unicode 6.0 data.
6624
6625 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6628 outside of range.
6629
6630 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 Avoid cutting in the middle of UTF-8 character.
6633
6634 * include/grub/charset.h (grub_getend): New function.
6635 * grub-core/script/function.c (grub_script_function_find): Use
6636 grub_getend.
6637 * grub-core/normal/completion.c (add_completion): Likewise.
6638
6639 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6642 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6643 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6644 (GRUB_UNICODE_TAG_END): Likewise.
6645 (GRUB_UNICODE_LAST_VALID): Likewise.
6646
6647 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6650 len and make it smaller. All users updated.
6651 * util/import_unicode.py: Put length and not end character.
6652 Check length.
6653
6654 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Make better Unicode-compliant and unify some UTF-8 code pathes.
6657
6658 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6659 valid character.
6660 (grub_is_valid_utf8): Use grub_utf8_process.
6661 Check resulting code range.
6662 (grub_utf8_to_ucs4): Use grub_utf8_process.
6663 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6664 valid character.
6665
6666 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6669
6670 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * docs/grub.texi (Filesystems): Mention AFS.
6673
6674 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * docs/grub.texi (Filesystems): Clarify restrictions.
6677 (Regexp): Mention non-Unicode regexp behaviour.
6678 (Other): Mention non-Unicode matching behaviour.
6679
6680 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 Make HFS implementation use MacRoman.
6683
6684 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6685 (macroman): New const array.
6686 (macroman_to_utf8): New function.
6687 (utf8_to_macroman): Likewise.
6688 (grub_hfs_find_dir): Use utf8_to_macroman.
6689 (grub_hfs_dir): Use macroman_to_utf8.
6690 Set case_insensitive.
6691
6692 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6695
6696 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Integrate hints into autogeneration scripts.
6699
6700 * docs/grub.texi (Filesystems): Add a hostdisk example.
6701 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6702 (grub-probe): Add ofpath.
6703 * gentpl.py: Remove group nosparc64.
6704 * grub-core/commands/search.c (cache_entry): New struct.
6705 (cache): New var.
6706 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6707 * grub-core/commands/search_wrap.c (options): Add platform-specific
6708 hint options.
6709 (grub_cmd_search): Handle platform-specific hints.
6710 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6711 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6712 (grub_util_biosdisk_data): Likewise.
6713 (grub_util_biosdisk_open): Set device_map.
6714 (read_device_map): Handle "" as indication of no map.
6715 Set device_map.
6716 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6717 (grub_util_biosdisk_get_compatibility_hint): New function.
6718 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6719 * include/grub/emu/hostdisk.h
6720 (grub_util_biosdisk_get_compatibility_hint): New proto.
6721 * util/grub-install.in: Don't call grub-mkdevicemap.
6722 Add platform-specific hint to load.cfg.
6723 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6724 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6725 hints. Set root preliminary to compatibility hint, not to OS name.
6726 * util/grub-probe.c (PRINT_*): Add hints.
6727 (print): Make static.
6728 (escape_of_path): New function.
6729 (guess_bios_drive): Likewise.
6730 (guess_efi_drive): Likewise.
6731 (guess_baremetal_drive): Likewise.
6732 (print_full_name): Likewise.
6733 (probe): Handle hints.
6734 (main): Likewise.
6735 * util/ieee1275/devicemap.c: Removed.
6736 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6737 updated.
6738 (grub_util_devname_to_ofpath): Return NULL on failure.
6739
6740 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6741 resource leak.
6742 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6743
6744 * po/POTFILES.in: Regenerated.
6745
6746 Allow purely long options
6747
6748 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6749 (SHORT_ARG_USAGE): Likewise.
6750 (grub_arg_show_help): Compare opt with help_options.
6751 (parse_option): Receive opt as argument. If makes big simplificatons.
6752 All users updated
6753
6754 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6757 Restructure to avoid warning.
6758
6759 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * util/grub-install.in: Account for possible escaped comma in device
6762 name.
6763
6764 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6767 channel.
6768
6769 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6772 allocation and zero-setting.
6773 (grub_ieee1275_get_devname): Check that alias is complete.
6774
6775 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6778 unaligned segments.
6779
6780 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6783 prefix.
6784 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6785 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6786 Add ieee1275 prefix.
6787
6788 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * docs/grub.texi (Filesystems): Update.
6791
6792 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Support odc, newc and bigendian cpio formats.
6795
6796 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6797 * grub-core/Makefile.core.def (newc): New module.
6798 (odc): Likewise.
6799 (cpio_be): Likewise.
6800 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6801 (MAGIC): Likewise.
6802 (MAGIC2): Likewise.
6803 (head) [MODE_ODC]: Adapt for the format.
6804 (head) [MODE_NEWC]: Likewise.
6805 (head) [!MODE_*]: Write fields of interest as arrays.
6806 (MAGIC_USTAR): Removed.
6807 (read_number) [MODE_NEWC]: Change to hex.
6808 (read_number) [!MODE_*]: Parse binary arrays.
6809 (grub_cpio_find_file): Factor out the code for better structure and
6810 always use read_number.
6811 (grub_cpio_mount): Use MAGIC and MAGIC2.
6812 (grub_cpio_dir): Exit on first hook non-0 return.
6813 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6814 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6815 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6816 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6817 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6818 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6819 * grub-core/fs/newc.c: New file.
6820 * grub-core/fs/odc.c: Likewise.
6821 * grub-core/fs/cpio_be.c: Likewise.
6822
6823 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Fix handling of tar numbers occupying the whole field.
6826
6827 * grub-core/fs/cpio.c (read_number): New function.
6828 (grub_cpio_find_file): Use read_number instead of strtoull.
6829
6830 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6833 occupying the whole field size.
6834
6835 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6836
6837 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6838
6839 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6842
6843 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6844
6845 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6846 TARGET_IMG_LDFLAGS.
6847
6848 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6851 (mountinfo_entry): Increase the field size to take escaping into
6852 account.
6853 (find_root_device_from_libzfs): Add one byte to size of strings for
6854 security.
6855
6856 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6859 an assert.
6860 * util/grub-setup.c (setup): Likewise.
6861
6862 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6865 _LzmaDecodeA.
6866
6867 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * docs/grub.texi (Internationalisation): New section.
6870
6871 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * docs/grub.texi (Loopback booting): New section.
6874
6875 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6876
6877 * util/grub-mkstandalone.in: Fix minor typo errors.
6878
6879 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6882
6883 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6884 net/icmp.c and net/icmp6.c.
6885 (http): New module.
6886 (priority_queue): Likewise.
6887 * grub-core/io/bufio.c: Rewritten.
6888 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6889 TYPE_WITH_CONFIGFILE_OPTION.
6890 (legacy_commands): Add bootp and dhcp.
6891 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6892 (grub_legacy_parse): Likewise.
6893 * grub-core/lib/priority_queue.c: New file.
6894 * grub-core/net/arp.c: Add missing license header.
6895 (arp_find_entry): Removed.
6896 (arp_find_entry): Likewise.
6897 (grub_net_arp_resolve): Rename to ...
6898 (grub_net_arp_send_request): ...this.
6899 (grub_net_arp_receive): New card argument.
6900 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6901 Set router and DNS server.
6902 (grub_net_configure_by_dhcp_ack): Handle routing information.
6903 (grub_cmd_bootp): Set checksum.
6904 (grub_bootp_init): Remove net_dhcp.
6905 * grub-core/net/dns.c: New file.
6906 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6907 completion.
6908 (get_card_packet): Handle allocation.
6909 (grub_efinet_findcards): Set mtu.
6910 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6911 (get_card_packet): Handle allocation.
6912 (emucard): Set mtu.
6913 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6914 (GRUB_MOD_INIT): Set mtu.
6915 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6916 mtu.
6917 (get_card_packet): Handle allocation.
6918 (grub_ofnet_findcards): Set mtu.
6919 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6920 assert.
6921 (grub_net_recv_ethernet_packet): Handle IPv6.
6922 * grub-core/net/http.c: New file.
6923 * grub-core/net/icmp.c: Likewise.
6924 * grub-core/net/icmp6.c: Likewise.
6925 * grub-core/net/ip.c (ip6addr): New type.
6926 (ip6hdr): Likewise.
6927 (reassemble): Likewise.
6928 (cmp): New function.
6929 (reassembles): New variable.
6930 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6931 (id): New variable.
6932 (send_fragmented): New function.
6933 (grub_net_send_ip_packet): Rename to ...
6934 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6935 Handle non-UDP.
6936 (grub_net_recv_ip_packets): Rename to ...
6937 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6938 (free_rsm): New function.
6939 (free_old_fragments): Likewise.
6940 (grub_net_recv_ip4_packets): New function.
6941 (grub_net_send_ip6_packet): Likewise.
6942 (grub_net_send_ip_packet): Likewise.
6943 (grub_net_recv_ip6_packets): Likewise.
6944 (grub_net_recv_ip_packets): Likewise.
6945 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6946 (LINK_LAYER_CACHE_SIZE): New const.
6947 (link_layer_find_entry): New function.
6948 (grub_net_link_layer_add_address): Likewise.
6949 (grub_net_link_layer_resolve_check): Likewise.
6950 (grub_net_link_layer_resolve): Likewise.
6951 (grub_net_ipv6_get_slaac): Likewise.
6952 (grub_net_ipv6_get_link_local): Likewise.
6953 (grub_cmd_ipv6_autoconf): Likewise.
6954 (parse_ip): Handle one number representation.
6955 (parse_ip6): New functoion.
6956 (match_net): Handle IPv6.
6957 (grub_net_resolve_address): Handle IPv6 and DNS.
6958 (grub_net_resolve_net_address): Handle IPv6.
6959 (route_cmp): New function.
6960 (grub_net_route_address): Find best route.
6961 (grub_net_addr_to_str): Handle IPv6.
6962 (grub_net_addr_cmp): New function.
6963 (grub_net_add_addr): Register local route.
6964 (print_net_address): Handle net address.
6965 (grub_net_poll_cards): Retransmit TCP.
6966 (grub_net_poll_cards_idle_real): Likewise.
6967 (have_ahead): New function.
6968 (grub_net_seek_real): Use underlying seek.
6969 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6970 * grub-core/net/tcp.c: New file.
6971 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6972 (cmp): New function.
6973 (ack): Likewise.
6974 (tftp_receive): Handle unordered input.
6975 (destroy_pq): New function.
6976 (tftp_close): Close pq.
6977 * grub-core/net/udp.c: Put missing license header.
6978 (grub_net_udp_socket): New function.
6979 (udp_socket_register): Likewise.
6980 (grub_net_udp_close): Likewise.
6981 (grub_net_recv_udp_packet): Check checksum.
6982 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6983 * include/grub/misc.h (grub_memchr): New function.
6984 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6985 (grub_net_card_driver): Return buf in recv.
6986 (grub_net_slaac_mac_list): New struct.
6987 (grub_network_level_protocol_id): Add ipv6.
6988 (grub_net_network_level_addr): Likewise.
6989 (grub_net_network_level_net_addr): Likewise.
6990 (grub_net_app_protocol): Add seek.
6991 (grub_net_socket): Removed.
6992 (grub_net_sockets): Likewise.
6993 (grub_net_socket_register): Likewise.
6994 (grub_net_socket_unregister): Likewise.
6995 (FOR_NET_SOCKETS): Likewise.
6996 (grub_net_add_addr): Add const.
6997 (GRUB_NET_BOOTP_*): New enum.
6998 (grub_net_addr_cmp): New proto.
6999 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7000 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7001 (grub_net_hwaddr_to_str): NEw proto.
7002 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7003 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7004 (grub_dns_init): New proto.
7005 (grub_dns_fini): Likewise.
7006 (grub_net_tcp_retransmit): Likewise.
7007 (grub_net_link_layer_add_address): Likewise.
7008 (grub_net_link_layer_resolve_check): Likewise.
7009 (grub_net_link_layer_resolve): Likewise.
7010 (grub_net_dns_lookup): Likewise.
7011 (grub_net_add_dns_server): Likewise.
7012 (grub_net_remove_dns_server): Likewise.
7013 (GRUB_NET_TRIES): New const.
7014 (GRUB_NET_INTERVAL): Likewise.
7015 * include/grub/net/arp.h: Mostly rewritten.
7016 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7017 * include/grub/net/ip.h: Mostly rewritten.
7018 * include/grub/net/netbuff.h: Indent.
7019 * include/grub/net/tcp.h: New file.
7020 * include/grub/net/udp.h: Mostly rewritten.
7021 * include/grub/priority_queue.h: New file.
7022 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7023 (grub_swap_bytes64_compile_time): Likewise.
7024 (grub_cpu_to_be16_compile_time): Likewise.
7025 (grub_cpu_to_be32_compile_time): Likewise.
7026 (grub_cpu_to_be64_compile_time): Likewise.
7027 (grub_be_to_cpu64_compile_time): Likewise.
7028
7029 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7032 UINT_TO_PTR with cast.
7033
7034 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7037 don't use them.
7038
7039 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7042 already there.
7043
7044 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7047 confusing ipxe.
7048
7049 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7052 Add missing const attribute.
7053 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7054 Likewise.
7055 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7056 Likewise.
7057
7058 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7061 misaligned access.
7062 (serpent_setkey): Likewise.
7063 (serpent_encrypt_internal): Likewise.
7064 (serpent_decrypt_internal): Likewise.
7065 (serpent_encrypt): Don't put an alignment-increasing cast.
7066 (serpent_decrypt): Likewise.
7067 (serpent_test): Likewise.
7068
7069 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7072
7073 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7076
7077 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7078 grub_addr_t casts.
7079 (PTR_TO_UINT64): Likewise.
7080 (PTR_TO_UINT32): Likewise.
7081
7082 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7085 because of stack.
7086 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7087 limit.
7088
7089 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7092 text_width > available width a bit more gracefully.
7093
7094 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7097 current address calculation.
7098
7099 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7102 stack.
7103 (encode_block): Likewise.
7104
7105 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7108 certainety.
7109
7110 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7113 non-RS part to avoid RS messing with GDT.
7114 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7115 Increase to suit in realmode routines.
7116
7117 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/kern/i386/realmode.S: Increase alignment.
7120 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7121
7122 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7125 be deterministic.
7126 (syndroms): Compute 0 syndrom.
7127 (rs_recover): Use 0 syndrom.
7128
7129 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7132
7133 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7136 brackets.
7137
7138 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7141 account.
7142 (get_top_pad): Likewise.
7143 (get_right_pad): Likewise.
7144 (get_bottom_pad): Likewise.
7145
7146 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7149
7150 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7153 attribute as the structure isn't guaranteed to be properly aligned.
7154 (grub_efi_pci_device_path): Likewise.
7155 (grub_efi_pccard_device_path): Likewise.
7156 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7157 specify the size of `memory_type'.
7158 (grub_efi_vendor_device_path): Likewise.
7159 (grub_efi_controller_device_path): Likewise.
7160 (grub_efi_acpi_device_path): Likewise.
7161 (grub_efi_expanded_acpi_device_path): Likewise.
7162 (grub_efi_atapi_device_path): Likewise.
7163 (grub_efi_scsi_device_path): Likewise.
7164 (grub_efi_fibre_channel_device_path): Likewise.
7165 (grub_efi_1394_device_path): Likewise.
7166 (grub_efi_usb_device_path): Likewise.
7167 (grub_efi_usb_class_device_path): Likewise.
7168 (grub_efi_i2o_device_path): Likewise.
7169 (grub_efi_mac_address_device_path): Likewise.
7170 (grub_efi_ipv4_device_path): Likewise.
7171 (grub_efi_ipv6_device_path): Likewise.
7172 (grub_efi_infiniband_device_path): Likewise.
7173 (grub_efi_uart_device_path): Likewise.
7174 (grub_efi_vendor_messaging_device_path): Likewise.
7175 (grub_efi_hard_drive_device_path): Likewise.
7176 (grub_efi_cdrom_device_path): Likewise.
7177 (grub_efi_vendor_media_device_path): Likewise.
7178 (grub_efi_file_path_device_path): Likewise.
7179 (grub_efi_protocol_device_path): Likewise.
7180 (grub_efi_piwg_device_path): Likewise.
7181 (grub_efi_bios_device_path): Likewise.
7182
7183 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7186 (grub_ucs4_to_utf8_alloc): Likewise.
7187 (grub_ucs4_to_utf8): Likewise.
7188 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7189 (grub_ucs4_to_utf8_alloc): Likewise.
7190
7191 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 AFFS never uses unicode.
7194
7195 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7196 (grub_latin1_to_utf8): New inline function.
7197 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7198
7199 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7202 overflow.
7203
7204 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7207 (grub_squash_dirent_header): Likewise.
7208 (read_chunk): Don't double swap.
7209 (grub_squash_iterate_dir): Fix swap sizes.
7210
7211 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7214
7215 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7218 (grub_hfs_iterate_dir): Likewise.
7219
7220 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Fix video on platforms where unaligned access is forbidden.
7223 Make several optimisations while on it.
7224
7225 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7226 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7227 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7228 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7229 Disable.
7230 (grub_video_fbblit_replace_16bit_1bit):
7231 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7232 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7233 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7234 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7235 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7236 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7237 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7238 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7239 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7240 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7241 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7242 (grub_video_fbblit_replace_index_RGB888): Likewise.
7243 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7244 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7245 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7246 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7247 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7248 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7249 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7250 Disable.
7251 (grub_video_fbblit_blend_XXX565_1bit):
7252 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7253 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7254 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7255 void *.
7256 * grub-core/video/fb/video_fb.c (common_blitter)
7257 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7258 (grub_video_fb_create_render_target_from_pointer)
7259 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7260 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7261 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7262 definition.
7263 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7264
7265 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7268 HH22 and HM10 relocations.
7269
7270 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7273
7274 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7277 allocation succeeded.
7278
7279 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7282 argument a u8 pointer. All users updated.
7283 Handle unaligned buffers.
7284
7285 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7288 add_part to workaround compiler bug.
7289
7290 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7293
7294 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7297 Reserve alignment invariants.
7298 (grub_multiboot_load): Likewise.
7299 (retrieve_video_parameters): Likewise.
7300 (grub_multiboot_make_mbi): Likewise.
7301
7302 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7305 incorrect pointer.
7306
7307 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7310 (grub_pata_pio_write): Likewise.
7311
7312 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Add noreturn attributes and remove unreachable code.
7315
7316 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7317 code.
7318 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7319 code. Mark as noreturn.
7320 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7321 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7322 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7323 unreachable code.
7324 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7325 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7326 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7327 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7328 * include/grub/kernel.h (grub_main): Mark as noreturn.
7329 * include/grub/reader.h (grub_rescue_run): Likewise.
7330
7331 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7334 redundant declaration.
7335
7336 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7339 redundant declaration.
7340 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7341
7342 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7345 to ensure alignment.
7346 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7347 alignment. Ensure tmp alignment.
7348 (grub_cmd_hdparm): Ensure buf alignment.
7349 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7350 to ensure alignment.
7351 (grub_ata_dumpinfo): Ensure text alignment.
7352 (grub_atapi_identify): Preserve alignment invariant.
7353 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7354
7355 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7358 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7359 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7360 * include/grub/misc.h (grub_reboot)
7361 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7362 (grub_halt) [__mips__]: Likewise.
7363
7364 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7367 Remove redundant declaration.
7368 (grub_mmap_get_post64): Likewise.
7369 (grub_mmap_get_upper): Likewise.
7370 (grub_mmap_get_lower): Likewise.
7371
7372 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7375 uint32_t * to ensure alignment.
7376 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7377
7378 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7381 uint16_t * to ensure alignment.
7382 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7383 alignment.
7384
7385 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7388 to ensure alignment.
7389 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7390
7391 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7394 Handle unaligned pointers.
7395 (u32at): Likewise.
7396 (u64at): Likewise.
7397 (fixup): Use byte access instead of v16at.
7398 (find_attr): Fix imporper usage of v32at.
7399 (read_data): Likewise.
7400 (list_file): Handle byte-swapping and unaligned strings.
7401 (grub_ntfs_label): Likewise.
7402
7403 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7406 as it's not necessarily aligned.
7407
7408 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7411 redundant declaration.
7412 (grub_serial_init): Likewise.
7413 (grub_terminfo_init): Likewise.
7414
7415 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7418 function.
7419 (ZAP_HASH_IDX): Likewise.
7420 (ZAP_LEAF_HASH_SHIFT): Likewise.
7421 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7422 (LEAF_HASH): Likewise.
7423 (ZAP_LEAF_NUMCHUNKS): Likewise.
7424 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7425 alignment invariants. Return pointer. All users updated.
7426 (ZAP_LEAF_ENTRY): Make into inline function.
7427 (NBBY): Removed.
7428 (xor): LIkewise.
7429 (xor_out): Use grub_crypto_xor.
7430 (dnode_get_path): Use grub_get_unaligned.
7431 (nvlist_find_value): Likewise.
7432 (grub_zfs_nvlist_lookup_uint64): Likewise.
7433 (grub_zfs_nvlist_lookup_string): Likewise.
7434 (get_nvlist_size): Likewise.
7435 (grub_zfs_open): Likewise.
7436 (fill_fs_info): Likewise.
7437 (grub_zfs_dir): Likewise.
7438 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7439 alignment invariants.
7440 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7441 necessarily aligned.
7442
7443 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7446
7447 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7450 arithmetic to conserve alignment invariants.
7451
7452 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7455 redundant declaration.
7456 (grub_efiemu_mm_obtain_request): Likewise.
7457 (grub_efiemu_prepare): Likewise.
7458
7459 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7462 to match types.
7463
7464 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7467 case of aunaligned recptr.
7468 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7469 alignment.
7470 (grub_hfsplus_btree_search): Handle unaligned index.
7471
7472 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7475 to get freetag and skip.
7476
7477 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7480 array.
7481 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7482 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7483
7484 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7487 name for checksum and fix allocation algorithm.
7488
7489 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * include/grub/types.h (grub_properly_aligned_t): New type.
7492 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7493 (grub_get_unaligned16): Add explicit casts.
7494 (grub_get_unaligned32): Likewise.
7495 (grub_get_unaligned64): Likewise.
7496 (grub_set_unaligned16): New function.
7497 (grub_set_unaligned32): Likewise.
7498
7499 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7502
7503 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7506 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7507 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7508
7509 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7512 conditionals.
7513
7514 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7517 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7518
7519 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 Unify and improve RAID and crypto xor.
7522
7523 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7524 changed to grub_crypto_xor
7525 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7526 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7527 Use bigger types when possible.
7528
7529 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/disk/raid.c (scan_devices): Fix condition.
7532
7533 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7536 Make name a const ptr.
7537
7538 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7541 first argument a const pointer.
7542 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7544 proto.
7545 (grub_children_iterate): Likewise.
7546 (grub_machine_mmap_iterate): Remove redundant declaration.
7547
7548 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7551 (grub_cmd_acpi) [!x86]: Disable EBDA.
7552
7553 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 Enable UTF8 in gnulib regexp.
7556
7557 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7558 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7559 (isupper): Use grub_isupper.
7560 (isascii): New inline function.
7561 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7562 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7563 * grub-core/normal/charset.c (grub_utf8_process): New function.
7564 (grub_utf8_to_utf16): Use grub_utf8_process.
7565 (grub_encode_utf8_character): New function.
7566 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7567 * include/grub/charset.h (grub_utf8_process): New declaration.
7568 (grub_encode_utf8_character): Likewise.
7569 * include/grub/misc.h (grub_islower): New inline function.
7570 (grub_isupper): Likewise.
7571 (grub_strchrsub): Moved down to fix the definitions.
7572
7573 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7576 specification.
7577
7578 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * include/grub/loader.h (grub_loader_register_preboot_hook):
7581 Use struct preboot * and not void * for handle. All users updated.
7582 (grub_loader_unregister_preboot_hook): Likewise.
7583
7584 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7587 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7588 UTF-16-BE. All users updated.
7589 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7590 (grub_hfsplus_iterate_dir): Likewise.
7591 (grub_hfsplus_label): Likewise.
7592
7593 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7596
7597 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 Add missing const qualifiers.
7600
7601 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7602 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7603 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7604 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7605 (grub_lvm_check_flag): Likewise.
7606 * grub-core/efiemu/i386/coredetect.c
7607 (grub_efiemu_get_default_core_name): Likewise
7608 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7609 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7610 * grub-core/fs/ntfs.c (fixup): Likewise.
7611 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7612 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7613 (fzap_lookup): Likewise.
7614 (zap_lookup): Likewise.
7615 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7616 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7617 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7618 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7619 (grub_freebsd_add_meta_module): Likewise.
7620 (grub_cmd_freebsd_module): Likewise.
7621 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7622 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7623 (grub_xnu_writetree_get_size): Likewise.
7624 (grub_xnu_writetree_toheap_real): Likewise.
7625 (grub_xnu_find_key): Likewise.
7626 (grub_xnu_create_key): Likewise.
7627 (grub_xnu_create_value): Likewise.
7628 (grub_xnu_register_memory): Likewise.
7629 (grub_xnu_check_os_bundle_required): Likewise.
7630 (grub_xnu_scan_dir_for_kexts): Likewise.
7631 (grub_xnu_load_kext_from_dir): Likewise.
7632 * grub-core/normal/color.c (color_list): Likewise.
7633 * grub-core/normal/completion.c (current_word): Likewise.
7634 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7635 * grub-core/term/serial.c (grub_serial_find): Likewise.
7636 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7637 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7638 Likewise.
7639 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7640 (grub_freebsd_add_meta_module): Likewise.
7641 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7642 * include/grub/net.h (grub_net_card_driver): Likewise.
7643 (grub_net_card): Likewise.
7644 (grub_net_app_protocol): Likewise.
7645 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7646 * include/grub/serial.h (grub_serial_find): Likewise.
7647 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7648 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7649 (grub_xnu_create_value): Likewise.
7650 (grub_xnu_find_key): Likewise.
7651 (grub_xnu_scan_dir_for_kexts): Likewise.
7652 (grub_xnu_load_kext_from_dir): Likewise.
7653
7654 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7655 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7656 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7657 Moved from here ...
7658 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7659
7660 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7661
7662 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7663
7664 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7667 (read_device): Fix size calculation.
7668
7669 2011-11-25 Robert Millan <rmh@gnu.org>
7670
7671 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7672 (find_root_device_from_libzfs): Add zpool output parser to be used
7673 as fallback when libzfs isn't available.
7674
7675 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7676
7677 * po/Makefile.in.in: Add missing escape-continuation.
7678
7679 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7682
7683 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7686
7687 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7690
7691 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7694
7695 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/lib/adler32.c: Add missing license specification.
7698 * grub-core/lib/crc64.c: Likewise.
7699 * grub-core/loader/i386/pc/plan9.c: Likewise.
7700 * grub-core/partmap/plan.c: Likewise.
7701
7702 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7703
7704 Add facility to debug GRUB with gdb under qemu.
7705
7706 * grub-core/gdb_grub.in: New file.
7707 * grub-core/gmodule.pl.in: Likewise.
7708 * grub-core/Makefile.core.def (gmodule.pl): New script.
7709 (gdb_grub): Likewise.
7710
7711 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * util/grub-mount.c (argp_parser): Accept relative pathes.
7714 * util/grub-fstest.c (argp_parser): Likewise.
7715
7716 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 Plan9 support.
7719
7720 * Makefile.util.def (libgrubmods): Add
7721 grub-core/partmap/plan.c.
7722 * docs/grub.texi: Notice Plan9 support.
7723 * grub-core/Makefile.core.def (plan9): New module.
7724 (part_plan): Likewise.
7725 * grub-core/loader/i386/pc/plan9.c: New file.
7726 * grub-core/partmap/plan.c: Likewise.
7727 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7728 define.
7729 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7730 * include/grub/mm.h (grub_extend_alloc): New inline function.
7731
7732 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 Make Reed-Solomon faster by using power of generator representation of
7735 GF(256)*.
7736
7737 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7738 (gf_double_t): Likewise.
7739 (gf_invert): Removed.
7740 (gf_powx): New array.
7741 (gf_powx_inv): Likewise.
7742 (scratch): Move higher.
7743 (gf_reduce): Removed.
7744 (gf_mul): Use powx.
7745 (gf_invert): Likewise.
7746 (init_inverts): Replaced with ...
7747 (init_powx): ...this. All users updated.
7748 (pol_evaluate): Replace multiplications with additions.
7749 (rs_encode): Likewise.
7750 (gauss_eliminate): Call gf_invert.
7751 (grub_reed_solomon_add_redundancy): Call init_powx.
7752 (grub_reed_solomon_recover): Call init_powx unconditionally.
7753
7754 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7757
7758 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7761 disk->partiton for safety.
7762
7763 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7766 Fix a memory leak.
7767 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7768
7769 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7772
7773 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7776
7777 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 Fix spaces handling in proc/self/mountinfo.
7780
7781 * util/getroot.c (unescape): New function.
7782 (grub_find_root_device_from_mountinfo): Use unescape.
7783
7784 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 Support ZFS embedding.
7787
7788 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7789 (grub_zfs_fs): Register grub_zfs_embed.
7790
7791 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 Fix MIPS compilation.
7794
7795 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7796 * include/grub/offsets.h: Rename decompressor fields from
7797 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7798 * util/grub-mkimage.c (image_targets): Use new names.
7799
7800 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 Defer multiboot device parsing until we're in compressed part.
7803
7804 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7805 bsd_part. setdevice has fallen into disuse.
7806 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7807 (bsd_part): Likewise.
7808 (boot_dev): New variable.
7809 (multiboot_trampoline): Don't parse multiboot device.
7810 Pass multiboot device in %edx.
7811 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7812 grub_boot_device.
7813 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7814 Likewise.
7815 * grub-core/kern/i386/pc/startup.S: Save edx.
7816 (grub_boot_drive): Removed.
7817 (grub_install_dos_part): Likewise.
7818 (grub_install_bsd_part): Likewise.
7819 (grub_boot_device): New variable.
7820 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7821 (grub_install_bsd_part): Likewise.
7822 (grub_boot_drive): Likewise.
7823 (grub_boot_device): New variable.
7824 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7825 Removed.
7826 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7827 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7828 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7829 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7830 * util/grub-install.in: Remove redundant condition.
7831
7832 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 Fix bug introduced by previous commit.
7835
7836 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7837
7838 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 Use decompressors framework on i386-pc. It increases core size
7841 by 46 bytes but improves compatibility and maintainability.
7842
7843 * grub-core/Makefile.core.def (lzma_decompress): New image.
7844 (kernel): Add i386_pc_ldflags.
7845 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7846 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7847 to real_to_prot, prot_to_real and device info.
7848 * include/grub/offsets.h: Renamed decompressor offsets.
7849 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7850 (image_target_desc): Remove raw_size and rename decompressor fields.
7851 (compress_kernel): Handle lzma.
7852 (generate_image): Handle decompressors on i386-pc.
7853
7854 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * configure.ac: Add -fno-asynchronous-unwind-tables.
7857
7858 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Move assembly code to C by using intwrap. It increases core size
7861 by 88 bytes but improves compatibility and maintainability.
7862
7863 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7864 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7865 ... here. Translated to C.
7866 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7867 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7868 ... here. Translated to C.
7869 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7870 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7871 ... here. Translated to C.
7872 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7873 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7874 ... here. Translated to C.
7875 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7876 * grub-core/term/i386/pc/console.c (grub_console_cls):
7877 ... here. Translated to C.
7878 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7879 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7880 ... here. Translated to C.
7881 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7882 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7883 Translated to C.
7884 * grub-core/term/i386/pc/console.c (int10_9): New function.
7885 (grub_console_putchar): Likewise.
7886 * include/grub/i386/pc/console.h: Removed the not anymore shared
7887 functions.
7888
7889 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Move grub_chainloader_real_boot out of the kernel.
7892
7893 * grub-core/Makefile.am: Remove machine/loader.h.
7894 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7895 Removed.
7896 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7897 variable.
7898 (grub_relocator16_keep_a20_enabled): Likewise.
7899 (grub_relocator16_boot): Fill new variables.
7900 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7901 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7902 relocator.
7903 (grub_chainloader_unload): Likewise.
7904 (grub_chainloader_cmd): Likewise.
7905 * include/grub/i386/pc/loader.h: Removed.
7906 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7907 and esi. All initialisers updated.
7908
7909 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7910 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7911
7912 * Makefile.util.def (grub-mount): New util.
7913 * .bzrignore: Add grub-mount.
7914 * configure.ac: Check for fuse and enable grub-mount if available.
7915 * docs/man/grub-mount.h2m: New file.
7916 * util/grub-mount.c: Likewise.
7917
7918 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/commands/efi/fixvideo.c: Gettextize.
7921 * grub-core/commands/hashsum.c: Likewise.
7922 * grub-core/commands/i386/cmostest.c: Likewise.
7923 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7924 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7925 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7926 * grub-core/commands/lsmmap.c: Likewise.
7927 * grub-core/commands/menuentry.c: Likewise.
7928 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7929 * grub-core/commands/setpci.c: Likewise.
7930 * grub-core/loader/i386/bsd.c: Likewise.
7931 * grub-core/loader/i386/linux.c: Likewise.
7932 * util/getroot.c: Likewise.
7933 * util/grub-editenv.c: Likewise.
7934 * util/grub-fstest.c: Likewise.
7935 * util/grub-mkfont.c: Likewise.
7936 * util/grub-mkimage.c: Likewise.
7937 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7938 * util/grub-pe2elf.c: Likewise.
7939 * util/grub-probe.c: Likewise.
7940 * util/grub-setup.c: Likewise.
7941 * util/ieee1275/ofpath.c: Likewise.
7942 * util/misc.c: Likewise.
7943 * util/raid.c: Likewise.
7944
7945 2011-11-11 Robert Millan <rmh@gnu.org>
7946
7947 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7948 __attribute__((unused)) from `os_dev', which *is* being used.
7949
7950 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7953 forgotten define.
7954 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7955 GRUB_IA64_DL_GOT_ALIGN.
7956 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7957 GRUB_IA64_DL_TRAMP_ALIGN.
7958
7959 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Replace grub_fatal with normal errors in i386 linux loader.
7962
7963 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7964 (allocate_pages): Check find_efi_mmap_size return value.
7965 (grub_e820_add_region): Return error.
7966 (grub_linux_boot): Check mmap return value.
7967
7968 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * grub-core/commands/acpihalt.c: Gettextized.
7971 * grub-core/commands/cacheinfo.c: Likewise.
7972 * grub-core/commands/cmp.c: Likewise.
7973 * grub-core/commands/efi/loadbios.c: Likewise.
7974 * grub-core/commands/gptsync.c: Likewise.
7975 * grub-core/commands/ieee1275/suspend.c: Likewise.
7976 * grub-core/commands/legacycfg.c: Likewise.
7977 * grub-core/commands/memrw.c: Likewise.
7978 * grub-core/commands/minicmd.c: Likewise.
7979 * grub-core/commands/parttool.c: Likewise.
7980 * grub-core/commands/time.c: Likewise.
7981 * grub-core/commands/videoinfo.c: Likewise.
7982 * grub-core/disk/geli.c: Likewise.
7983 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7984 * grub-core/disk/luks.c: Likewise.
7985 * grub-core/disk/lvm.c: Likewise.
7986 * grub-core/font/font_cmd.c: Likewise.
7987 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7988 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7989 * grub-core/gfxmenu/view.c: Likewise.
7990 * grub-core/kern/emu/hostdisk.c: Likewise.
7991 * grub-core/kern/emu/main.c: Likewise.
7992 * grub-core/kern/emu/misc.c: Likewise.
7993 * grub-core/kern/emu/mm.c: Likewise.
7994 * grub-core/kern/mips/arc/init.c: Likewise.
7995 * grub-core/kern/mips/loongson/init.c: Likewise.
7996 * grub-core/kern/partition.c: Likewise.
7997 * grub-core/lib/i386/halt.c: Likewise.
7998 * grub-core/lib/mips/arc/reboot.c: Likewise.
7999 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8000 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8001 * grub-core/loader/i386/xnu.c: Likewise.
8002 * grub-core/loader/multiboot.c: Likewise.
8003 * grub-core/net/bootp.c: Likewise.
8004 * grub-core/net/net.c: Likewise.
8005 * grub-core/normal/term.c: Likewise.
8006 * grub-core/partmap/bsdlabel.c: Likewise.
8007 * grub-core/parttool/msdospart.c: Likewise.
8008 * grub-core/term/gfxterm.c: Likewise.
8009 * grub-core/term/terminfo.c: Likewise.
8010 * grub-core/video/i386/pc/vbe.c: Likewise.
8011 * util/grub-menulst2cfg.c: Likewise.
8012 * util/grub-mkdevicemap.c: Likewise.
8013 * util/grub-mklayout.c: Likewise.
8014 * util/grub-mkrelpath.c: Likewise.
8015 * util/grub-script-check.c: Likewise.
8016 * util/ieee1275/grub-ofpathname.c: Likewise.
8017 * util/resolve.c: Likewise.
8018
8019 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Support %1$d syntax.
8022
8023 * tests/printf_unit_test.c: New file.
8024 * Makefile.util.def (printf_test): New test.
8025 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8026
8027 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8030 fix.
8031
8032 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8035 dprintf.
8036 * grub-core/font/font.c (grub_font_load): Likewise.
8037
8038 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * util/grub-macho2img.c: Add comment concerning gettext.
8041 * grub-core/lib/legacy_parse.c: Likewise.
8042
8043 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8046 (grub_xvasprintf): Likewise.
8047
8048 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 Add const keyword to grub_env_get and gettextize week days.
8051
8052 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8053 (grub_read_hook_datetime): Return const char *.
8054 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8055 updated.
8056 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8057 Mark for gettext.
8058 (grub_get_weekday_name): Return const char *. Call gettext.
8059 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8060 char * and len as the argument. All users updated.
8061 (grub_script_argv_split_append): Receive const char *.
8062 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8063 * include/grub/env.h (grub_env_get): Likewise.
8064 (grub_env_read_hook_t): Return const char *.
8065 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8066 (grub_script_argv_split_append): Likewise.
8067
8068 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8071
8072 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8075 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8076
8077 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8080 Fix prototype.
8081
8082 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Fix mips compilation.
8085
8086 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8087 normal decoder.
8088 (hashes): Use in embed decoder as well (for sizes).
8089 (dec_stream_header): Fix embed decompressor logic.
8090 (dec_stream_footer): Likewise.
8091
8092 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8095 an error and not a fatal on unrecognised relocation types.
8096
8097 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8100 Issue error rather than printf on unknown arguments.
8101
8102 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8105 Make buf a const.
8106
8107 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8110 Fix module name.
8111
8112 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8115 leftover debug printf.
8116
8117 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8120
8121 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8124 A stylistic fix.
8125
8126 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8129
8130 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8131
8132 Allow all modules to perform serial IO
8133
8134 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8135 * include/grub/serial.h (grub_serial_port_configure): New inline
8136 function.
8137 (grub_serial_port_fetch): Likewise.
8138 (grub_serial_port_put): Likewise.
8139 (grub_serial_port_fini): Likewise.
8140 (grub_serial_find): New proto.
8141
8142 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 Put symlink at the end of the node and fix a potential
8145 memory corruption.
8146
8147 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8148 Make symlink into an array.
8149 (set_rockridge): Set have_symlink and alloc_dirents.
8150 (grub_iso9660_read_symlink): Use new layout.
8151 (grub_iso9660_iterate_dir): Fix memory corruption.
8152 Use new layout.
8153 (grub_iso9660_dir): Set have_symlink.
8154 (grub_iso9660_open): Likewise.
8155
8156 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 Remove local keyword.
8159
8160 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8161 (version_test_gt): Likewise.
8162 (version_find_latest): Likewise.
8163 (gettext_printf): Likewise.
8164 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8165
8166 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8169
8170 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 Fix ZFS memory and resource leaks.
8173
8174 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8175 All users updated.
8176 Free type on exit.
8177 (fill_vdev_info): New parameter inserted. All users updated.
8178 (check_pool_label): Likewise.
8179 (scan_disk): Likewise.
8180 (scan_devices): Close non-inserted disks.
8181 (fzap_iterate): Free l.
8182 (unmount_device): Free children descripto memory.
8183
8184 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8187 argument (access out of bounds).
8188
8189 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8192 >= 6 drives.
8193
8194 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8197 Fix declaration.
8198
8199 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 Fix several memory leaks.
8202
8203 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8204 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8205 (grub_cpio_dir): Likewise.
8206 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8207 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8208 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8209 (grub_romfs_label): Likewise.
8210 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8211 (squash_unmount): New function.
8212 (grub_squash_dir): Fix memory leak.
8213 (grub_squash_open): Likewise.
8214 (grub_squash_read): Likewise.
8215 (grub_squash_mtime): Likewise.
8216 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8217 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8218 * util/grub-fstest.c (fstest): Likewise.
8219
8220 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8223 avoid accessing beyond the array.
8224
8225 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8228
8229 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 Several AFFS fixes.
8232
8233 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8234 (GRUB_AFFS_FLAG_FFS): Removed.
8235 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8236 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8237 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8238 (grub_fshelp_node): Make block 32-bit.
8239 Add block_cache and last_block_cache.
8240 (grub_affs_read_block): Fill and use block cache.
8241 (grub_affs_read_file): Removed.
8242 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8243 boot block.
8244 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8245 safety.
8246 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8247 space.
8248 (grub_affs_close): Free block cache.
8249 (grub_affs_read): Use grub_fshelp_read_file directly.
8250
8251 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8254 with no error set.
8255
8256 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8259 used variable.
8260 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8261 Likewise.
8262
8263 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8266
8267 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8268 byteswap when needed.
8269
8270 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Fix FreeBSD compilation.
8273
8274 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8275 to avoid circular dependency.
8276 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8277 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8278 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8279
8280 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Fix ZFS crypto error types.
8283
8284 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8285 (grub_gcm_decrypt): Likewise.
8286 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8287 from PBKDF2.
8288
8289 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Illumos support.
8292
8293 * Makefile.util.def (10_illumos): New script.
8294 * configure.ac: Set COND_HOST_ILLUMOS.
8295 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8296 Support Illumos calls.
8297 (find_partition_start) [__sun__]: Likewise.
8298 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8299 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8300 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8301 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8302 device.
8303 * util/grub-probe.c (probe) [__sun__]: Do character check.
8304 * util/grub.d/10_illumos.in: New file.
8305
8306 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 Support escaped commas in hostdisk.
8309
8310 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8311 (find_grub_drive): Use unescape_cmp.
8312 (make_device_name): Escape commas.
8313
8314 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8317
8318 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8321 variable.
8322
8323 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Support trampoline jumps on powerpc.
8326
8327 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8328 __ia64__ path.
8329 (grub_dl_load_segments): Set mod->sz.
8330 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8331 segments.
8332 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8333 (jump): Likewise.
8334 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8335 function.
8336 (trampoline): New struct.
8337 (trampoline_template): New const.
8338 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8339 * include/grub/dl.h (grub_dl): Add sz element.
8340 [__powerpc__]: Follow __ia64__.
8341 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8342 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8343 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8344 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8345
8346 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 ZFS crypto support.
8349
8350 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8351 * grub-core/Makefile.core.def (zfscrypt): New module.
8352 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8353 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8354 it. All users updated.
8355 (grub_zfs_decrypt): New var.
8356 (grub_zfs_load_key): Likewise.
8357 (zio_checksum_functions): Add SHA256+MAC.
8358 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8359 (zio_read): Handle encrypted blocks.
8360 (zap_verify): Remove incorrect check.
8361 (fzap_iterate): Handle non-standard fzap.
8362 (zap_iterate): Likewise.
8363 (zap_iterate_u64): New function.
8364 (dnode_get_fullpath): Load keys.
8365 * grub-core/fs/zfs/zfscrypt.c: New file.
8366 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8367 (grub_crypto_ecb_encrypt): Make input const.
8368 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8369 (grub_crypto_ecb_encrypt): Make input const.
8370 (GRUB_CIPHER_AES): New macro.
8371 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8372 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8373 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8374 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8375 prefix. All users updated.
8376 (grub_zfs_add_key): New proto.
8377 (grub_zfs_decrypt): Likewise.
8378 (grub_zfs_load_key): Likewise.
8379 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8380 * util/grub-fstest.c (options): Add -K option.
8381 (argp_parser): Likewise.
8382
8383 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 Support zle compression on ZFS.
8386
8387 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8388 (decomp_table): Add zle.
8389 * include/grub/zfs/zio.h (zio_compress): Add zle.
8390
8391 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 Support BtrFS embedding.
8394
8395 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8396 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8397 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8398 * util/grub-setup.c (setup): Use fs embedding if available.
8399 Add additional sanity check.
8400
8401 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * util/grub-install.in: Fix condition for config_opt.
8404
8405 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 Support third redundancy strip on raidz3.
8408
8409 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8410 Return error on singularity. All users updated.
8411 (read_device): Don't stop on 3rd failure on raidz3.
8412
8413 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 Support case-insensitive ZFS subvolumes.
8416
8417 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8418 All users updated.
8419 (zap_hash): Likewise.
8420 (name_cmp): New function.
8421 (zap_leaf_array_equal): New parameter case_insensitive.
8422 All users updated.
8423 (zap_leaf_lookup): Likewise.
8424 (fzap_lookup): Likewise.
8425 (zap_lookup): Likewise.
8426 (dnode_get_path): New parameter case_insensitive. Retrieve case
8427 sensitiviness of a volume. All users updated.
8428 (dnode_get_fullpath): New parameter case_insensitive.
8429 All users updated.
8430 (grub_zfs_dir): Set info.case_insensitiveness.
8431
8432 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 Support second redundancy strip on raidz(2,3).
8435
8436 * grub-core/fs/zfs/zfs.c (powx): New array.
8437 (powx_inv): Likewise.
8438 (poly): New const.
8439 (xor_out): New function.
8440 (gf_mul): Likewise.
8441 (recovery): Likewise.
8442 (read_device): Use second redundancy strip.
8443
8444 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 Use a power of generator representation of GF(256) multiplication group
8447 to save space time and complexity.
8448
8449 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8450 (raid6_table2): Likewise.
8451 (powx): New array.
8452 (powx_inv): Likewise.
8453 (poly): New const.
8454 (grub_raid_block_mul): Replace with ...
8455 (grub_raid_block_mulx): ...this.
8456 (grub_raid6_init_table): Rewritten.
8457 (grub_raid6_recover): Use power of generator representation.
8458
8459 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8462 for the right device.
8463
8464 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8467 expected by grub-mkimage and it's more clear since there is no implicit
8468 padding.
8469
8470 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8473 disk.
8474 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8475
8476 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8477
8478 * util/grub-mkrescue.in: Fix handling xorriso option.
8479
8480 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8483 NULL.
8484
8485 2011-11-03 crocket <crockabiscuit@gmail.com>
8486
8487 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8488
8489 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 XZ CRC64 and SHA256 support.
8492
8493 * Makefile.util.def (libgrubmods): Add crc64.c.
8494 * grub-core/Makefile.core.def (crc64): New module.
8495 * grub-core/lib/crc64.c: New file.
8496 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8497 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8498 Fix the type.
8499 (MAX_HASH_SIZE): New define.
8500 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8501 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8502 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8503 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8504 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8505 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8506 Handle non-crc32 hashes.
8507 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8508 (dec_stream_header): Handle non-crc32 hashes.
8509 (dec_stream_footer): Likewise.
8510 (dec_block_header): Likewise.
8511 (dec_main): Likewise.
8512 (xz_dec_init): Likewise.
8513 (xz_dec_reset): Likewise.
8514 (xz_dec_end): Likewise.
8515 * util/import_gcry.py: Add CRC64 line.
8516
8517 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8520 as well.
8521
8522 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 Make reiserfs label retrieval similar to other *_label functions.
8525
8526 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8527 (REISERFS_MAX_LABEL_LENGTH): Removed.
8528 (REISERFS_LABEL_OFFSET): Likewise.
8529 (grub_reiserfs_label): Rewritten.
8530
8531 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8534 field.
8535
8536 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8539
8540 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8543 drive failure on both raidz and raidz2.
8544
8545 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 Fix RAIDZ(2) for >= 5 devices.
8548
8549 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8550 asize argument. All users updated.
8551
8552 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 Fix RAIDZ(2).
8555
8556 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8557 (fill_vdev_info_real): Set ashift.
8558 (read_device): Rewrite RAIDZ part based on reverse engineering.
8559
8560 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8563 don't report potentially unavialiable fields in debug output.
8564 (find_path): Fix double-free and memory leak.
8565
8566 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 Read label on UFS1.
8569
8570 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8571 (grub_ufs_fs): Always set .label.
8572
8573 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 Use shifts in UFS.
8576
8577 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8578 (grub_ufs_data): New field log2_blksz.
8579 (grub_ufs_read_file): Use shifts.
8580 (grub_ufs_mount): Check block size and logarithm it.
8581
8582 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8585 long symlinks.
8586
8587 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Handle symlinks and long names on tar and cpio.
8590
8591 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8592 (ATTR_FILE): Likewise.
8593 (ATTR_DIR): Likewise.
8594 (ATTR_LNK): Likewise.
8595 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8596 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8597 L and K entries.
8598 (grub_cpio_mount): Zero-fill data.
8599 (handle_symlink): New function.
8600 (grub_cpio_dir): Handle symlinks.
8601 (grub_cpio_open): Likewise.
8602 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8603
8604 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 Fix iso9660 filename limitations and fix memory leaks.
8607
8608 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8609 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8610
8611 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 Fix JFS file name length limitations.
8614
8615 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8616 (grub_jfs_diropen): Fix maximum filename length.
8617 (grub_jfs_getent): Fix filename length.
8618 (grub_jfs_lookup_symlink): Fix size checks.
8619
8620 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8623 string.
8624
8625 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 Leverage BFS implementation to read AFS.
8628
8629 * Makefile.util.def (libgrubmods): Add afs.c.
8630 * grub-core/Makefile.core.def (afs): New module
8631 * grub-core/fs/afs.c: New file.
8632 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8633
8634 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8637
8638 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/fs/bfs.c: Run indent.
8641
8642 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 BFS implementation based on the specification.
8645
8646 * grub-core/fs/bfs.c: New file.
8647 * Makefile.util.def (libgrubmods): Add bfs.c.
8648 * grub-core/Makefile.core.def (bfs): New module.
8649
8650 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * util/grub-fstest.c (cmd_cp): Clarify error message.
8653 (cmd_cmp): Likewise.
8654
8655 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8656
8657 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8658 and befs_be.
8659
8660 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 Remove afs and befs because of copyright problem.
8663
8664 * grub-core/fs/afs.c: Removed.
8665 * grub-core/fs/afs_be.c: Removed.
8666 * grub-core/fs/befs.c: Removed.
8667 * grub-core/fs/befs_be.c: Removed.
8668 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8669 * grub-core/Makefile.core.def (afs): Removed.
8670 (afs_be): Likewise.
8671 (befs): Likewise.
8672 (befs_be): Likewise.
8673
8674 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 Prefer rockridge over Joliet.
8677
8678 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8679 to ...
8680 (set_rockridge): ... here.
8681 (grub_iso9660_mount): Check rockridge on the primary label when
8682 discovering. Ignore Joliet if Rockridge is present.
8683
8684 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 Use shifts in nilfs2.
8687
8688 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8689 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8690 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8691 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8692 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8693 (grub_nilfs2_entries_per_block): Replaced with ...
8694 (grub_nilfs2_log_entries_per_block_log): ... this.
8695 (grub_nilfs2_blocks_per_group): Replaced with ...
8696 (grub_nilfs2_blocks_per_group_log): ... this.
8697 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8698 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8699 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8700 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8701 (grub_nilfs2_palloc_entry_offset): Replaced ...
8702 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8703 (grub_nilfs2_dat_translate): Use shifts.
8704 (grub_nilfs2_read_inode): Likewise.
8705 (GRUB_MOD_INIT): Ensure that logs are correct.
8706
8707 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 Use shifts in minix filesystem.
8710
8711 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8712 (GRUB_MINIX_ZONE2SECT): Likewise.
8713 (grub_minix_data): Replace block_size with log_block_size.
8714 (grub_minix_read_file): Use shifts.
8715 (grub_minix_mount): Check block size and take a logarithm.
8716
8717 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Use shifts in squash4.
8720
8721 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8722 (squash_mount): Check block size and take logarithm.
8723 (direct_read): Use shifts.
8724
8725 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 Correct befs block counting logic.
8728
8729 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8730 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8731 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8732 (grub_afs_read_inode): Use block_shift.
8733 (RANGE_SHIFT): New definition.
8734 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8735 unexpected conditions, use shifts and appropriate types.
8736 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8737
8738 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/disk/raid.c (scan_devices): Check partition.
8741 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8742
8743 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 Support BFS (befs) UUID.
8746
8747 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8748 (grub_afs_small_data_element_header): New struct.
8749 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8750 (grub_afs_read_attribute) [MODE_BFS]: New function.
8751 (grub_afs_iterate_dir): Allocate for complete inode.
8752 (grub_afs_mount): Likewise.
8753 (grub_afs_uuid) [MODE_BFS]: New function.
8754 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8755
8756 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8759 (zfs_unmount): Fix memory leak.
8760
8761 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 Support NTFS reparse points.
8764
8765 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8766 (symlink_descriptor): New struct.
8767 (grub_ntfs_read_symlink): New function.
8768 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8769 (grub_ntfs_open): Likewise.
8770
8771 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8774
8775 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 fstest xnu_uuid subcommand.
8778
8779 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8780 grub-core/commands/xnu_uuid.c.
8781 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8782 (fstest): Handle xnu_uuid.
8783 (options): Document xnu_uuid.
8784 (argp_parser): Parse xnu_uuid.
8785
8786 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8789 -l argument. Add newline at the end if printing.
8790 (GRUB_MOD_INIT): Document -l.
8791
8792 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8795
8796 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 ZFS multi-device and version 33 support.
8799
8800 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8801 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8802 (grub_zfs_data): Add multidev-ice-related fields.
8803 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8804 (dva_get_offset): Make dva const.
8805 (zfs_fetch_nvlist): New function.
8806 (fill_vdev_info_real): Likewise.
8807 (fill_vdev_info): Likewise.
8808 (check_pool_label): Likewise.
8809 (scan_disk): Likewise.
8810 (scan_devices): Likewise.
8811 (read_device): Likewise.
8812 (read_dva): Likewise.
8813 (zio_read_gang): Use read_dva.
8814 (zio_read_data): Likewise.
8815 (zap_leaf_lookup): Add missing endian conversion.
8816 (zap_verify): Add missing endian conversion. All users updated.
8817 (fzap_lookup): Likewise.
8818 (fzap_iterate): Likewise.
8819 (dnode_get_path): Handle SA bonus.
8820 (nvlist_find_value): Make input const. All users updated.
8821 (unmount_device): New function.
8822 (zfs_unmount): Use unmount_device.
8823 (zfs_mount): Use scan_disk.
8824 (zfs_mtime): New function.
8825 (grub_zfs_open): Handle system attributes.
8826 (fill_fs_info): Likewise.
8827 (grub_zfs_dir): Likewise.
8828 (grub_zfs_fs): Add mtime.
8829 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8830 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8831 (SA_MTIME_OFFSET): Likewise.
8832 (SA_SYMLINK_OFFSET): Likewise.
8833 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8834 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8835 (fstest): Support zfsinfo.
8836 (argp_parser): Likewise.
8837
8838 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8841 error.
8842
8843 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 ZFS fixes.
8846
8847 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8848 sharing the same block. Iterate over correct number of indices.
8849 (dnode_get_path): Handle symlinks correctly.
8850
8851 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8854
8855 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Read label on HFS+.
8858
8859 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8860 (grub_hfsplus_btree_search): Fix types.
8861 (grub_hfsplus_label): Implement.
8862
8863 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8866
8867 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8868
8869 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8870
8871 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 Fix symlink handling on iso9660.
8874
8875 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8876 All users updated.
8877 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8878 (grub_iso9660_read_symlink): Moved most of code ...
8879 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8880
8881 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8884 Use union to avoid breaking strict-aliasing rules.
8885
8886 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Support multi-extent iso files.
8889
8890 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8891 Add node.
8892 (grub_fshelp_node): Revamp. All users updated.
8893 (FLAG_*): New enum.
8894 (read_node): New function.
8895 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8896 All users updated.
8897 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8898 (get_node_size): New function.
8899 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8900 entries.
8901 Fix memory leak on . and ..
8902 (grub_iso9660_read): Use read_node.
8903 (grub_iso9660_close): Free node.
8904
8905 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Fix tar 4G limit and handle paths containing dot.
8908
8909 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8910 (canonicalize): New function.
8911 (grub_cpio_find_file): Use canonicalize. Store offs in
8912 grub_disk_addr_t.
8913 (grub_cpio_dir): Use grub_disk_addr_t.
8914 (grub_cpio_open): Likewise.
8915
8916 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8919
8920 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8921 unused flags.
8922 (grub_squash_inode): Add long_file and block_size.
8923 (grub_squash_cache_inode): New struct.
8924 (grub_squash_dirent): Make types into enum.
8925 (SQUASH_TYPE_LONG_REGULAR): New type.
8926 (grub_squash_frag_desc): Add field size.
8927 (SQUASH_BLOCK_FLAGS): New enum.
8928 (grub_squash_data): Use grub_squash_cache_inode.
8929 (grub_fshelp_node): Make ino_chunk 64-bit.
8930 (read_chunk): Minor argument change. All users updated.
8931 (squash_mount): Use correct le_to_cpu.
8932 (grub_squash_open): Handle LONG_REGULAR.
8933 (direct_read): New function.
8934 (grub_squash_read_data): Handle blocks correctly.
8935
8936 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8939
8940 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8943
8944 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 Fix 2G limit on ZFS.
8947
8948 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8949 types.
8950 (uberblock_verify): Likewise.
8951 (dmu_read): Likewise.
8952 (grub_zfs_read): Likewise. Remove invalid cast.
8953
8954 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8957 (grub_jfs_blkno): Fix incorrect shift.
8958 (grub_jfs_read_file): Use more appropriate types.
8959
8960 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 Support triple indirect on minix2 and minix3.
8963
8964 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8965 Declare triple_indir_zone.
8966 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8967 indirect.
8968
8969 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 Minix FS fixes.
8972
8973 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8974 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8975 Rename ctime to mtime. All users updated.
8976 (grub_minix_get_file_block): Fix types and double indirect computations.
8977
8978 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8981 if no label is found.
8982 (grub_fat_iterate_dir): Fix file size type.
8983 (grub_fat_iterate_dir): Likewise.
8984
8985 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8988 save some space.
8989 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8990 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8991
8992 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8995
8996 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * util/import_gcry.py: Accept space between # and include.
8999
9000 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9003
9004 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9007
9008 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9009 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9010 yylex_strncpy.
9011 * grub-core/script/yylex.l: Add fine-grained #pragma.
9012
9013 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9016 New inline function.
9017 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9018 Likewise.
9019 (memset) [GRUB_UTIL]: Likewise.
9020 (memcmp) [GRUB_UTIL]: Likewise.
9021
9022 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9025 inline function rather than a define.
9026
9027 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * util/grub-setup.c: Add missing include.
9030
9031 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * util/ieee1275/grub-ofpathname.c: Add missing include.
9034
9035 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9038 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9039 Likewise.
9040
9041 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9044 grub_memcmp usage.
9045
9046 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * util/grub-install.in: Add datarootdir as per automake manual
9049 suggestion.
9050 * util/grub-mknetdir.in: Likewise.
9051
9052 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9055 suggestion.
9056 * util/grub.d/10_kfreebsd.in: Likewise.
9057 * util/grub.d/10_linux.in: Likewise.
9058 * util/grub.d/10_netbsd.in: Likewise.
9059 * util/grub.d/10_windows.in: Likewise.
9060 * util/grub.d/20_linux_xen.in: Likewise.
9061
9062 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 Remove redundant grub_kernel_image_size.
9065
9066 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9067 _edata and _start.
9068 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9069 the small code. It moves it only by few bytes but simplifies the code.
9070 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9071 _start.
9072 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9073 (grub_kernel_image_size): Removed.
9074 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9075 (grub_kernel_image_size): Removed.
9076 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9077 compiled with Apple toolchain.
9078 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9079 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9080 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9081 (grub_total_module_size): Likewise.
9082 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9083 Removed.
9084 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9085 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9086 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9087 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9088 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9089 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9090 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9091 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9092 Removed.
9093 (grub_total_module_size): Removed.
9094 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9095 (image_targets): Likewise.
9096 Set .compressed_size to no field on sparc.
9097 (generate_image): Remove kernel_image_size handling.
9098
9099 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9100
9101 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9102 NULL pointer dereference.
9103
9104 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9107 done with a dedicated section.
9108
9109 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9110 Ensure the correct position of boot_path.
9111 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9112 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9113 other fields.
9114 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9115 * include/grub/boot.h: Removed. All references removed.
9116 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9117 Removed.
9118 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9119
9120 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9123 name.
9124
9125 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9128
9129 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9132 Don't add the bogus brackets.
9133
9134 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 ExFAT support.
9137
9138 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9139 * grub-core/Makefile.core.def (exfat): New module.
9140 * grub-core/fs/exfat.c: New file.
9141 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9142 (GRUB_FAT_ATTR_*): Make into an enum.
9143 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9144 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9145 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9146 (GRUB_FAT_MAXFILE): Removed.
9147 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9148 (grub_current_fat_bpb_t): New type.
9149 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9150 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9151 (grub_fat_dir_node_t): New type.
9152 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9153 (fat_log2) [MODE_EXFAT]: Removed.
9154 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9155 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9156 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9157 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9158 (grub_fat_label) [MODE_EXFAT]: New function.
9159 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9160 reserved_first_sector to 0.
9161
9162 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 Move grub_reboot out of the kernel.
9165
9166 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9167 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9168 * grub-core/lib/efi/reboot.c: ... here.
9169 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9170 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9171 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9172 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9173 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9174 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9175 * grub-core/lib/ieee1275/reboot.c: ... here.
9176 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9177 * grub-core/lib/mips/arc/reboot.c: ... here.
9178 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9179 * grub-core/lib/mips/loongson/reboot.c: ...here.
9180 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9181 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9182 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9183 * include/grub/i386/reboot.h: New file.
9184 * include/grub/mips/loongson/ec.h: Fix includes.
9185 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9186 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9187 * grub-core/lib/i386/reboot.c: New file.
9188
9189 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 Make grub_prefix into module to fix the arbitrary limit and save
9192 some space.
9193
9194 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9195 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9196 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9197 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9198 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9199 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9200 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9201 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9202 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9203 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9204 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9205 * include/grub/ia64/efi/kernel.h: Removed.
9206 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9207 (grub_prefix): Removed.
9208 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9209 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9210 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9211 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9212 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9213 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9214 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9215 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9216 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9217 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9218 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9219 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9220 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9221 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9222 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9223 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9224 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9225 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9226 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9227 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9228 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9229 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9230 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9231 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9232 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9233 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9234 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9235 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9236 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9237 from module.
9238 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9239 prefix_end.
9240 (image_targets): Likewise.
9241 (generate_image): Put prefix as a module.
9242
9243 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 Replace grub_module_iterate with FOR_MODULES.
9246
9247 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9248 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9249 (grub_efi_modules_addr): ...this.
9250 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9251 (grub_efi_init): Set grub_modbase.
9252 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9253 (grub_modbase): New variable.
9254 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9255 (grub_modbase): New variable.
9256 (grub_machine_init): Set grub_modbase.
9257 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9258 (grub_modbase): New variable.
9259 (grub_machine_init): Set grub_modbase.
9260 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9261 (grub_modbase): New variable.
9262 (grub_machine_init): Set grub_modbase.
9263 * grub-core/kern/main.c (grub_module_iterate): Remove.
9264 (grub_modules_get_end): Use grub_modbase.
9265 (grub_load_modules): Use FOR_MODULES.
9266 (grub_load_config): Likewise.
9267 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9268 (grub_modbase): New variable.
9269 (grub_machine_init): Set grub_modbase.
9270 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9271 (grub_modbase): New variable.
9272 (grub_machine_init): Set grub_modbase.
9273 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9274 Removed.
9275 (grub_modbase): New variable.
9276 (grub_machine_init): Set grub_modbase.
9277 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9278 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9279 (grub_module_iterate): Likewise.
9280 (grub_modbase): New variable declaration.
9281 (FOR_MODULES): New macro.
9282
9283 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9286 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9287
9288 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 Fix few obvious type discrepancies.
9291
9292 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9293 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9294 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9295 variable.
9296 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9297 and connected types.
9298 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9299 offset.
9300 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9301 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9302 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9303 and connected types.
9304
9305 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Fix python 3.x incompatibilities.
9308
9309 * gentpl.py: Put brackets around print strings.
9310 * util/import_gcry.py: Open explicitly as utf-8.
9311 Use in instead of has_key.
9312
9313 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9316 (GRUB_XFS_INO_AGBITS): Make into inline function.
9317 (GRUB_XFS_INO_INOINAG): Likewise.
9318 (GRUB_XFS_INO_AG): Likewise.
9319 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9320 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9321 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9322 (GRUB_XFS_EXTENT_SIZE): Likewise.
9323 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9324 (GRUB_XFS_NEXT_DIRENT): Likewise.
9325 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9326 (grub_xfs_read_file): Fix offset type.
9327
9328 2011-10-15 Robert Millan <rmh@gnu.org>
9329
9330 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9331
9332 2011-10-15 Robert Millan <rmh@gnu.org>
9333
9334 Fix build problem on FreeBSD and GNU/kFreeBSD.
9335
9336 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9337
9338 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9341
9342 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9343 types.
9344 (grub_hfsplus_btree_recoffset): Likewise.
9345 (grub_hfsplus_btree_recptr): Likewise.
9346 (grub_hfsplus_find_block): Likewise.
9347 (grub_hfsplus_btree_search): Likewise.
9348 (grub_hfsplus_read_block): Likewise.
9349 (grub_hfsplus_read_file): Likewise.
9350 (grub_hfsplus_mount): Likewise.
9351 (grub_hfsplus_btree_iterate_node): Likewise.
9352 (grub_hfsplus_btree_search): Likewise.
9353 (grub_hfsplus_iterate_dir): Likewise.
9354 (grub_hfsplus_read): A small code simplification.
9355
9356 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * grub-core/kern/emu/hostdisk.c
9359 (convert_system_partition_to_system_disk): Don't assume that children
9360 of mapper nodes are mapper nodes.
9361
9362 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9365 * include/grub/misc.h (grub_isxdigit): New function.
9366 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9367 switched to grub_isxdigit.
9368 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9369 number starting with a letter.
9370
9371 2011-10-09 Robert Millan <rmh@gnu.org>
9372
9373 LVM support for FreeBSD and GNU/kFreeBSD.
9374
9375 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9376 GNU/kFreeBSD.
9377 (LVM_DEV_MAPPER_STRING): Move from here ...
9378 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9379 * util/getroot.c: Include `<grub/util/lvm.h>'.
9380 (grub_util_get_dev_abstraction): Enable
9381 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9382 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9383 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9384 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9385 support it.
9386 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9387 GNU/kFreeBSD.
9388 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9389 when LVM abstraction is required for ${GRUB_DEVICE}.
9390
9391 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9392
9393 Add support for LZO compression in GRUB:
9394 - import of minilzo library,
9395 - LZO decompression for btrfs,
9396 - lzop files decompression.
9397
9398 * grub-core/io/lzopio.c: New file.
9399 * grub-core/lib/adler32.c: Likewise.
9400 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9401 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9402 * grub-core/lib/minilzo/minilzo.c: Likewise.
9403 * grub-core/lib/minilzo/minilzo.h: Likewise.
9404 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9405 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9406 grub-core/lib/minilzo/minilzo.c to common.
9407 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9408 cflags in cppflags.
9409 * grub-core/Makefile.core.def (btrfs): Likewise.
9410 * grub-core/Makefile.core.def (lzopio): New module.
9411 (adler32): Likewise.
9412 * grub-core/fs/btrfs.c: Include minilzo.h.
9413 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9414 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9415 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9416 (grub_btrfs_lzo_decompress): New function.
9417 (grub_btrfs_extent_read): Add support for LZO compression type.
9418 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9419 (GRUB_USHRT_MAX): Likewise.
9420 (GRUB_UINT_MAX): Likewise.
9421 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9422 (UINT_MAX): Likewise.
9423 (CHAR_BIT): Likewise.
9424 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9425 grub-core/lib/posix_wrap/limits.h
9426 (UCHAR_MAX): Likewise.
9427 * include/grub/file.h (grub_file_filter_id): New compression filter
9428 GRUB_FILE_FILTER_LZOPIO.
9429 * include/grub/file.h (grub_file_filter_id): Set
9430 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9431 * include/grub/types.h (grub_get_unaligned16): New function.
9432 (grub_get_unaligned32): Likewise.
9433 (grub_get_unaligned64): Likewise.
9434 * util/import_gcry.py (cryptolist): Add adler32.
9435
9436 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9439 in perspective decreases the complexity of build system and fixes
9440 compilation right now.
9441
9442 2011-10-01 Ales Nesrsta <starous@volny.cz>
9443
9444 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9445 (fixed problem related to using UHCI with coreboot).
9446
9447 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9448
9449 * gentpl.py: Use Autogen macros so that the output template file
9450 (Makefile.tpl) size is reduced.
9451
9452 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9453
9454 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9455 extra_dist.
9456
9457 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9458
9459 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9460 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9461
9462 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9463
9464 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9465 _fullpath.
9466
9467 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9468
9469 Remove extra declaration of sleep for mingw32.
9470
9471 * util/misc.c (sleep) [__MINGW32__]: Removed.
9472 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9473
9474 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9475
9476 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9477 type and packname.
9478 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9479 Resurrected.
9480 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9481 (grub_netbsd_btinfo_bootwedge): New struct.
9482 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9483 New function.
9484 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9485
9486 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9487
9488 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9489 loader.
9490
9491 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9492
9493 Fix incorrect identifiers in bash-completion.
9494
9495 * util/bash-completion.d/grub-completion.bash.in
9496 (_grub_mkpasswd-pbkdf2): Rename to ...
9497 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9498 (_grub_script-check): Rename to ...
9499 (_grub_script_check): ... this. All users updated.
9500
9501 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9504 Return 0 if disk isn't biosdisk.
9505
9506 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9507
9508 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9509 on NetBSD.
9510 * Makefile.util.def (grub-fstest): Likewise.
9511
9512 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9513
9514 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9515 Get sector size from disk label.
9516
9517 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9518
9519 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9520 */README* as well as README*.
9521 Reported by: Axel Beckert.
9522
9523 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9526 case of less than 256 MiB of RAM.
9527
9528 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * grub-core/commands/wildcard.c (make_regex): Handle @.
9531
9532 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9535
9536 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9537
9538 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9539 AC_LANG_CONFTEST macros.
9540
9541 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9542
9543 Add grub-fstest option to uncompress data for commands.
9544
9545 * util/grub-fstest.c (uncompress): New var.
9546 (options): New option -u.
9547
9548 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9549
9550 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9551 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9552
9553 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9554
9555 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9556 file type was not recognized correctly (not gzip or corrupted).
9557
9558 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9561 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9562
9563 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9566 loongson.
9567 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9568 video_radeon_fuloong2e.
9569 * grub-core/video/radeon_fuloong2e.c: New file.
9570 * include/grub/video.h (grub_video_id_t): Add new ID
9571 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9572
9573 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9576 define.
9577 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9578 that PRID matches the detected subplatform and reset the subplatform
9579 if it doesn't.
9580
9581 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9584
9585 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 Fix PCI iterating on functions >= 4.
9588
9589 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9590 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9591 Removed.
9592 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9593 (grub_pci_read): Fix bitmask.
9594 (grub_pci_read_word): Likewise.
9595 (grub_pci_read_byte): Likewise.
9596 (grub_pci_write): Likewise.
9597 (grub_pci_write_word): Likewise.
9598 (grub_pci_write_byte): Likewise.
9599
9600 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9603 can still be specified in TARGET_CFLAGS)
9604
9605 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9608
9609 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9610 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9611 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9612 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9613 (FULOONG): Rename to ...
9614 (FULOONG2F): ... this. All users updated.
9615 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9616 (machtype_fuloong2f_str): ... this.
9617 (machtype_fuloong2e_str): New string.
9618 Check for machtype_fuloong2e_str.
9619 * grub-core/loader/mips/linux.c (loongson_machtypes)
9620 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9621 * grub-core/term/serial.c (loongson_defserial)
9622 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9623 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9624 loongson_defserial.
9625 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9626 Rename to ...
9627 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9628 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9629 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9630 to IMAGE_FULOONG2F_FLASH. All users updated.
9631 (image_targets): Rename images.
9632 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9633
9634 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9635
9636 Make enable of disk cache statistics code configurable.
9637
9638 * configure.ac: --enable-cache-stats added.
9639 * config.h.in (DISK_CACHE_STATS): New define.
9640 * grub-core/Makefile.core.def (cacheinfo): New command.
9641 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9642 * grub-core/commands/cacheinfo.c: New file.
9643 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9644 moved to cacheinfo.c.
9645 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9646 debug code.
9647 * include/grub/disk.h: Likewise.
9648
9649 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9650
9651 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9652 * grub-core/Makefile.am: Likewise.
9653
9654 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9657 non-zero pull.
9658
9659 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9662 All users updated.
9663 (grub_jfs_lookup_symlink): Use correct starting inode.
9664
9665 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * util/grub-setup.c (main): Add missing gcry initialisation.
9668
9669 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 Don't accept text modes on EFI when booting Linux.
9672
9673 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9674 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9675
9676 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9677 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9678
9679 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9680 use of "/path/.." as in grub-install for EFI as well as handling
9681 symlinks correctly.
9682 Fixes Debian bug #637768.
9683
9684 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9685
9686 * util/grub-probe.c: Remove duplicate #include.
9687
9688 2011-08-10 Robert Millan <rmh@gnu.org>
9689
9690 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9691
9692 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9693 function.
9694 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9695 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9696
9697 2011-08-03 Robert Millan <rmh@gnu.org>
9698
9699 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9700 la_array as packed.
9701 Reported by: Zachary Bedell
9702
9703 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9704
9705 * configure.ac: The Loongson port requires grub-mkfont due to its
9706 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9707 be built.
9708
9709 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9710
9711 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9712 processing arguments (otherwise help2man fails when GRUB has not yet
9713 been installed).
9714
9715 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 New script grub-mkstandalone.
9718
9719 * Makefile.util.def (grub-mkstandalone): New script.
9720 * docs/man/grub-mkstandalone.h2m: New file.
9721 * util/grub-mkstandalone.in: Likewise.
9722
9723 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 Support ATA disks with 4K sectors.
9726
9727 * include/grub/ata.h (grub_ata): New member log_sector_size.
9728 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9729 (grub_ata_identify): Read sector size.
9730 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9731
9732 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * util/grub-install.in: Don't use uhci outside of x86.
9735
9736 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * util/grub-mkrescue.in: Add missing quotes.
9739
9740 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9743 dereference.
9744
9745 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9748
9749 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * include/grub/video.h: add missing EXPORT_FUND on
9752 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9753
9754 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * include/grub/mips/kernel.h: Fix define conflict.
9757
9758 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9761 all four ways.
9762
9763 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9764
9765 Preferred resolution detection for VBE.
9766
9767 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9768 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9769 the Flat Panel extension, in line with the X.org VESA driver.
9770 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9771 New function.
9772 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9773 (grub_vbe_bios_read_edid): Likewise.
9774 (grub_vbe_get_preferred_mode): Likewise.
9775 (grub_video_vbe_setup): When the mode is "auto", try to get the
9776 preferred mode from VBE, and use the largest mode that is no larger
9777 than the preferred mode (some BIOSes expose a preferred mode that is
9778 not in their mode list!). If this fails, fall back to 640x480 as a
9779 safe conservative choice.
9780 (grub_video_vbe_get_edid): New function.
9781 (grub_video_vbe_adapter): Add get_edid.
9782 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9783 (struct grub_video_adapter): Add get_edid.
9784 (grub_video_edid_checksum): Add prototype.
9785 (grub_video_edid_preferred_mode): Likewise.
9786 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9787 structure.
9788
9789 * grub-core/commands/videoinfo.c (print_edid): New function.
9790 (grub_cmd_videoinfo): Print EDID if available.
9791
9792 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9793 is more appropriate on a wider range of platforms than 640x480.
9794 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9795 documentation.
9796
9797 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9800
9801 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * po/POTFILES.in: Regenerate.
9804
9805 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9808 incorrect memory usage.
9809
9810 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * util/grub-install.in: Source grub-mkconfig_lib.
9813
9814 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 Remove getroot.c from core on emu platform.
9817
9818 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9819 kern/emu/raid.c.
9820 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9821 useless.
9822 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9823 * util/getroot.c (get_win32_path): ... here.
9824 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9825 * util/getroot.c (fini_libzfs): ... here.
9826 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9827 * util/getroot.c (grub_get_libzfs_handle): ... here.
9828 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9829 Moved from here...
9830 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9831 * grub-core/kern/emu/misc.c
9832 (grub_make_system_path_relative_to_its_root): Moved from here...
9833 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9834 * grub-core/kern/emu/getroot.c: Moved from here ...
9835 * util/getroot.c: ... here. All users updated.
9836 * grub-core/kern/emu/raid.c: Moved from here ...
9837 * util/raid.c: ... here. All users updated.
9838
9839 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * po/POTFILES.in: Regenerate.
9842
9843 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 Fix compilation on GNU/Linux.
9846
9847 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9848 Disable geli.
9849 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9850 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9851 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9852
9853 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9854 2011-07-07 Michael Gorven <michael@gorven.za.net>
9855 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9856
9857 LUKS and GELI support.
9858
9859 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9860 grub-core/disk/luks.c, grub-core/disk/geli.c,
9861 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9862 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9863 grub-core/lib/arg.c.
9864 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9865 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9866 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9867 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9868 (grub-bin2h): Add libgcry.a.
9869 (grub-mkimage): Likewise.
9870 (grub-mkrelpath): Likewise.
9871 (grub-script-check): Likewise.
9872 (grub-editenv): Likewise.
9873 (grub-mkpasswd-pbkdf2): Likewise.
9874 (grub-pe2elf): Likewise.
9875 (grub-fstest): Likewise.
9876 (grub-mkfont): Likewise.
9877 (grub-mkdevicemap): Likewise.
9878 (grub-probe): Likewise.
9879 (grub-ofpath): Likewise.
9880 (grub-mklayout): Likewise.
9881 (example_unit_test): Likewise.
9882 (grub-menulst2cfg): Likewise.
9883 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9884 * grub-core/Makefile.core.def (cryptodisk): New module.
9885 (luks): Likewise.
9886 (geli): Likewise.
9887 * grub-core/disk/AFSplitter.c: New file.
9888 * grub-core/disk/cryptodisk.c: Likewise.
9889 * grub-core/disk/geli.c: Likewise.
9890 * grub-core/disk/luks.c: Likewise.
9891 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9892 grub_util_is_lvm.
9893 (grub_util_get_dm_abstraction): New function.
9894 (grub_util_follow_gpart_up): Likewise.
9895 (grub_util_get_geom_abstraction): Likewise.
9896 (grub_util_get_dev_abstraction): Use new functions.
9897 (grub_util_pull_device): Pull GELI and LUKS.
9898 (grub_util_get_grub_dev): Handle LUKS and GELI.
9899 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9900 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9901 (follow_geom_up): Removed.
9902 (grub_util_fd_seek): New function.
9903 (open_device): Use grub_util_fd_seek.
9904 (nread): Rename to ..
9905 (grub_util_fd_read): ... this. All users updated.
9906 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9907 (grub_crypto_cbc_decrypt): Likewise.
9908 (grub_crypto_hmac_write): Likewise.
9909 (grub_crypto_hmac_buffer): Likewise.
9910 (grub_password_get): Extend to util.
9911 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9912 New member modname.
9913 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9914 * include/grub/cryptodisk.h: New file.
9915 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9916 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9917 LUKS and GELI.
9918 (grub_util_follow_gpart_up): New proto.
9919 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9920 (grub_util_fd_read): Likewise.
9921 (grub_cryptodisk_cheat_mount): Likewise.
9922 (grub_util_cryptodisk_print_uuid): Likewise.
9923 (grub_util_get_fd_sectors): Likewise.
9924 * util/grub-fstest.c (mount_crypt): New var.
9925 (fstest): Mount crypto if requested.
9926 (options): New option -C.
9927 (argp_parser): Parse -C.
9928 (main): Init and fini gcry.
9929 * util/grub-install.in: Support cryptodisk install.
9930 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9931 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9932 cryptodisk.
9933 (prepare_grub_to_access_device): Likewise.
9934 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9935 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9936 (probe_cryptodisk_uuid): New function.
9937 (probe_abstraction): Likewise.
9938 (probe): Use new functions.
9939 * util/import_gcry.py: Create Makefile.utilgcry.def.
9940 Add modname member.
9941
9942 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 Lazy device scanning.
9945
9946 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9947 (grub-setup): Remove util/raid.c.
9948 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9949 * grub-core/disk/lvm.c (scan_depth): New variable.
9950 (grub_lvm_iterate): Rescan if necessary.
9951 (find_lv): New function based on grub_lvm_open.
9952 (grub_lvm_open): Use find_lv. Rescan on error.
9953 (is_node_readable): New function.
9954 (is_lv_readable): Likewise.
9955 (grub_lvm_scan_device): Skip already found disks.
9956 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9957 Stop if searched device is found and readable.
9958 * grub-core/disk/raid.c (inscnt): New variable.
9959 (scan_depth): Likewise.
9960 (scan_devices): New function based on grub_raid_register. Abort if
9961 looked for device is found.
9962 (grub_raid_iterate): Rescan if needed.
9963 (find_array): NEw function based on -grub_raid_open.
9964 (grub_raid_open): Use find_array and rescan.
9965 (insert_array): Set became_readable_at.
9966 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9967 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9968 New function.
9969 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9970 (grub_util_pull_device): New function.
9971 (grub_util_get_grub_dev): Call grub_util_pull_device.
9972 * util/raid.c: Moved to ..
9973 * grub-core/kern/emu/raid.c: ... here.
9974 (grub_util_raid_getmembers): New parameter "bootable".
9975 All users updated. Support 1.x.
9976 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9977 All users updated.
9978 * include/grub/disk.h (grub_disk_pull_t): New enum.
9979 (grub_disk_dev): Change iterate prototype.
9980 All users updated.
9981 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9982 New proto.
9983 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9984 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9985 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9986 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9987 All users updated.
9988 * include/grub/util/raid.h: Removed.
9989
9990 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * po/POTFILES.in: Regenerate.
9993
9994 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 Unify sparc init with other ieee1275.
9997
9998 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9999 instead of kern/sparc64/ieee1275/init.c.
10000 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10001 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10002 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10003 grub/machine/kernel.h.
10004 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10005 (grub_claim_heap) [__sparc__]: Use sparc version.
10006 (grub_machine_init): Moved args parsing to
10007 (grub_parse_cmdline): ...this.
10008 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10009 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10010 New definition.
10011 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10012
10013 Move BOOTP to separate file.
10014
10015 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10016 * grub-core/net/net.c: Move all BOOTP functions to
10017 * grub-core/net/bootp.c: ... here.
10018
10019 Use frame interface on PXE.
10020
10021 * grub-core/Makefile.core.def (pxecmd): Removed.
10022 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10023 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10024 * grub-core/i386/pc/pxe.c: Moved from here ...
10025 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10026 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10027 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10028
10029 EFI network support.
10030
10031 * grub-core/Makefile.core.def (efinet): New module.
10032 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10033 here...
10034 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10035 All users updated.
10036 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10037 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10038 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10039 * grub-core/net/drivers/efi/efinet.c: New file.
10040 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10041 (grub_efi_net_config): New extern var.
10042
10043 Various cleanups and bugfixes.
10044
10045 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10046 error.
10047 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10048 disk declared as partition.
10049 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10050 leak on failure.
10051 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10052 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10053 (grub_debug_zalloc): Likewise.
10054 (grub_debug_realloc): Likewise.
10055 (grub_debug_memalign): Likewise.
10056 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10057 Check that target is IPv4.
10058 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10059 local-mac-address as fallback.
10060 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10061 memory leak.
10062 * grub-core/net/ip.c (ipchksum): Rename to ...
10063 (grub_net_ip_chksum): ... this. All users updated.
10064 (grub_net_recv_ip_packets): Special handling for DHCP.
10065 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10066
10067 Unify prefix handling
10068
10069 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10070 (grub_machine_get_bootlocation): ... this.
10071 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10072 (grub_machine_get_bootlocation): ... this.
10073 (grub_prefix): New variable.
10074 (prefix): Removed.
10075 (root_dev): New variable.
10076 (dir): Likewise.
10077 (main): Use new variables.
10078 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10079 Revamped into ...
10080 (grub_machine_get_bootlocation): ... this.
10081 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10082 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10083 (grub_machine_get_bootlocation): ... this.
10084 (grub_machine_set_prefix): Removed.
10085 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10086 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10087 Revamped into ...
10088 (grub_machine_get_bootlocation): ... this.
10089 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10090 (grub_set_prefix_and_root): ... this. All users updated.
10091 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10092 Revamped into ...
10093 (grub_machine_get_bootlocation): ... this.
10094 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10095 (grub_machine_get_bootlocation): New proto.
10096 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10097
10098 Less intrusive and more reliable seek on network implementation.
10099
10100 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10101 (grub_file_seek): Don't call grub_file_net_seek.
10102 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10103 (grub_net_fs_read_real): .. this.
10104 (grub_net_seek_real): Use net->offset.
10105 (grub_net_fs_read): Seek if necessary.
10106
10107 Unify IEEE1275 netwotk config with the other platforms.
10108
10109 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10110 New variable.
10111 (grub_machine_get_bootlocation): Support network.
10112 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10113 Support type and device parsing.
10114 (grub_ieee1275_get_device_type): New function.
10115 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10116 into ...
10117 (grub_ieee1275_net_config_real): ... this.
10118 (grub_ofnet_probecards): Removed.
10119 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10120 * include/grub/ieee1275/ofnet.h: Removed.
10121 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10122 extern var.
10123 (grub_ieee1275_get_device_type): New function.
10124
10125 Unify network device closing across platforms and make more robust.
10126
10127 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10128 grub_grubnet_fini.
10129 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10130 already.
10131 * grub-core/net/net.c (grub_net_network_level_interface_register):
10132 Update num_ifaces.
10133 (grub_net_card_unregister): Close all interfaces.
10134 (receive_packets): Don't poll if no iterfaces are registered.
10135 Open if necessary.
10136 (grub_net_fini_hw): New function.
10137 (grub_net_restore_hw): Likewise.
10138 (fini_hnd): New variable.
10139 (GRUB_MOD_INIT): Register preboot hook.
10140 (GRUB_MOD_FINI): Run and unregister preboot hook.
10141
10142 Poll network cards when idle.
10143
10144 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10145 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10146 * grub-core/net/net.c (receive_packets): Save last poll time.
10147 (grub_net_poll_cards_idle_real): New function.
10148 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10149 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10150 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10151
10152 Rename ofnet interfaces.
10153
10154 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10155 (grub_ofnet_findcards): Use ofnet_%s names.
10156
10157 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10158
10159 Cleanup socket opening.
10160
10161 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10162 (grub_net_fs_close): Likewise.
10163 (grub_net_fs_read_real): Use eof member.
10164 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10165 (+grub_net_udp_close): New inline function.
10166
10167 * include/grub/net/tftp.h: Moved to the top of ...
10168 * grub-core/net/tftp.c: ... here.
10169 * include/grub/net/ip.h: Moved mostly to the top of ...
10170 * grub-core/net/ip.c: ... here.
10171 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10172 * grub-core/net/ethernet.c: ... here.
10173
10174 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10175
10176 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10177 FS name.
10178
10179 * include/grub/net/ip.h (ipv4_ini): Removed.
10180 (ipv4_fini): Likewise.
10181
10182 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10183 (grub_net_send_ip_packets): Likewise.
10184
10185 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10188 grub_read_cmos prototype.
10189
10190 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 VGA text support in qemu-mips
10193
10194 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10195 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10196 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10197 text.
10198 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10199 * grub-core/kern/vga_init.c: ... this.
10200 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10201 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10202 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10203 Adjust.
10204 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10205 GRUB_MACHINE_PCI_IO_BASE.
10206
10207 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 MIPS qemu flash support.
10210
10211 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10212 magic.
10213 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10214 (grub_machine_init): Probe memory if its size isn't known.
10215 * util/grub-mkimage.c (image_targets): Add flash targets.
10216 (generate_image): Handle flash targets.
10217
10218 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 MIPS qemu at_keyboard support.
10221
10222 * gentpl.py (videoinkernel): Add qemu-mips.
10223 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10224 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10225 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10226 modules.
10227 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10228 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10229 * grub-core/term/serial.c (grub_serial_register)
10230 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10231
10232 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 CMOS support on sparc.
10235
10236 * gentpl.py (cmos): Add powerpc and sparc.
10237 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10238 powerpc and sparc.
10239 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10240 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10241 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10242 grub_set_datetime_cmos.
10243 * grub-core/lib/ieee1275/cmos.c: New file.
10244 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10245 (find_rtc): Set no_ieee1275_rtc on error.
10246 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10247 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10248 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10249 fail. Move value to argument. All users updated
10250 (grub_cmos_write): Likewise.
10251 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10252 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10253 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10254 grub_get_datetime_cmos and grub_set_datetime_cmos.
10255
10256 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10257
10258 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10259 sourcing grub-mkconfig_lib.
10260 * util/update-grub_lib.in: Likewise.
10261 * util/grub.d/00_header.in: Likewise.
10262 * util/grub.d/10_hurd.in: Likewise.
10263 * util/grub.d/10_kfreebsd.in: Likewise.
10264 * util/grub.d/10_linux.in: Likewise.
10265 * util/grub.d/10_netbsd.in: Likewise.
10266 * util/grub.d/10_windows.in: Likewise.
10267 * util/grub.d/20_linux_xen.in: Likewise.
10268 * util/grub.d/30_os-prober.in: Likewise.
10269
10270 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10271
10272 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10273 default_bg_color rather than black.
10274 (grub_gfxterm_fullscreen): Likewise.
10275 (grub_gfxterm_background_color_cmd): Save new background color in
10276 default_bg_color.
10277
10278 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10281
10282 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10285 mismerge.
10286
10287 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 Chainloading on coreboot support.
10290
10291 * grub-core/Makefile.core.def (chain): Add coreboot.
10292 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10293
10294 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10297 if it happens.
10298
10299 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 Implement time command.
10302
10303 * grub-core/Makefile.core.def (time): New module.
10304 * grub-core/commands/time.c: New file.
10305 * grub-core/script/parser.y: Remove "time" keyword.
10306 * grub-core/script/yylex.l: Likewise.
10307
10308 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10311
10312 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10315 when handling leftovers.
10316
10317 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10320 so that help2man doesn't fail.
10321
10322 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10325 type in pointers on sparc64.
10326 (get_card_packet): Likewise.
10327
10328 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10329
10330 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10331 with `*'.
10332 (grub_cmd_videoinfo): Fetch current video mode.
10333
10334 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10337 because of underlying system restrictions.
10338
10339 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10342 necessary.
10343
10344 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 Coreboot video support.
10347
10348 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10349 (vbe): Likewise.
10350 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10351 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10352 here ...
10353 * grub-core/kern/i386/int.S: ... here.
10354 * grub-core/video/i386/pc/vbe.c: Updated includes.
10355 * grub-core/video/i386/pc/vga.c: Likewise.
10356 * include/grub/i386/coreboot/memory.h
10357 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10358 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10359 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10360 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10361 Disable interrupts.
10362 * include/grub/i386/pc/vga.h: Removed. All users updated.
10363
10364 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10367 definitions for dprintf.
10368 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10369
10370 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10373 prototype.
10374 (get_card_packet): Likewise.
10375
10376 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10377
10378 Display the path of the file when file is not found
10379
10380 * grub-core/fs/fat.c: Display the filename when file is not found.
10381 * grub-core/fs/fshelp.c: Likewise.
10382 * grub-core/fs/hfs.c: Likewise.
10383 * grub-core/fs/jfs.c: Likewise.
10384 * grub-core/fs/minix.c: Likewise.
10385 * grub-core/fs/ufs.c: Likewise.
10386 * grub-core/fs/btrfs.c: Likewise.
10387 * grub-core/commands/i386/pc/play.c: Likewise.
10388
10389 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10390
10391 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10392 pointer checks before calling grub_free().
10393 * grub-core/commands/wildcard.c (match_devices): Likewise.
10394 * grub-core/commands/wildcard.c (match_files): Likewise.
10395 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10396 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10397 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10398 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10399 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10400 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10401 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10402 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10403 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10404
10405 2011-06-25 Patrick <p55@mailinator.com>
10406
10407 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10408
10409 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10412 (grub_pxe_send): Likewise.
10413 (GRUB_MOD_INIT): Fix types.
10414
10415 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10416
10417 * grub-core/io/xzio.c: Fix code style issues
10418
10419 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10420 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10421
10422 Network infrastructure.
10423 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10424
10425 * include/grub/net/arp.h: New file.
10426 * include/grub/net/device.h: Likewise.
10427 * include/grub/net/ethernet.h: Likewise.
10428 * include/grub/net/ip.h: Likewise.
10429 * include/grub/net/netbuff.h: Likewise.
10430 * include/grub/net/tftp.h: Likewise.
10431 * include/grub/net/udp.h: Likewise.
10432 * include/grub/ieee1275/ofnet.h: Likewise.
10433 * include/grub/emu/export.h: Likewise.
10434 * include/grub/net.h: Likewise.
10435 * grub-core/net/arp.c: Likewise.
10436 * grub-core/net/ethernet.c: Likewise.
10437 * grub-core/net/ip.c: Likewise.
10438 * grub-core/net/udp.c: Likewise.
10439 * grub-core/net/tftp.c: Likewise.
10440 * grub-core/net/netbuff.c: Likewise.
10441 * grub-core/net/net.c: Likewise.
10442 * grub-core/net/drivers/emu/emunet.c: Likewise.
10443 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10445 export.h.
10446 * grub-core/Makefile.core.def (net): New module.
10447 (tftp): Likewise.
10448 (ofnet): Likewise.
10449 (emunet): Likewise.
10450 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10451 network protocols.
10452 * grub-core/kern/device.c (grub_net_open) : New variable.
10453 (grub_device_open): Handle network device.
10454 (grub_device_close): Likewise.
10455 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10456 (grub_grubnet_fini): Likewise.
10457 (grub_file_seek): Seek in network device.
10458 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10459 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10460 network root.
10461 (grub_machine_fini): Call grub_grubnet_fini.
10462 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10463 network.
10464 (grub_ieee1275_get_aliasdevname): New function.
10465 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10466 Add unofficial Solaris network info.
10467 (grub_multiboot_make_mbi): Likewise.
10468 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10469 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10470 * include/grub/device.h (grub_fs): Removed.
10471 * include/grub/err.h (grub_err_t): Add network-related values.
10472 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10473 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10474 (grub_ieee1275_get_aliasdevname): New proto.
10475 * include/grub/net.h: Rewritten.
10476
10477 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10480 names.
10481
10482 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10485 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10486 it truncates the output.
10487 Reported by: Ximin Luo.
10488
10489 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10492
10493 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10496 partmap before abstraction.
10497
10498 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10499
10500 * util/grub-mkconfig_lib.in: Add missing quotes.
10501
10502 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10505 old method if mountinfo would return /dev/root and /dev/root doesn't
10506 exist.
10507
10508 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 ZFS zlib support
10511
10512 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10513 (decomp_table): Add zlib entries.
10514 (zio_read): USe 8 bits for compression function rather than 3.
10515 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10516
10517 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * grub-core/disk/ahci.c: Add missing license statements.
10520 * grub-core/fs/romfs.c: Likewise.
10521 * grub-core/lib/ia64/setjmp.S: Likewise.
10522 * grub-core/loader/i386/pc/freedos.c: Likewise.
10523 * grub-core/loader/ia64/efi/linux.c: Likewise.
10524 * grub-core/video/colors.c: Likewise.
10525 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10526
10527 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 AHCI support.
10530
10531 * grub-core/Makefile.core.def (ata_pthru): Removed.
10532 (ahci): New module.
10533 (pata): Likewise.
10534 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10535 on unload.
10536 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10537 readwrite.
10538 (grub_hdparm_do_check_powermode_cmd): Likewise.
10539 (grub_hdparm_do_smart_cmd): Likewise.
10540 (grub_hdparm_set_val_cmd): Likewise.
10541 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10542 * grub-core/disk/ahci.c: New file.
10543 * grub-core/disk/ata.c: Factor out the low-level part into ...
10544 * grub-core/disk/pata.c: ... here.
10545 * grub-core/disk/ata_pthru.c: Contents moved to ...
10546 * grub-core/disk/pata.c: ... here.
10547 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10548 (grub_scsi_iterate): Use grub_scsi_names.
10549 (grub_scsi_open): Likewise.
10550 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10551 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10552 (grub_ata_regs_t): New struct.
10553 (grub_disk_ata_pass_through_parms): Likewise.
10554 (grub_ata_device): Renamed to ...
10555 (grub_ata): ... this.
10556 (grub_ata_dev): New struct.
10557 Removed all low-level inline functions.
10558 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10559 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10560 iterate hooks and open. All users updated.
10561 * util/grub-install.in: Handle AHCI disk module.
10562
10563 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10564
10565 Add support for DRI and RSTn markers in JPEG files.
10566
10567 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10568 (JPEG_MARKER_RST0): Likewise.
10569 (JPEG_MARKER_RST1): Likewise.
10570 (JPEG_MARKER_RST2): Likewise.
10571 (JPEG_MARKER_RST3): Likewise.
10572 (JPEG_MARKER_RST4): Likewise.
10573 (JPEG_MARKER_RST5): Likewise.
10574 (JPEG_MARKER_RST6): Likewise.
10575 (JPEG_MARKER_RST7): Likewise.
10576 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10577 (grub_jpeg_decode_dri): New function.
10578 (grub_jpeg_decode_sos): Move image data related part into
10579 grub_jpeg_decode_data function.
10580 (grub_jpeg_decode_data): New function.
10581 (grub_jpeg_reset): New function.
10582 (grub_jpeg_decode_jpeg): Handle new markers.
10583
10584 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * util/ieee1275/ofpath.c (check_sas): Close fd.
10587 (main): Free of_path.
10588 Reported by: David Volgyes <dvolgyes>.
10589
10590 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10593 Reported by: David Volgyes <dvolgyes>.
10594
10595 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10598 file after stat.
10599 Reported by: David Volgyes <dvolgyes>.
10600
10601 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10604
10605 Reported by: David Volgyes <dvolgyes>.
10606
10607 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10610 Prevent memory leak.
10611
10612 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10615 (main): Close file.
10616 Reported by: David Volgyes <dvolgyes>.
10617
10618 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10621 to continue if allocation is failed.
10622
10623 Reported by: David Volgyes <dvolgyes>.
10624
10625 2011-06-23 David Volgyes <dvolgyes>
10626
10627 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10628 dereference.
10629
10630 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 Fix spurious warning.
10633
10634 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10635 (acorn_partition_map_find): Use .bin member.
10636
10637 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10640 /dev/root as a valid device.
10641
10642 2011-06-23 Jim Meyering <meyering@redhat.com>
10643
10644 Avoid NULL deref in grub_device_open.
10645
10646 * grub-core/kern/device.c (grub_device_open): Don't dereference
10647 a NULL pointer upon failed grub_env_get.
10648
10649 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 Support non-512B sectors and agglomerate reads.
10652
10653 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10654 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10655 (disk_io_guid): Removed.
10656 (make_devices): Locate solely by BlockIO.
10657 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10658 (grub_efidisk_read): Use read_blocks.
10659 (grub_efidisk_write): Use write_blocks.
10660 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10661 log_sector_size.
10662 (get_safe_sectors): Handle non-512B sectors.
10663 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10664 sectors.
10665 (grub_biosdisk_write): Handle non-512B sectors.
10666 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10667 (grub_scsi_read): Remove special non-512B block handling (now handled
10668 one level up).
10669 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10670 and do sanity checks.
10671 (grub_disk_adjust_range): Handle non-512B sectors.
10672 (transform_sector): New function.
10673 (grub_disk_read_small): Likewise.
10674 (grub_disk_read): Rewritten.
10675 (grub_disk_write): Handle non-512B sectors.
10676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10677 log_sector_size.
10678 (open_device): Use log_sector_size.
10679 (grub_util_biosdisk_read): Likewise.
10680 (grub_util_biosdisk_write): Likewise.
10681 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10682 non-512B sectors.
10683 (pc_partition_map_embed): Likewise.
10684 * include/grub/disk.h (grub_disk): New field log_sector_size.
10685 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10686 (GRUB_DISK_CACHE_BITS): Increased to 6.
10687 * util/grub-fstest.c (fstest): New command testload.
10688 (argp_parser): Likewise.
10689
10690 2011-06-16 Robert Millan <rmh@gnu.org>
10691
10692 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10693 `ata' driver on kernel of FreeBSD 9.
10694
10695 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10696 (get_ataraid_disk_name): New functions.
10697 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10698 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10699 get_ataraid_disk_name() and get_ada_disk_name().
10700
10701 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10702
10703 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10704 input format.
10705
10706 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10707
10708 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10709 `ftp.gnu.org' for `alpha.gnu.org'.
10710
10711 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10712
10713 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10714 partitions under /dev/disk/by-id/.
10715
10716 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10717
10718 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10719 after ten consecutive open failures. Scanning all the way up to
10720 10000 is excessive and can cause serious performance problems in
10721 some configurations.
10722 Fixes Ubuntu bug #787461.
10723
10724 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10727 opening new one.
10728
10729 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10730 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 Don't stat devices unless we have to.
10733
10734 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10735 dir == /dev/mapper.
10736 (grub_guess_root_device): Use already known os_dev if possible.
10737 * grub-core/kern/emu/hostdisk.c
10738 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10739 if device is known to be a dm one.
10740
10741 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10742
10743 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10744 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10745 Reported by: Pawel Tecza.
10746
10747 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10750 (lsefisystab): Likewise.
10751 (lssal): Likewise.
10752 (lsefimmap): Likewise.
10753 (hdparm): Enable on qemu-mips.
10754 (setjmp): Add ia64 nodist.
10755 (serial): Simplify tags.
10756
10757 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10758
10759 * Makefile.util.def (grub-ofpathname): Install manual page.
10760
10761 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10762
10763 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10764
10765 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10766
10767 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10768
10769 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10772 into dprintf.
10773
10774 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 Use full 64-bit division.
10777
10778 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10779 (grub_divmod64): ... this.
10780 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10781 version.
10782
10783 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10784
10785 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10786 `source'.
10787
10788 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10789
10790 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10791 to avoid accidents when debugging with 'sh -x'.
10792 * grub-core/gensyminfo.sh.in: Likewise.
10793 * tests/example_scripted_test.in: Likewise.
10794 * tests/grub_cmd_regexp.in: Likewise.
10795 * tests/grub_script_blanklines.in: Likewise.
10796 * tests/grub_script_dollar.in: Likewise.
10797 * tests/grub_script_expansion.in: Likewise.
10798 * tests/grub_script_final_semicolon.in: Likewise.
10799 * tests/partmap_test.in: Likewise.
10800 * tests/util/grub-shell-tester.in: Likewise.
10801 * tests/util/grub-shell.in: Likewise.
10802
10803 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10804
10805 Move gfxmenu color handling to video, so that gfxterm can use it
10806 too.
10807
10808 * grub-core/gfxmenu/named_colors.c: Move to ...
10809 * grub-core/video/colors.c: ... here. Rename
10810 grub_gui_get_named_color to grub_video_get_named_color.
10811 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10812 * grub-core/video/colors.c (my_isxdigit): ... here.
10813 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10814 Move to ...
10815 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10816 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10817 to ...
10818 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10819
10820 * include/grub/gui.h (grub_gui_color_t): Move to ...
10821 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10822 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10823 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10824 * include/grub/gui.h (grub_gui_map_color): Move to ...
10825 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10826 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10827 to ...
10828 * include/grub/video.h (grub_video_get_named_color): ... here.
10829 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10830 * include/grub/video.h (grub_video_parse_color): ... here.
10831
10832 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10833 video/colors.c.
10834 (gfxmenu): Remove gfxmenu/named_colors.c.
10835 (video) [videomodules]: Add video/colors.c.
10836
10837 Add a background_color command.
10838
10839 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10840 function.
10841 (GRUB_MOD_INIT): Register background_color command.
10842 (GRUB_MOD_FINI): Unregister background_color command.
10843 (redraw_screen_rect): Allow blend/replace of text layer to be
10844 controlled independently from whether there is a background bitmap.
10845 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10846 changing bitmap.
10847
10848 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 Patch BPB in ntldr and chainloader --bpb.
10851
10852 * grub-core/fs/fat.c: Include grub/fat.h.
10853 (grub_fat_bpb): Moved to ...
10854 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10855 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10856 grub/ntfs.h.
10857 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10858 Moved from here...
10859 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10860 here.
10861 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10862 New function.
10863 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10864 (GRUB_MOD_INIT): Show --bpb.
10865 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10866 * grub-core/normal/main.c (features): New variable.
10867 (GRUB_MOD_INIT): Set feature_* variables.
10868 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10869 proto.
10870 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10871
10872 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10875 for cleanness.
10876
10877 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 FreeDOS direct loading support.
10880
10881 * docs/grub.texi (Supported OS): Add FreeDOS.
10882 * grub-core/Makefile.core.def (freedos): New module.
10883 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10884 variable.
10885 (grub_relocator16_boot): Handle %ebx.
10886 * grub-core/lib/i386/relocator16.S: Likewise.
10887 * grub-core/loader/i386/pc/freedos.c: New file.
10888
10889 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 Long Linux command line support.
10892
10893 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10894 (maximal_cmdline_size): New variable.
10895 (allocate_pages): Use maximal_cmdline_size.
10896 (grub_cmd_linux): Set and use maximal_cmdline_size.
10897 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10898 (allocate_pages): Use maximal_cmdline_size.
10899 (grub_cmd_linux): Set and use maximal_cmdline_size.
10900 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10901 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10902 and cmdline_size.
10903
10904 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10905 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10906
10907 Improve devmapper support
10908
10909 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10910 (grub_util_is_lvm): New function.
10911 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10912 than lvm if not dmraid.
10913 Handle mapped md nodes.
10914 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10915 (grub_util_device_is_mapped): ... this. Make always available. All users
10916 updated.
10917 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10918 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10919 dmraid nodes.
10920 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10921
10922 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10925
10926 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10927 * grub-core/modinfo.sh.in: New file.
10928 * grub-core/Makefile.core.def (modinfo.sh): New script.
10929 * util/grub-mknetdir.in: Use modinfo.sh.
10930 * util/grub-mkrescue.in: Likewise.
10931
10932 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10933
10934 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10935 Fix potential usage of Elf32 instead of Elf64 when compiling on
10936 32-bit architecture. Add endianness macros while on it.
10937
10938 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 Use mipsel- rather than mips- in directories involving mipsel ports to
10941 allow both endiannesses coexist.
10942
10943 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10944 mips. All conditions adjusted.
10945 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10946 variable.
10947 * util/grub-install.in: Adjust conditions to take renaming into account.
10948 * util/grub-mkimage.c (image_targets): Likewise. New target
10949 mips-qemu_mips-elf for bigendian mips.
10950
10951 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 Avoid unnecessary copying on MIPS.
10954
10955 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10956 early if src == dest.
10957 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10958 compression is none.
10959
10960 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 Reduce memory footprint on SGI by putting modules before the kernel
10963 as opposed to after.
10964
10965 * grub-core/Makefile.core.def (kernel): Increase linking address.
10966 (none_decompress): Likewise.
10967 (xz_decompress): Likewise.
10968 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10969 address.
10970 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10971 layout change.
10972 (grub_arch_modules_addr): New function.
10973 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10974 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10975 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10976 here.
10977 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10978 (grub_total_modules_size): ... this. Make global.
10979 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10980 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10981 New definition.
10982 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10983 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10984 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10985 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10986 * util/grub-mkimage.c (image_target_desc): New flag
10987 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10988 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10989 (generate_image): Handle images with modules before kernel.
10990
10991 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 Prevent potential loss of memory map by overwrite on qemu-mips.
10994
10995 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10996 Save ram size in $s4.
10997 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10998 All users changed to grub_arch_memsize.
10999 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11000 Loongson.
11001 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11002 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11003 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11004 external variable.
11005
11006 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11007
11008 * .bzrignore: Remove grub-dumpbios.
11009
11010 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11011
11012 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11013 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11014 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11015 existing options which append).
11016 * docs/grub.texi (Simple configuration): Document new options.
11017 Reported by: Ian Jackson. Fixes Debian bug #617538.
11018
11019 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11020
11021 * util/grub-fstest.c (cmd_cat): New function.
11022 (fstest): Handle CMD_CAT.
11023 (options): Add cat.
11024 (argp_parser): Handle cat.
11025
11026 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11027
11028 * Makefile.util.def (grub-bin2h): Don't install.
11029 * docs/man/grub-bin2h.h2m: Remove.
11030
11031 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11034 place.
11035
11036 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 Reenable qemu-mips port.
11039
11040 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11041 Fix small arc bug while on it.
11042 * gentpl.py: Handle qemu_mips.
11043 * grub-core/Makefile.am: Likewise.
11044 * grub-core/Makefile.core.def: Likewise.
11045 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11046 inappropriate includes.
11047 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11048 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11049 * grub-core/kern/main.c (grub_modules_get_end)
11050 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11051 * grub-core/kern/mips/qemu-mips: Moved to ..
11052 * grub-core/kern/mips/qemu_mips: ... this.
11053 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11054 (grub_machine_init): Call terminfo_init and serial_init.
11055 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11056 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11057 New variable.
11058 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11059 parameter passing.
11060 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11061 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11062 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11063 * include/grub/mips/qemu_mips/cmos.h: New file.
11064 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11065 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11066 Removed.
11067 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11068 Use correct mips-style address.
11069 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11070 (GRUB_TICKS_PER_SECOND): Removed.
11071 (grub_get_rtc): Likewise.
11072 (grub_cpu_idle): Likewise.
11073 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11074 New definition.
11075 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11076 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11077 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11078 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11079 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11080 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11081 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11082 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11083
11084 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 SGI ARCS port.
11087
11088 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11089 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11090 platforms.
11091 * configure.ac: New target mips-arc.
11092 * gentpl.py: Likewise.
11093 * grub-core/Makefile.am: Likewise.
11094 * grub-core/Makefile.core.def: Likewise.
11095 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11096 (none_decompress): Likewise.
11097 (lsdev): New module.
11098 (datetime): Use lib/arc/datetime.c on ARC.
11099 (part_dvh): New module.
11100 * grub-core/commands/arc/lsdev.c: New file.
11101 * grub-core/disk/arc/arcdisk.c: Likewise.
11102 * grub-core/kern/mips/arc/init.c: Likewise.
11103 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11104 aligned addresses.
11105 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11106 support.
11107 (grub_arch_dl_relocate_symbols): Likewise.
11108 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11109 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11110 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11111 platforms.
11112 * grub-core/lib/arc/datetime.c: New file.
11113 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11114 pci.h on non-loongson.
11115 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11116 (grub_linux_boot): Set unused registers to 0.
11117 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11118 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11119 * grub-core/mmap/mips/uppermem.c: ...here.
11120 * grub-core/partmap/dvh.c: New file.
11121 * grub-core/term/arc/console.c: Likewise.
11122 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11123 (grub_terminfo_set_current): Add terminal "arc".
11124 (grub_terminfo_readkey): Support ARC sequences.
11125 * include/grub/arc/arc.h: New file.
11126 * include/grub/arc/console.h: Likewise.
11127 * include/grub/disk.h (grub_disk_dev_id): Add
11128 GRUB_DISK_DEVICE_ARCDISK_ID.
11129 * include/grub/mips/arc/kernel.h: New file.
11130 * include/grub/mips/arc/memory.h: Likewise.
11131 * include/grub/mips/arc/time.h: Likewise.
11132 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11133 * include/grub/mips/kernel.h (grub_halt): ... here.
11134 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11135 here...
11136 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11137 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11138 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11139 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11140 proto.
11141 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11142 from here ...
11143 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11144 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11145 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11146 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11147 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11148 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11149 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11150 (grub_phys_addr_t): Moved from here ...
11151 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11152 (grub_vtop): Moved from here ...
11153 * include/grub/mips/memory.h (grub_vtop): ... here.
11154 (grub_map_memory): Moved from here ...
11155 * include/grub/mips/memory.h (grub_map_memory): ... here.
11156 (grub_unmap_memory): Moved from here ...
11157 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11158 (grub_machine_mmap_iterate): Moved from here ...
11159 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11160 (grub_mmap_get_lower): Moved from here ...
11161 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11162 (grub_mmap_get_upper): Moved from here ...
11163 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11164 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11165 here ...
11166 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11167 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11168 here ...
11169 * include/grub/mips/time.h (grub_get_rtc): ... here.
11170 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11171 here ...
11172 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11173 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11174 here ...
11175 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11176 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11177 definition.
11178 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11179 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11180 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11181 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11182 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11183 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11184 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11185 (GRUB_MACHINE_LINK_ADDR): Likewise.
11186 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11187 to 6.
11188 * util/grub-install.in: Run dvhtool on ARC.
11189 * util/grub-mkimage.c (image_targets): Add mips-arc.
11190 (generate_image): Handle ECOFF output for mips-arc.
11191
11192 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11195 blocks.
11196
11197 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11200 after enabling port.
11201
11202 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 Skip incorrect USB devices.
11205
11206 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11207 configcnt == 0.
11208 * include/grub/usb.h (grub_usb_err_t): New enum value
11209 GRUB_USB_ERR_BADDEVICE.
11210
11211 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 Fuloong video init support.
11214
11215 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11216 well.
11217 (grub_vga_read_arx): New function.
11218 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11219 definition.
11220 (framebuffer): New members io, mmioptr and mmiobase.
11221 (read_sis_cmd): New function.
11222 (write_sis_cmd): Likewise.
11223 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11224 rather than 640x400.
11225 * grub-core/video/sis315_init.c: New file.
11226
11227 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11230 non-loongson.
11231 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11232 to grub_dl_register_symbol.
11233
11234 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 Fix compilation errors.
11237
11238 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11239 potentially unused.
11240 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11241 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11242 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11243 to loongson machines.
11244
11245 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 Several FS mtime support.
11248
11249 * grub-core/fs/affs.c (grub_affs_time): New struct.
11250 (grub_affs_file): New field mtime.
11251 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11252 type. Removed 'size'. New field 'di'. All users updated.
11253 (grub_affs_mount): Simplify checsum checking.
11254 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11255 (grub_affs_dir): Handle mtime.
11256 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11257 (grub_cpio_dir): Likewise.
11258 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11259 (grub_hfs_filerec): New field mtime.
11260 (grub_hfs_dir): Handle mtime.
11261 (grub_hfs_mtime): New function.
11262 (grub_hfs_fs): Register grub_hfs_mtime.
11263 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11264 (grub_iso9660_dir): New field mtime.
11265 (grub_fshelp_node): New field dirent.
11266 (iso9660_to_unixtime): New function.
11267 (iso9660_to_unixtime2): Likewise.
11268 (grub_iso9660_read_symlink): Use node->dirent.
11269 (grub_iso9660_iterate_dir): Likewise.
11270 (grub_iso9660_dir): Set mtime.
11271 (grub_iso9660_mtime): New function.
11272 (grub_iso9660_fs): Register grub_iso9660_mtime.
11273 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11274 (grub_jfs_inode): New fields atime, ctime and mtime.
11275 (grub_jfs_dir): Set mtime.
11276 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11277 * grub-core/fs/ntfs.c (list_file): Set mtime.
11278 (grub_ntfs_dir): Likewise.
11279 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11280 (grub_reiserfs_iterate_dir): Set mtime.
11281 (grub_reiserfs_dir): Likewise.
11282 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11283 (grub_fshelp_node): Likewise.
11284 (grub_sfs_iterate_dir): Set mtime.
11285 (grub_sfs_dir): Likewise.
11286 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11287 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11288 (grub_xfs_inode): New fields atime, mtime, ctime.
11289 (grub_xfs_dir): Set mtime.
11290 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11291 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11292 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11293
11294 Support UDF symlinks.
11295
11296 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11297 (grub_ufs_read_symlink): New function. All users updated.
11298
11299 Check amiga partmap checksum.
11300
11301 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11302 (grub_amiga_partition): Likewise.
11303 (amiga_partition_map_checksum): New function.
11304 (amiga_partition_map_iterate): Check checksum.
11305
11306 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 ROMFS support.
11309
11310 * Makefile.util.def (libgrubmods.a): Add romfs.
11311 * grub-core/Makefile.core.def (romfs): New module.
11312 * grub-core/fs/romfs.c: New file.
11313
11314 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 Squashfs v4 support.
11317
11318 * Makefile.util.def (libgrubmods.a): Add squash4.
11319 * grub-core/Makefile.core.def (squash4): New module.
11320 * grub-core/fs/squash4.c: New file.
11321 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11322 disk_input_start, disk_input.
11323 (get_byte): Handle disk_input.
11324 (grub_zlib_disk_read): New function.
11325 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11326
11327 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11328 2011-05-15 Feiran Zheng <famcool@gmail.com>
11329
11330 * Makefile.util.def (libgrubmods.a): Add minix3.
11331 * grub-core/Makefile.core.def (minix3): New module.
11332 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11333 (GRUB_MINIX_BSIZE): Removed.
11334 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11335 (grub_minix_ino_t): New type.
11336 (grub_minix_le_to_cpu_ino): New macro.
11337 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11338 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11339 (grub_minix_data): New field block_size.
11340 (grub_minix_read_file): Handle 64-bit correctly.
11341 * grub-core/fs/minix3.c: New file.
11342
11343 2011-05-15 Tristan Gingold <gingold@free.fr>
11344 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11345 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 IA64 support.
11348
11349 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11350 * configure.ac: Add ia64-efi target.
11351 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11352 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11353 * gentpl.py: Add ia64_efi platform.
11354 Rename x86_efi to efi and Add ia64-efi. All users updated.
11355 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11356 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11357 Remove kern/generic/rtc_get_time_ms.c on EFI.
11358 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11359 kern/ia64/dl_helper.c on ia64-efi.
11360 Add kern/emu/cache.c on emu.
11361 (linux): Use on loader/ia64/efi/linux.c on ia64.
11362 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11363 whether symbol is a function.
11364 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11365 (grub_symbol): New field 'isfunc'.
11366 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11367 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11368 (grub_dl_load_segments): Place all sections into the same region.
11369 [__ia64__]: Create trampolines and got.
11370 [GRUB_MACHINE_EMU]: Call mprotect.
11371 (grub_dl_resolve_symbols): Resolve symbol type as well.
11372 [__ia64__]: Create function descriptors.
11373 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11374 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11375 (grub_get_rtc): New function.
11376 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11377 * grub-core/kern/emu/cache.S: Renamed to ...
11378 * grub-core/kern/emu/cache_s.S: ... this.
11379 [__ia64__]: Add a nop.
11380 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11381 [__ia64__]: New function.
11382 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11383 * grub-core/kern/ia64/dl.c: New file.
11384 * grub-core/kern/ia64/dl_helper.c: Likewise.
11385 * grub-core/kern/ia64/efi/init.c: New file.
11386 * grub-core/kern/ia64/efi/startup.S: Likewise.
11387 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11388 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11389 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11390 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11391 * grub-core/loader/ia64/efi/linux.c: New file.
11392 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11393 (GRUB_MOD_DEP): Likewise.
11394 (grub_dl) [__ia64__]: New fields got and tramp.
11395 (grub_dl): New field 'base'.
11396 (grub_dl_register_symbol): New argument isfunc. All users updated.
11397 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11398 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11399 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11400 (grub_ia64_dl_get_tramp_got_size): New proto.
11401 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11402 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11403 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11404 * include/grub/efi/api.h: Skip call wrappers on ia64.
11405 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11406 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11407 * include/grub/elf.h (ELF_ST_INFO): New definition.
11408 * include/grub/ia64/efi/kernel.h: New file.
11409 * include/grub/ia64/efi/memory.h: Likewise.
11410 * include/grub/ia64/efi/time.h: Likewise.
11411 * include/grub/ia64/kernel.h: Likewise.
11412 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11413 * include/grub/ia64/time.h: New file.
11414 * include/grub/ia64/types.h: Likewise.
11415 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11416 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11417 New protos.
11418 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11419 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11420 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11421 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11422 All users updated.
11423 (EFI64_HEADER_SIZE): New definition. All users updated.
11424 (image_targets): Add ia64-efi.
11425 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11426 jumpers_addr. All users updated.
11427 Create function descriptors.
11428 (count_funcs): New function.
11429 (unaligned_uint32): New struct.
11430 (MASK20): New definition.
11431 (MASK19): Likewise.
11432 (MASKF21): Likewise.
11433 (add_value_to_slot_20b): New function.
11434 (add_value_to_slot_21_real): Likewise.
11435 (add_value_to_slot_21): Likewise.
11436 (ia64_kernel_trampoline): New struct.
11437 (nopm): New variable.
11438 (jump): Likewise.
11439 (make_trampoline): New function.
11440 (relocate_addresses): Handle ia64.
11441 (make_reloc_section): Likewise.
11442 (load_image): Likewise.
11443
11444 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11447 warning. Move variables before code while on it.
11448
11449 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 Fuloong support.
11452
11453 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11454 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11455 * grub-core/boot/mips/loongson/fuloong.S: New file.
11456 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11457 Explicitly init CS5536.
11458 [FULOONG]: Don't use serial until CS5536 is available.
11459 Set GPIO based on dumps.
11460 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11461 [FULOONG]: Handle GPIO and memory controller differences.
11462 Parse machine type in $a2.
11463 * grub-core/boot/mips/startup_raw.S: Determine and save the
11464 architecture.
11465 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11466 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11467 init on architecture type.
11468 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11469 SIS315E. Don't init at_keyboard on fuloong.
11470 (grub_halt): Support Fuloong.
11471 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11472 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11473 (loongson_machtypes): New array.
11474 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11475 type.
11476 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11477 config. All users updated. Handle CS5536 serial.
11478 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11479 default port on machine type. Register serial as inactive.
11480 * grub-core/video/sis315pro.c: New file.
11481 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11482 definition.
11483 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11484 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11485 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11486 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11487 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11488 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11489 to ...
11490 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11491 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11492 definition.
11493 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11494 (grub_arch_machine): New extern var.
11495 * include/grub/mips/loongson/serial.h
11496 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11497 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11498 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11499 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11500 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11501 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11502 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11503 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11504 * include/grub/term.h (grub_term_register_input_inactive): New inline
11505 function.
11506 (grub_term_register_output_inactive): Likewise.
11507 * include/grub/video.h (grub_video_driver_id): New value
11508 GRUB_VIDEO_DRIVER_SIS315PRO.
11509 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11510 New field "names". All users updated.
11511 New field value IMAGE_FULOONG_FLASH.
11512 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11513
11514 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11515
11516 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11517 and add some clarification.
11518
11519 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11522 platforms if kernel is compressed.
11523
11524 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11527 unused modules since currently referrence counter isn't reliable and
11528 there isn't much memory to recover there anyway.
11529
11530 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11533 rather than resetting it to allow modules to reference themselves
11534 in init.
11535
11536 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11539 counter on dependencies since grub_dl_unref already handles this.
11540
11541 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11544 on error if not already done.
11545
11546 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 Fix few potential memory misusage.
11549
11550 * grub-core/font/font.c (load_font_index): Don't free char_index to
11551 avoid double free.
11552 (grub_font_load): Zero-fill font at alloc for safety.
11553 Close file on error.
11554 (free_font): Free bmp_idx.
11555
11556 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * docs/grub.texi (Installation): Fix several outdated claims.
11559
11560 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 Handle module_license on windows.
11563
11564 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11565 sections shifted.
11566 (insert_string): Make argument const char * instead of char *.
11567 (write_section_data): Handle long section names.
11568 Handle module_license.
11569
11570 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11573 handle class-free menuentries.
11574 (grub_normal_add_menu_entry): Add a check to be sure.
11575
11576 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11579 PgUp and PgDown.
11580
11581 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * configure.ac: Bump version to 1.99.
11584
11585 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 Give ATA device a bit more time on first try in order to allow disks
11588 to spin up.
11589
11590 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11591 if dev->present is 1. Reset dev->present on failure.
11592 (grub_ata_device_initialize): Set dev->present to 1.
11593 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11594 (grub_ata_device): New member 'present'.
11595
11596 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * util/grub-mkimage.c (generate_image): Update hash.
11599
11600 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 Flush caches on DMA memory.
11603
11604 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11605 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11606 (grub_dma_free): Likewise.
11607 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11608
11609 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11612 to avoid asm treating ld and sd as macros.
11613
11614 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11617 decompressor.
11618
11619 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11622 grub_decompress_core since later would fail if grub_decompress_core
11623 is too far.
11624
11625 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11628 R_MIPS_JALR since it's used by newer compiler.
11629
11630 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11633
11634 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11637 file_path to 0 for surety.
11638 (grub_chainloader_boot): Set exit_data to NULL.
11639 Unset the loader once done.
11640 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11641
11642 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11645 unknown key into a dprintf.
11646
11647 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11650 on first non-existant partition.
11651
11652 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11655 openning fails.
11656 Reported by: Mark Korenberg.
11657
11658 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11661 overflow.
11662
11663 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11666 before closing to ensure that it will be readable by grub-setup.
11667
11668 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11671 (devpath_1): Use MAKE_PIWG_PATH.
11672 (devpath_2): Likewise.
11673 (devpath_3): Likewise.
11674 (devpath_4): Likewise.
11675 (devpath_5): Likewise.
11676 (devpath_6): Likewise.
11677
11678 The appleldr.mod was checked that to be binary identical to previous
11679 version.
11680
11681 2011-05-05 Zach <mikezackles>
11682
11683 Support 2010 Macbooks.
11684
11685 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11686 (devs): Add devpath_6.
11687
11688 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11691 /dev/random. /dev/urandom is good enough for our purposes (salting).
11692
11693 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11696
11697 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11700 hexadecimal.
11701
11702 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11705 and not 0 on failure.
11706
11707 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11708
11709 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11710 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11711 disk; otherwise grub_fs_probe will not fall back to the next
11712 filesystem.
11713 (grub_pxefs_open): Likewise, for consistency.
11714 Reported and tested by: Ezekiel Grave.
11715
11716 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11717
11718 * tests/partmap_test.in: Don't hardcode path to parted.
11719 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11720
11721 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11722
11723 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11724 of `ls' to find out which devices are available.
11725
11726 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11729 than source address for efi mmap buffer.
11730
11731 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11734 wrong action on non-detecting the magic.
11735
11736 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11739 already supplied by another part of the module (fixes compilation on
11740 FreeBSD).
11741
11742 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11745 match the one used by mdadm.
11746
11747 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11748
11749 * po/README: Add instructions for creating po/LINGUAS.
11750
11751 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11752
11753 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11754 #551428.
11755
11756 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11757 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11758 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11759 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11760 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11761 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11762 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11763 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11764 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11765 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11766 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11767 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11768 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11769 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11770 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11771 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11772 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11773 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11774 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11775 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11776 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11777 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11778
11779 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11780
11781 * grub-core/kern/emu/getroot.c
11782 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11783 test that was incorrectly reintroduced in r3214.
11784 Reported by: Ian Dall. Fixes Savannah bug #33133.
11785
11786 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11787
11788 Fix stack pointer handling in 16-bit relocator.
11789
11790 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11791 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11792 Fixes Ubuntu bug #683904.
11793
11794 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * configure.ac: Bump version to 1.99~rc2.
11797
11798 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11801 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11802 * grub-core/lib/x86_64/setjmp.S: Likewise.
11803 * grub-core/lib/mips/setjmp.S: Likewise.
11804 * grub-core/lib/powerpc/setjmp.S: Likewise.
11805 * grub-core/lib/sparc64/setjmp.S: Likewise.
11806
11807 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11810 * grub-core/lib/efi/datetime.c: Likewise.
11811
11812 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11815 New function.
11816 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11817 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11818 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11819
11820 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11823 bitmap.
11824 (grub_gfxterm_term_init): Likewise.
11825
11826 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 Take into account the decorations the computing menu entry width.
11829
11830 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11831 (grub_gfxmenu_create_box): Register get_border_width.
11832 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11833 if available.
11834 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11835 get_border_width.
11836
11837 2011-04-18 Endres Puschner <code@e7p.de>
11838
11839 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11840 Don't skip first class.
11841
11842 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11845 chunks.
11846 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11847
11848 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Complete 64-bit division support.
11851
11852 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11853 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11854 * include/grub/misc.h (grub_divmod64): Rename to ...
11855 (grub_divmod64_full): ... this.
11856 (grub_divmod64): New inline function.
11857
11858 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11861
11862 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11865 performing the necessary test.
11866
11867 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11870 (kfreebsd.elf): Likewise.
11871 (pc-chainloader.elf): Likewise.
11872 (ntldr.elf): Likewise.
11873
11874 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 Identify RAID by its UUID rather than (guessed) name.
11877
11878 * grub-core/disk/raid.c (ascii2hex): New function.
11879 (grub_raid_open): Accept mduuid/%s specification.
11880 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11881 (get_mdadm_uuid): ... this.
11882 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11883
11884 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11887 to negative size.
11888
11889 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11890
11891 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11892 btrfs subvolume.
11893 * util/grub.d/20_linux_xen.in: Likewise.
11894
11895 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11896
11897 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11898 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11899
11900 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11901 Build a list of relevant visible mounts using the mnt_id and
11902 parent_mnt_id fields, and then scan that list at the end.
11903
11904 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11905
11906 * docs/grub.texi (normal): New section.
11907 (normal_exit): New section.
11908 (Embedded configuration): Add reference to normal.
11909 (GRUB only offers a rescue shell): Likewise.
11910 * docs/grub-dev.texi (Error Handling): Fix typo.
11911
11912 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11913
11914 * NEWS: Drop obsolete entry about probe-only btrfs support.
11915
11916 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11917
11918 * util/import_gcry.py: Fix typo.
11919
11920 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * NEWS: Add btrfs support.
11923
11924 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11925 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11926
11927 BtrFS support. Written by me (Vladimir) with important bugfixes and
11928 even more important testing by Colin.
11929
11930 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11931 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11932 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11933 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11934 mem_input_off and mem_input. All users updated to accept in-RAM input.
11935 (gzio_seek): New function.
11936 (test_zlib_header): Likewise.
11937 (grub_gzio_read): Likewise.
11938 (grub_zlib_decompress): Likewise.
11939 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11940 Accept partial and non-virtual mounts.
11941 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11942 avoid receiving /dev/dm-X as device.
11943 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11944 Handle bind and partial mounts.
11945 * grub-core/lib/crc.c: New file.
11946 * include/grub/deflate.h: Likewise.
11947 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11948 proto.
11949 * include/grub/lib/crc.h: New file.
11950
11951 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 Implement automatic module license checking according to new GNU
11954 guidelines.
11955
11956 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11957 (grub_dl_load_core): Use grub_dl_check_license.
11958 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11959 (GRUB_MOD_LICENSE): Likewise.
11960 (GRUB_MOD_DUAL_LICENSE): Likewise.
11961 All modules updated.
11962
11963 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11964
11965 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11966 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11967 loaders.
11968 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11969
11970 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11973
11974 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11977 failed.
11978
11979 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11982 parenthesis in the middle of the filename.
11983
11984 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11987 rather than trying to put initrd way too high.
11988 Reported by: Ryan Lortie <desrt@desrt.ca>
11989
11990 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11993 improperly removed string.
11994
11995 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11998 is_disk.
11999 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12000 (open_device) Likewise.
12001 (grub_util_biosdisk_close): Likewise.
12002 Reported by: Mark Korenberg.
12003
12004 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12005
12006 * util/grub-mkconfig_lib.in: Add missing quotes.
12007
12008 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
12009
12010 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12011 is NULL.
12012
12013 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 Dynamically count the number of lines for the lower banner.
12016
12017 * grub-core/normal/menu_entry.c (per_term_screen): New member
12018 num_entries.
12019 (print_down): Use num_entries.
12020 (update_screen): Likewise.
12021 (grub_menu_entry_run): Set num_entries.
12022 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12023 num_entries.
12024 (grub_print_message_indented): Move real part to ...
12025 (grub_print_message_indented_real): ... here. Additional argument
12026 dry_run.
12027 (draw_border): Additional argument num_entries.
12028 (print_message): Additional argument dry_run.
12029 (print_entries): Receive menu viewer data.
12030 (grub_menu_init_page): New argment num_entries.
12031 (menu_text_set_chosen_entry): Use num_entries.
12032 (grub_menu_try_text): Likewise.
12033 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12034 All users updated.
12035 (grub_ucs4_count_lines): New function.
12036 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12037 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12038 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12039 (grub_term_border_height): Likewise.
12040 (grub_term_num_entries): Likewise.
12041
12042 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12045 Remove now unused string.
12046
12047 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12048
12049 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12050 build system.
12051 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12052
12053 (Comment): Fix typo.
12054 (Getting started): General copy-editing.
12055 (Typical Development Experience): Likewise.
12056 (Error Handling): Likewise.
12057 (Video API): Likewise.
12058
12059 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12060
12061 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12062 throughout.
12063
12064 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12067 directory.
12068
12069 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12070
12071 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12072 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12073 "development".
12074
12075 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12078 grub_strcpy since the lines aren't necessarily 0-terminated.
12079
12080 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12083 root on legacy.
12084
12085 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12088 (GRUB_MOD_INIT): DEVICE isn't optional.
12089
12090 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12093 word on new line if it's too long anyway. Fixes a hang.
12094
12095 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12098 const.
12099 * util/grub-setup.c (main): Reuse md device name if available.
12100 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12101 not GRUB name as argument.
12102 Based on patch by: Florian Wagner <fwagner>.
12103
12104 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12107 Place mbi on low memory for better compatibility.
12108
12109 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12112
12113 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12114 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12115
12116 * autogen.sh: Ensure that collate and ctype locale is C.
12117 * conf/Makefile.common: Likewise.
12118
12119 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * grub-core/normal/menu.c: Add missing include.
12122
12123 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12126
12127 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12128
12129 * util/grub-mkconfig.in: Ignore emacsen backup.
12130
12131 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12134 on open.
12135 (grub_util_biosdisk_close): Likewise.
12136
12137 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12140 const attribute and use grub_isdigit.
12141
12142 2011-04-06 Andrey <dev_null@ukr.net>
12143
12144 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12145 gcc warning.
12146
12147 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12150 useful grub_dprintf's.
12151
12152 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12155
12156 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12159
12160 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 Output errors if theme loading failed.
12163
12164 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12165 grub_gfxterm_fullscreen on error paths to ...
12166 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12167 theme loading error.
12168
12169 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12172 space for older compilers.
12173 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12174
12175 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12178 and report them as not RAID members since they are useless for GRUB.
12179 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12180
12181 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Increase LVM implementation robustness in order not to crash on
12184 configurations like pvmove. Previously code assumed that in some places
12185 only lvs or only pvs are used whereas it seems that they are used
12186 interchangeably.
12187
12188 * grub-core/disk/lvm.c (read_node): New function.
12189 (read_lv): Use read_node.
12190 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12191 Match volumes only at the end when all lvs are found. Take both
12192 pvs (first) and lvs (second) into account.
12193 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12194 mirror_* into node_*. All users updated.
12195 (grub_lvm_stripe): Merge this ...
12196 (grub_lvm_mirror): ... and this ...
12197 (grub_lvm_node): ... into this. All users updated.
12198
12199 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12202 of function to allow further scanning for LVMs.
12203
12204 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12207 on failed seek as it breaks open fd reusage.
12208
12209 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * util/grub-install.in: Add a recommendation to use --recheck before
12212 reporting bugs.
12213
12214 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12217 are obtained.
12218
12219 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 GRUB developper manual based on existing Internals section and
12222 contributions by the various authors with active copyright assignment.
12223
12224 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12225 * docs/font_char_metrics.png: New file.
12226 * docs/font_char_metrics.txt: Likewise.
12227 * docs/grub-dev.texi: Likewise.
12228 * docs/grub.texi (Internals): Move from here ...
12229 * docs/grub-dev.texi: ... here.
12230
12231 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12232
12233 Store the loopback device as data on loopback grub_disk structures,
12234 rather than the file it points to. This fixes use of freed memory
12235 if an existing loopback device is replaced.
12236
12237 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12238 disk->data, not dev->file.
12239 (grub_loopback_read): Adjust file assignment to match.
12240 Fixes Ubuntu bug #742967.
12241
12242 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12243
12244 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12245 when replacing an existing device.
12246
12247 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12250 memory corruptions.
12251
12252 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12253 unsigned.
12254 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12255 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12256 (grub_jfs_read_inode): Likewise.
12257 (grub_jfs_opendir): Likewise. Remove now useless casts.
12258 (grub_jfs_getent): Likewise.
12259 Make ino a grub_uint32_t rather than int.
12260 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12261 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12262 division and module with bit operations.
12263 (grub_jfs_find_file): Make ino a grub_uint32_t.
12264 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12265
12266 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12267
12268 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12269 warning. (This was in fact always initialised before use, but GCC
12270 wasn't smart enough to prove that.)
12271 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12272
12273 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12276 stack alignment.
12277 (efi_wrap_1): Likewise.
12278 (efi_wrap_2): Likewise.
12279 (efi_wrap_3): Likewise.
12280 (efi_wrap_4): Likewise.
12281 (efi_wrap_5): Likewise.
12282 (efi_wrap_6): Likewise.
12283 (efi_wrap_10): Likewise.
12284 Based on information by: Red Hat/Peter Jones.
12285
12286 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12287
12288 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12289 set-but-not-used variable.
12290
12291 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12292
12293 * docs/grub.texi (Simple configuration): Be more explicit about
12294 GRUB_DEFAULT, and add an example.
12295 Reported by: Leslie Rhorer.
12296
12297 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12298
12299 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12300 shell".
12301
12302 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12303
12304 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12305 * util/grub.d/20_linux_xen.in: Likewise.
12306
12307 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * util/grub.d/10_linux.in: Try alternative config filenames where
12310 we parse config file.
12311 * util/grub.d/20_linux_xen.in: Likewise.
12312
12313 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12314
12315 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12316 * util/grub.d/20_linux_xen.in: Likewise.
12317
12318 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/disk/raid.c (insert_array): Add few potentially
12321 useful grub_util_info.
12322 (grub_raid_register): Likewise.
12323
12324 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12327 Preserve partition number in mdadm code path.
12328
12329 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12332 few potentially useful grub_util_info.
12333
12334 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12337
12338 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12339
12340 * docs/grub.texi (default): Use @example rather than nested
12341 itemized lists to avoid breaking gendocs.
12342
12343 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12344
12345 * docs/grub.texi (Future): Update.
12346
12347 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12348
12349 * docs/grub.texi (Environment): New chapter.
12350 (Changes from GRUB Legacy): Link to "Environment block" section for
12351 details of limitations.
12352 (Simple configuration): Likewise. Link to documentation of gfxmode
12353 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12354 respectively.
12355 (Shell-like scripting): Note that normal variables are stored in the
12356 environment.
12357 (gettext): Link to documentation of lang and locale_dir.
12358 (list_env): New section.
12359 (load_env): New section.
12360 (save_env): New section.
12361
12362 (Reporting bugs): Fix typo.
12363
12364 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12367 the example.
12368
12369 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/term/at_keyboard.c (set_scancodes)
12372 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12373
12374 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12375
12376 * docs/grub.texi (Menu-specific commands): Remove some semantics
12377 that were true in GRUB Legacy but not in GRUB 2.
12378 (submenu): New section.
12379 (false): New section.
12380 (read): New section.
12381 (true): New section.
12382
12383 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12384
12385 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12386
12387 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12388
12389 * docs/grub.texi (Simple configuration): Explain some of the
12390 current limitations of grub-mkconfig.
12391 Reported by: Leslie Rhorer.
12392
12393 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 Old macs search for boot.efi rather than for bootia32.efi.
12396
12397 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12398 * util/grub-mkrescue.in: Likewise.
12399 Suggested by: Peter Jones.
12400
12401 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12404
12405 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12408 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12409 (grub_lvm_mirror): New struct.
12410 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12411 (grub_lvm_iterate): Iterate only visible volumes.
12412 (grub_lvm_read): Factor out to ..
12413 (read_lv): ... this. Support mirrors.
12414 (grub_lvm_read): New wrapper function.
12415 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12416 stripped or mirrored.
12417
12418 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12421
12422 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12423
12424 * docs/grub.texi (loopback): New section.
12425
12426 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12427
12428 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12429 removed -p option.
12430
12431 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12432
12433 * docs/grub.texi (BIOS installation): New section, partly based on
12434 previous text in other sections.
12435 (Installing GRUB using grub-install): Replace BIOS discussion with a
12436 cross-reference.
12437 (Images): Likewise.
12438
12439 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12442 [HAVE_DIOCGDINFO]: Add safety checks.
12443
12444 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12447 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12448
12449 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12450
12451 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12452 real_sb->size is zero (e.g. RAID-0), get the disk size from
12453 real_sb->data_size instead.
12454 Fixes Ubuntu bug #743136.
12455
12456 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12459 printf clauses for printing size and start.
12460
12461 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12464 Reported and tested by: Timothy Nikkel.
12465
12466 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12469 (dirty_region_add_real): ... this.
12470 (dirty_region_add): Don't discard margin refresh when performing
12471 scheduled repaint.
12472
12473 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * grub-core/lib/relocator.c (allocate_regstart)
12476 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12477 terminals are capabple of malloc-free operation.
12478 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12479 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12480
12481 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12482
12483 * util/grub-setup.c: Copy the partition table zone if floppy support
12484 is disabled, even if no partition table is found.
12485
12486 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12487 during POST if an invalid partition table is contained in the PBR
12488 of the active partition when GRUB is installed to a partition.
12489
12490 2011-03-28 Colin Watson <cjwatson@debian.org>
12491
12492 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12493 comment.
12494
12495 2011-03-28 Colin Watson <cjwatson@debian.org>
12496
12497 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12498 to be specific about what kind of RAID device we're scanning for.
12499
12500 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12501
12502 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12503 return freed string.
12504
12505 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12508
12509 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 Use libgeom on FreeBSD to detect partitions.
12512
12513 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12514 (grub-mkrelpath): Likewise.
12515 (grub-script-check): Likewise.
12516 (grub-editenv): Likewise.
12517 (grub-mkpasswd-pbkdf2): Likewise.
12518 (grub-fstest): Likewise.
12519 (grub-mkfont): Likewise.
12520 (grub-mkdevicemap): Likewise.
12521 (grub-probe): Likewise.
12522 (grub-setup): Likewise.
12523 (grub-ofpathname): Likewise.
12524 (grub-mklayout): Likewise.
12525 (example_unit_test): Likewise.
12526 (grub-menulst2cfg): Likewise.
12527 * grub-core/Makefile.core.def (grub-emu): Likewise.
12528 (grub-emu-lite): Likewise.
12529 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12530 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12531 define HAVE_DIOCGDINFO.
12532 (follow_geom_up) [FreeBSD]: New function.
12533 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12534 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12535 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12536 unconditionally of HAVE_DIOCGDINFO.
12537
12538 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 Fix FreeBSD compilation problem.
12541
12542 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12543 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12544
12545 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12546
12547 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12548 Switch back to page zero before loading a kernel, since some kernel
12549 drivers expect that.
12550 Thanks to: Felix Kuehling.
12551
12552 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12555 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12556 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12557
12558 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12561 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12562
12563 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12566 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12567 malloc is disabled.
12568
12569 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12572 for modules headers when counting the needed allocation size.
12573
12574 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12577 if no ASCII character is found to prevent crash.
12578
12579 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12580
12581 * grub-core/video/bitmap.c (match_extension): Ignore case.
12582
12583 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12586
12587 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * grub-core/script/parser.y: Declare "time" as valid argument.
12590
12591 2011-03-23 Peter Jones <pjones@redhat.com>
12592
12593 Fix incorrect assert failure reporting.
12594
12595 * grub-core/tests/example_functional_test.c (example_test): Add
12596 a failure comment.
12597 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12598 (failure_start): ...this. Check that malloc succeeded.
12599 Don't call xvasprintf. Return failure struct.
12600 (failure_append_vtext): New function.
12601 (failure_append_text): Likewise.
12602 (add_failure): Likewise.
12603 (grub_test_assert_helper): Likewise.
12604 * include/grub/test.h (grub_test_assert_helper): New declaration.
12605 (grub_test_assert): Macro rewritten.
12606
12607 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12610
12611 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12614
12615 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12618 into GRUB-style one.
12619
12620 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12623 error and not grub_errno.
12624 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12625
12626 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12629 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12630
12631 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/efiemu/i386/pc/cfgtables.c
12634 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12635 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12636 (grub_xnu_unlock): Likewise.
12637 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12638
12639 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12642 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12643 * grub-core/commands/hashsum.c (aliases): Likewise.
12644 * grub-core/commands/setpci.c (pci_registers): Likewise.
12645 * grub-core/disk/usbms.c (attach_hook): Likewise.
12646 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12647 (zio_checksum_table): Likewise.
12648 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12649 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12650 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12651 * grub-core/lib/relocator.c (leftovers): Likewise.
12652 (extra_blocks): Likewise.
12653 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12654 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12655 (modules_last): Likewise.
12656 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12657 (devices): Likewise.
12658 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12659 (modules_last): Likewise.
12660 * grub-core/normal/auth.c (users): Likewise.
12661 * grub-core/normal/context.c (initial_menu): Likewise.
12662 (current_menu): Likewise.
12663 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12664 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12665 (grub_serial_terminfo_input_template): Likewise.
12666 (grub_serial_terminfo_output_template): Likewise.
12667 (grub_serial_terminfo_input): Likewise.
12668 (grub_serial_terminfo_output): Likewise.
12669 (registered): Likewise.
12670 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12671
12672 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12675 grub_video_mode_type_t.
12676 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12677 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12678 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12679
12680 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * util/grub-install.in: Correct the x86-64 name as x86_64.
12683
12684 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12685
12686 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12687 initial chunk read from the kernel always includes GRUB's multiboot
12688 header, which is now outside the first sector.
12689
12690 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12691
12692 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12693 cached mmap_size, so that this works correctly when called multiple
12694 times.
12695 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12696
12697 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12698
12699 * docs/grub.texi (Simple configuration): Tidy up formatting.
12700
12701 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12702
12703 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12704 Set-but-not-used variable removed.
12705
12706 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Workaround yet another IEEE1275 bug.
12709
12710 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12711 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12712 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12713 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12714 is set.
12715 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12716 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12717
12718 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12721 error.
12722
12723 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12724
12725 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12726 empty, since in that case we can only generate either nothing or a
12727 syntactically invalid configuration file.
12728 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12729
12730 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12731
12732 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12733 (Making a GRUB bootable CD-ROM): Likewise.
12734 (Invoking grub-mkrescue): New section.
12735 Reported by: Yann Dirson. Fixes Debian bug #612585.
12736
12737 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12738
12739 * util/grub-install.in: Remove unnecessary brackets from tr
12740 arguments.
12741 * util/grub.d/10_hurd.in: Likewise.
12742 * util/grub.d/10_kfreebsd.in: Likewise.
12743 * util/grub.d/10_linux.in: Likewise.
12744 * util/grub.d/20_linux_xen.in: Likewise.
12745 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12746
12747 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12748
12749 * include/grub/file.h (not_easly_seekable): Rename to ...
12750 (not_easily_seekable): ... this. Update all users.
12751
12752 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12753
12754 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12755 grub-mkrescue.
12756
12757 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * util/grub-mkimage.c (generate_image): Refuse to create the images
12760 bigger than the actual flash (512K) in Loongson machines. 512K is also
12761 the biggest chip supported by them.
12762
12763 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12766
12767 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12768
12769 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12770 super_offset field.
12771
12772 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * util/grub-install.in: Ignore install device on platforms
12775 where it doesn't make sense. Always use UUIDs except on pc, efi and
12776 sparc64.
12777 Reported by: Daniel Kahn Gillmor.
12778
12779 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12782
12783 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12786 (iterate_real): Don't rely on partition being non-NULL.
12787
12788 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12791 supported platforms. Put a compile time assert for this rather than
12792 generate a warning with 32-bit shift.
12793
12794 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12797 logical expression more readable.
12798
12799 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12802 even if some elements have a name.
12803 Reported by: Alexander GQ Gerasiov.
12804
12805 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12808 path unreadable if `grub-probe -t abstraction' fails, for example if
12809 memberlist fails on an LVM volume group.
12810 Reported by: Darius Jahandarie.
12811
12812 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12813
12814 * docs/grub.texi (Simple configuration): Document
12815 GRUB_PRELOAD_MODULES.
12816
12817 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12818
12819 * .bzrignore: Remove nonexistent grub-pbkdf2.
12820
12821 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * configure.ac: Bump version to 1.99~rc1.
12824
12825 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12828 for safety.
12829
12830 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12833 module.
12834
12835 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12838
12839 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12842 diskdevid.
12843
12844 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 Fix compilation on cygwin.
12847
12848 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12849 -R .drectve on cygwin.
12850 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12851 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12852 (COND_CYGWIN): New condition.
12853 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12854 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12855 not @TARGET_OBJ2ELF@.
12856 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12857 type to determine whether aux is to be used.
12858
12859 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12862 realpath'ed device string.
12863 Handle floppy (somewhat).
12864 Issue error in unknown case rather than garbage.
12865 Reported by: Axel Beckert.
12866
12867 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 * util/grub.d/00_header.in (load_video): Handle the case when no video
12870 drivers available.
12871 Thanks to: Axel Beckert.
12872
12873 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12876 variable. Fixes problem on big endian platforms.
12877
12878 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12881 It doesn't work well there.
12882
12883 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12886 warning.
12887 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12888 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12889 counter.
12890
12891 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 Use alias->path rather than buggy "canon".
12894
12895 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12896 (ofdisk_hash_add): New argument curcan. All users updated.
12897
12898 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12899
12900 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12901
12902 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12905 loadmask before doing any calculations. Use correct type for offset.
12906 (grub_linux_load64): Likewise.
12907
12908 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12909
12910 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12911 with NULL.
12912 (console_grub_equivalences_unshift): Likewise.
12913 Reported by: Daniel Dehennin.
12914
12915 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12918 (set_env_limn_ro): Likewise.
12919 (GRUB_MOD_INIT): Likewise.
12920 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12921 ARRAY_SIZE while on it.
12922 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12923 * grub-core/normal/context.c (grub_env_export): Move from here ...
12924 * grub-core/kern/env.c (grub_env_export): ... here.
12925 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12926 prefix.
12927 * grub-core/kern/main.c (grub_main): Export root and prefix.
12928 * include/grub/env.h (grub_env_export): Export.
12929 Reported by: Seth Goldberg.
12930
12931 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12934 Take into account space used by ELF sections and multiboot palette.
12935 Reported by: Grégoire Sutre.
12936
12937 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * BUGS: New file.
12940
12941 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Pass more appropriate video id to Linux.
12944
12945 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12946 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12947 fill have_vga.
12948 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12949 shift params->lfb_size.
12950 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12951
12952 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12955
12956 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12959 separator and pass bootpath/devid even if only one of them is available.
12960 Reported by: Seth Goldberg.
12961
12962 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12965 implementations bug on them.
12966
12967 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12968 memory.
12969 (filter_memory_map): Likewise.
12970
12971 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12974 Reported by: nebuchadnezzar.
12975
12976 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12979 Reported by: nebuchadnezzar.
12980
12981 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Submenu default support.
12984
12985 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12986 auto_boot. All users updated.
12987 Declared static.
12988 Handle chosen and default with submenus.
12989 (grub_menu_execute_with_fallback): Declared static.
12990 Don't notify failure if autobooted. Upper level does it.
12991 (menuentry_eq): New function.
12992 (get_entry_number): Use menuentry_eq.
12993 (show_menu): New parameter "autobooted". All users updated.
12994 (grub_show_menu): Likewise.
12995 * include/grub/normal.h (grub_show_menu): Likewise.
12996 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12997 (grub_menu_execute_with_fallback): Likewise.
12998
12999 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * util/grub-mklayout.c (usage): Update help text.
13002
13003 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13006
13007 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * util/grub-menulst2cfg.c (main): Trim the line.
13010
13011 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13014 (grub_machine_init): Don't check amount of low memory as reportedly
13015 INT 12h can be broken and if low memory is too low we wouldn't have
13016 gotten into grub_machine_init anyway.
13017
13018 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13021 (grub_machine_mmap_iterate): Take low memory into account
13022
13023 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13026 badfs.
13027 Reported by: TiCPU.
13028
13029 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13032 members errors.
13033
13034 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13035
13036 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13037 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13038
13039 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13040
13041 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13042 openbsd and netbsd types being in part_bsd module.
13043
13044 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13047 (_FILE_OFFSET_BITS): Likewise.
13048 Reported by: Seth Goldberg.
13049
13050 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13051
13052 * configure.ac: Check for libdevmapper header.
13053
13054 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13057 avoid aliasing.
13058 (fzap_lookup): Likewise.
13059 (dnode_get): Likewise.
13060 (make_mdn): Likewise.
13061 (zfs_mount): Likewise.
13062 (fzap_iterate): Use temporary pointer to avoid aliasing.
13063 (grub_zfs_read): Likewise.
13064 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13065 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13066 pointers to avoid aliasing.
13067 (grub_cmd_xnu_kernel64): Likewise.
13068 (grub_xnu_load_driver): Likewise.
13069
13070 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13073 aliasing warning.
13074 (grub_cmd_terminal_output): Likewise.
13075 Reported and tested by: Grégoire Sutre.
13076
13077 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13080 warning.
13081 Reported and tested by: Grégoire Sutre.
13082
13083 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * configure.ac: Do CPU substitution even if it's specified explicitly.
13086 Reported and tested by: Alain Greppin.
13087
13088 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13091 Reported and tested by: Alain Greppin.
13092
13093 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 Satisfy some bison versions need for inttypes.h.
13096
13097 * grub-core/lib/posix_wrap/inttypes.h: New file.
13098 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13099 (int16_t): Likewise.
13100 (int32_t): Likewise.
13101 (int64_t): Likewise.
13102 Reported and tested by: Alain Greppin.
13103
13104 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13107 Silence spurious warning.
13108 Reported and tested by: Alain Greppin.
13109
13110 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13111
13112 * docs/grub.texi (Support automatic decompression): Update with xz
13113 decompression support.
13114
13115 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13116
13117 Improve loaders' kernel command line handling.
13118
13119 * grub-core/lib/cmdline.c: New file.
13120 * include/grub/lib/cmdline.h: Likewise.
13121 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13122 grub_create_loader_cmdline to create kernel command line.
13123 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13124 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13125 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13126 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13127 (linux): Add lib/cmdline.c on common.
13128
13129 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13132 inopos might be unaligned.
13133
13134 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13137 endian transformations.
13138 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13139 Based on report by: Doug Nazar.
13140
13141 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13142
13143 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13144 array->members[i].start_sector.
13145 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13146
13147 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13150 Reported and tested by: Grégoire Sutre.
13151
13152 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13153
13154 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13155 avoid causing test failures by clearing the screen.
13156
13157 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13158
13159 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13160 Fix prefix check to handle the case where dir ends with a slash
13161 (most significantly, "/" itself).
13162 Reported by: Michael Vogt.
13163
13164 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 Run terminfo_cls on initing terminfo output to clear the screen and
13167 move the cursor to (0,0).
13168
13169 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13170 Call grub_terminfo_output_init.
13171 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13172 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13173 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13174
13175 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13178 only when needed.
13179
13180 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13183 CTRL.
13184
13185 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 The E820 type 5 is BADRAM, not EXEC_CODE.
13188
13189 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13190 (GRUB_E820_BADRAM): New define.
13191 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13192 into reserved. Propagate BADRAM.
13193 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13194 (GRUB_E820_BADRAM): New define.
13195
13196 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13199 Ignore the memory post-4G.
13200 (grub_relocator_firmware_alloc_region): Additional debug statement.
13201
13202 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13205 names.
13206 Reported by: David Pravec.
13207
13208 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13211 BIOSes.
13212
13213 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13216 Prevent overflow.
13217 (grub_reed_solomon_recover): Likewise.
13218
13219 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13222
13223 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13226 variable.
13227
13228 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13229
13230 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13231 descriptions of extract_legacy_entries_source and
13232 extract_legacy_entries_configfile.
13233 Reported by: Seung Soo, Ha.
13234
13235 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13236
13237 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13238 on devices that do not implement function 0.
13239
13240 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13241
13242 * grub-core/fs/hfsplus.c: Make parent unsigned.
13243 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13244 overflows.
13245 (grub_hfsplus_cmp_extkey): Likewise
13246
13247 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * util/grub-install.in: Correctly use bootloader_id and not
13250 GRUB_DISTRIBUTOR on efibootmgr line.
13251
13252 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13255
13256 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13257
13258 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13259 Xen and reorder menu item wording to make it clearer that this entry
13260 will launch Xen. Print separate messages when loading Xen and
13261 Linux.
13262
13263 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13266 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13267 loop in case of incorrect amiga partmap.
13268
13269 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13272 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13273 Reported by:EHeM.
13274
13275 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13278 spurious warning.
13279 Reported by: crocket
13280
13281 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13284 Preload EFIemu.
13285 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13286
13287 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13290 is loaded
13291 (grub_cmd_xnu_kextdir): Likewise.
13292 (grub_cmd_xnu_splash): Likewise.
13293
13294 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 Avoid using Reed-Solomon with 0 redundancy.
13297
13298 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13299 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13300 or 0 redundancy.
13301 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13302 (grub_reed_solomon_recover): Likewise.
13303
13304 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 Don't use disk subsystem in freebsd_boot.
13307
13308 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13309 (freebsd_biosdev): Likewise.
13310 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13311 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13312
13313 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 Handling of files of unknown size is currently limited. They can't be
13316 used e.g. for initrd or modules. Moreover gzip handling of not
13317 easily seekable files is buggy. Disable unknown file size for now. May
13318 be inefficient but works.
13319
13320 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13321 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13322
13323 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13324
13325 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13326 floppy probe.
13327
13328 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13329
13330 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13331
13332 2010-12-25 Shea Levy <shlevy>
13333
13334 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13335
13336 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13339 Windows Server 2008.
13340 Reported by: Devin Giddings.
13341
13342 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13345 writing an error message because of async power management.
13346 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13347 (grub_reboot): Likewise.
13348
13349 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13350
13351 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13352 keep unit tests from failing when they shouldn't.
13353
13354 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13355
13356 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13357 previous patch increased the size of the RS code by 20 bytes (at
13358 least with gcc-4.4), so increase this by 20 bytes to match.
13359 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13360
13361 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13362
13363 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13364 scratch area. Make sure to initialise chosen in standalone mode as
13365 well as non-standalone.
13366 Reported by: Robert Hooker and Andy Whitcroft.
13367 Tested by: Andy Whitcroft.
13368
13369 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13370
13371 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13372 constructing a new unescaped string and passing it to grub_xputs in
13373 one go, rather than passing characters to grub_printf one at a time.
13374
13375 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13376
13377 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13378 initialising utf16.
13379
13380 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13381
13382 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13383 comment. Add an extra layer of quotation, requiring the output of
13384 this function to be used in a printf format string.
13385 (gettext_printf): New function.
13386 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13387 Extract translatable strings from here-documents and use a temporary
13388 variable instead, so that xgettext can find them.
13389 * util/grub.d/10_kfreebsd.in: Likewise.
13390 * util/grub.d/10_linux.in: Likewise.
13391 * util/grub.d/20_linux_xen.in: Likewise.
13392
13393 * po/grub.d.sed: New file.
13394 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13395 arguments. Set c-format flags on all strings extracted from
13396 util/grub.d/ (xgettext refuses to include these itself for strings
13397 it extracted from a shell file, but these really are c-format).
13398
13399 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13402 Avoid next pointing to nowhere.
13403
13404 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13407 rather than assuming than rootblock is exactly in the middle.
13408 (grub_affs_label): Likewise.
13409
13410 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13413 reserved_first_sector to 0.
13414 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13415 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13416 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13417
13418 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13419
13420 Fix handling of UTF-16 UDF labels.
13421
13422 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13423 (read_string): .. here.
13424 (grub_udf_label): Use read_string.
13425
13426 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13427
13428 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13429 editor under argument scope.
13430 Reported by: Jordan Uggla
13431
13432 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13435
13436 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13437
13438 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13439 line, and other keys scroll an entire page (previous handling was
13440 for \r and \n to scroll a page and other keys to scroll two lines).
13441
13442 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13445 Set ptrdest to correct get_physical_target_address rather than
13446 incorrect get_virtual_current_address.
13447
13448 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13449
13450 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13451 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13452
13453 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13454
13455 * .bzrignore: Ignore grub-core/rs_decoder.S.
13456
13457 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13458
13459 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13460 .mo/.mo.gz opening sequence to ...
13461 (grub_mofile_open_lang): ... here.
13462 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13463 * util/grub.d/00_header.in (grub_lang): Include country part of
13464 locale.
13465 Reported by: Mario Limonciello.
13466
13467 2010-12-09 Robert Millan <rmh@gnu.org>
13468
13469 * NEWS: Document addition of ZFS support.
13470
13471 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13472
13473 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13474 rather than `/ 2', as the latter requires -Wa,--divide which would
13475 require bumping our minimum binutils version.
13476
13477 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13478
13479 * util/grub-script-check.c (main): Print script line number on
13480 error.
13481
13482 2010-12-01 Robert Millan <rmh@gnu.org>
13483
13484 * grub-core/fs/zfs/zfs.c: New file.
13485 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13486 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13487 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13488 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13489
13490 * include/grub/zfs/dmu.h: Likewise.
13491 * include/grub/zfs/dmu_objset.h: Likewise.
13492 * include/grub/zfs/dnode.h: Likewise.
13493 * include/grub/zfs/dsl_dataset.h: Likewise.
13494 * include/grub/zfs/dsl_dir.h: Likewise.
13495 * include/grub/zfs/sa_impl.h: Likewise.
13496 * include/grub/zfs/spa.h: Likewise.
13497 * include/grub/zfs/uberblock_impl.h: Likewise.
13498 * include/grub/zfs/vdev_impl.h: Likewise.
13499 * include/grub/zfs/zap_impl.h: Likewise.
13500 * include/grub/zfs/zap_leaf.h: Likewise.
13501 * include/grub/zfs/zfs.h: Likewise.
13502 * include/grub/zfs/zfs_acl.h: Likewise.
13503 * include/grub/zfs/zfs_znode.h: Likewise.
13504 * include/grub/zfs/zil.h: Likewise.
13505 * include/grub/zfs/zio.h: Likewise.
13506 * include/grub/zfs/zio_checksum.h: Likewise.
13507
13508 * Makefile.util.def: Build ZFS into libgrubmods.
13509 * grub-core/Makefile.core.def: Build zfs.mod.
13510
13511 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13512
13513 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13514 variable.
13515 * grub-core/commands/wildcard.c (match_files): Likewise.
13516
13517 2010-11-30 Robert Millan <rmh@gnu.org>
13518
13519 * grub-core/loader/i386/bsd.c
13520 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13521 whether kernel is loaded using grub_loader_is_loaded(), rather
13522 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13523 certain error conditions.
13524
13525 2010-11-30 Robert Millan <rmh@gnu.org>
13526
13527 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13528 (grub_cmd_echo): Call grub_refresh() after printing a message.
13529
13530 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 Avoid using tricks for initialising endian variables.
13533
13534 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13535 Make const.
13536 (GRUB_MOD_INIT): Don't byte-swap.
13537 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13538 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13539 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13540 (grub_swap_bytes32_compile_time): Likewise.
13541 (grub_cpu_to_le32_compile_time): Likewise.
13542 (grub_cpu_to_le16_compile_time): Likewise.
13543
13544 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 * util/grub-setup.c (setup): Stop recommending --force. People who
13547 understand the dangers of blocklists are able to find this option
13548 anyway and the ones who don't shouldn't use it anyway.
13549
13550 2010-11-26 Robert Millan <rmh@gnu.org>
13551
13552 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13553 Update all users.
13554
13555 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13556
13557 Fix LVM-on-RAID probing.
13558
13559 * util/grub-probe.c (probe): Remember which disk was detected as
13560 RAID (perhaps an LVM physical volume). Use that disk's raidname
13561 rather than that of the top-level disk.
13562
13563 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13564
13565 Fix cmdline argument quotes for setparams command of menuentry
13566 definitions.
13567
13568 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13569 quotes for arguments.
13570 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13571 grub_strchrsub function instead.
13572
13573 * include/grub/misc.h (grub_strchrsub): New function.
13574
13575 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13576
13577 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13578 effort by skipping "." and ".." entries up-front.
13579 Suggested by: Michael Lazarev.
13580
13581 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13582
13583 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13584 ldflags to ldadd, to fix link line ordering.
13585 (none_decompress): Likewise.
13586
13587 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13588
13589 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13590 platforms.
13591 (grub-emu-lite): Remove kern/emu/cache.S.
13592
13593 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13594
13595 * util/deviceiter.c (compare_devices): If the by-id link for a
13596 device couldn't be resolved, fall back to sorting by the by-id link
13597 rather than segfaulting.
13598 Reported and tested by: Daniel Mierswa.
13599
13600 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13601
13602 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13603 ldflags, to fix link line ordering.
13604
13605 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13606
13607 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13608 linkers are picky about this.
13609
13610 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13611
13612 * grub-core/Makefile.am (command.lst): Adjust sed expression
13613 ordering so that extended and priority commands aren't treated as
13614 ordinary commands.
13615
13616 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13617
13618 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13619 Remove byte-swapping function calls, which are not valid in
13620 structure initialisers.
13621 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13622 non-const.
13623 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13624 grub_gpt_partition_type_bios_boot.
13625
13626 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13627
13628 Fix test program build on GNU/kFreeBSD.
13629
13630 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13631 $(LIBNVPAIR)' library dependencies.
13632
13633 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13636
13637 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13638
13639 * util/grub-install.in: Remove excessive quoting that broke
13640 installations to RAID devices.
13641
13642 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13645 bootloader version instead of 0.
13646
13647 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13650 warning.
13651
13652 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13655 retrieve the metadat sector if size isn't known.
13656 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13657
13658 2010-11-18 Robert Millan <rmh@gnu.org>
13659
13660 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13661 with grub_memcmp().
13662
13663 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13666 arrow.
13667 Reported by: Jordan Uggla.
13668
13669 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 Make better UTF compliant.
13672
13673 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13674 sequences as incorrect.
13675 (grub_is_valid_utf8): Likewise.
13676 (grub_utf8_to_ucs4): Likewise.
13677 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13678 (grub_ucs4_to_utf8_alloc): Likewise.
13679 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13680
13681 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 Make legacy_source behave like source.
13684
13685 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13686 grub_show_menu.
13687 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13688
13689 2010-11-16 Colin Watson <cjwatson@debian.org>
13690
13691 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13692 (-Wunused implies -Wunused-parameter, but not vice versa).
13693
13694 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13695
13696 * configure.ac: Make error messages less confusing by testing for
13697 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13698 accepted, but produces a diagnostic if something else is wrong).
13699
13700 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13703 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13704 (now unused).
13705 (grub_keyboard_controller_init)
13706 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13707 read the initial state since controller isn't inited yet.
13708
13709 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13712 allocate_regbeg may need to create new chunk header.
13713
13714 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 Fix quoting in legacy parser.
13717
13718 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13719 single quotes.
13720 (grub_legacy_parse): Likewise.
13721 Reported by: Jordan Uggla.
13722 Tested by: Jordan Uggla.
13723
13724 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 Don't add -lgcc on i386 and x86_64.
13727
13728 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13729 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13730 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13731
13732 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * configure.ac: Add -Wno-trampolines when supported.
13735
13736 2010-11-14 Modestas Vainius <modax@debian.org>
13737
13738 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13739 fakeraid.
13740
13741 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13742
13743 Add generic logical block size support for UDF.
13744
13745 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13746 (GRUB_UDF_BLKSZ): Removed.
13747 (struct grub_udf_data): New field "lbshift" to hold the logical block
13748 size of the file system in log2 format. All users updated.
13749 (sblocklist): Change type to unsigned.
13750 (grub_udf_mount): Change type of "sblklist" to unsigned.
13751 Move AVDP search before VRS recognition, because the latter requires
13752 knowledge of the logical block size, which is detected during the
13753 former.
13754 Detect and validate logical block size during AVDP search, adding
13755 support for block sizes 512, 1024 and 4096.
13756 Make VRS recognition independent of block size.
13757
13758 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13759
13760 Properly handle deleted files on UDF.
13761
13762 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13763 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13764 set.
13765
13766 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13767
13768 Support reading files larger than 2 GiB.
13769
13770 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13771 "offset" to grub_off_t.
13772 (grub_udf_read_file): Likewise for parameter "pos".
13773
13774 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13777 unavailable.
13778 (Simple configuration): Refer to Changes from GRUB Legacy about
13779 save_env availability.
13780
13781 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 * util/grub-install.in: Ignore empty partition table detection
13784 instead of trying to include part_ module.
13785
13786 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13789 LVM on RAID support.
13790
13791 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 Properly define WORDS_BIGENDIAN in wrapped environments.
13794
13795 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13796 definition.
13797 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13798
13799 Reported by: Manoel Rebelo Abranches.
13800 Tested by: Manoel Rebelo Abranches.
13801
13802 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * util/grub-mkconfig.in: Fix quoting.
13805
13806 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 Support big ext2 files.
13809
13810 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13811 (grub_ext2_read_block): Support triple indirect blocks.
13812 (grub_ext2_read_file): Use 64-bit types and read size_high.
13813 (grub_ext2_open): Read size_high.
13814 Reported by: Ximin Luo.
13815 Tested by: Manoel Rebelo Abranches.
13816
13817 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * util/grub-install.in: Handle filenames containing spaces.
13820 Reported by: Jordan Uggla.
13821 Tested by: Jordan Uggla.
13822
13823 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * util/grub-mkconfig.in (grub_script_check): New variable.
13826 Use grub_script_check instead of grub-script-check.
13827 Reported by: Barry Jackson.
13828
13829 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * docs/grub.texi (menu): Correct the order.
13832 Reported by: D. Hugh Redelmeier.
13833
13834 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13837 jump.
13838
13839 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13840
13841 * include/grub/elfload.h (grub_elf32_size): New parameter.
13842 All users updated.
13843 Return maximum segments alignment.
13844 (grub_elf64_size): Likewise.
13845 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13846 Return maximum segments alignment.
13847 (grub_elf64_size): Likewise.
13848 * grub-core/loader/powerpc/ieee1275/linux.c:
13849 (grub_linux_claimmap_iterate): New function. Uses the
13850 "available" property in the "memory" node for memory allocation
13851 for kernel in the PowerPC loader.
13852 (grub_linux_load32): Correctly find linux entry point offset.
13853 (grub_linux_load64): Likewise.
13854
13855 2010-11-07 Robert Millan <rmh@gnu.org>
13856
13857 On mips-yeeloong, build with -march=loongson2f when this flag is
13858 available (GCC >= 4.4).
13859 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13860 `-march=mips3'.
13861 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13862 or otherwise add -march=mips3.
13863
13864 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13865
13866 Suppress shell expansion on echo '*' and echo "*" like cases.
13867 Reported by: Jordan Uggla.
13868
13869 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13870 string arguments before shell expansion.
13871 * tests/grub_cmd_echo.in: New testcases.
13872
13873 2010-11-07 Robert Millan <rmh@gnu.org>
13874
13875 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13876 transition.
13877
13878 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 * grub-core/kern/emu/hostdisk.c
13881 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13882
13883 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13886 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13887 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13888
13889 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13892
13893 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * util/grub-install.in: Replace useless recomendation to pass
13896 --modules with a recomendation to report a bug.
13897
13898 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 Properly register serial terminfo.
13901 Reported by: Jordan Uggla
13902
13903 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13904 const.
13905 (grub_serial_terminfo_output_template): Likewise.
13906 (grub_cmd_serial): Register "serial" with terminfo.
13907 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13908 grub_serial_terminfo_output.
13909
13910 2010-11-05 Robert Millan <rmh@gnu.org>
13911
13912 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13913 needed).
13914
13915 2010-11-05 Robert Millan <rmh@gnu.org>
13916
13917 On Yeeloong, pass machine type information to Linux.
13918
13919 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13920 (LOONGSON_MACHTYPE): New macro, set to
13921 "machtype=lemote-yeeloong-2f-8.9inches".
13922 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13923 additional argument to Linux.
13924
13925 2010-11-04 Robert Millan <rmh@gnu.org>
13926
13927 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13928 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13929 (its SATA disks are detected as slaveless IDE master drives on
13930 kFreeBSD).
13931 Reported by Carsten Aulbert.
13932
13933 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13934
13935 * util/bin2h.c (main): Fix spelling error in generated output.
13936
13937 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13938
13939 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13940
13941 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13944 vga= option is supplied.
13945
13946 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13949 * util/grub.d/10_kfreebsd.in: Likewise.
13950 * util/grub.d/10_linux.in: Likewise.
13951 * util/grub.d/20_linux_xen.in: Likewise.
13952
13953 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13956 argument as an argument to no-argument option.
13957
13958 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * util/grub.d/10_linux.in: Add missing load_video with explicit
13961 GRUB_GFXPAYLOAD_LINUX.
13962
13963 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13966
13967 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13970 elements with invlid index.
13971 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13972 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13973 members.
13974 * include/grub/raid.h (grub_raid_member): New struct.
13975 (grub_raid_array): Transform devices and start_sector into usage of
13976 grub_raid_member. All users updated
13977 (allocated_devs): New member.
13978
13979 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13982 is modified
13983
13984 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13985
13986 NetBSD build fix for getline function conflict from gnulib.
13987
13988 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13989 components that depend on gnulib headers.
13990 (libgrubmods.a): Renamed from earlier libgrub.a.
13991 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13992
13993 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13996 install rather than creating a broken install.
13997
13998 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * util/grub-setup.c (argp): Remove misleading example of installing to
14001 a partition.
14002
14003 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * util/grub-setup.c (setup): Clarify the error message.
14006
14007 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14008
14009 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14010
14011 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * grub-core/kern/emu/misc.c
14014 (grub_make_system_path_relative_to_its_root)
14015 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14016
14017 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * grub-core/kern/emu/misc.c
14020 (grub_make_system_path_relative_to_its_root): Revert r2882.
14021
14022 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14025 useless field head. All users updated.
14026 (free_subchunk): Correct handling of IN_REGION subchunk.
14027
14028 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14031 (Supported kernels): Likewise.
14032
14033 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14034
14035 Make mktemp invocations portable.
14036
14037 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14038 exit if mktemp fails.
14039 * tests/grub_script_blockarg.in: Likewise.
14040 * tests/partmap_test.in: Likewise.
14041 * tests/util/grub-shell-tester.in: Likewise.
14042 * tests/util/grub-shell.in: Likewise.
14043 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14044 * Makefile.am: Likewise, and chain shell commands with `&&'
14045 instead of ';'.
14046 * util/grub-mkrescue.in: Use the same explicit template as above, and
14047 exit if mktemp fails.
14048
14049 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14050
14051 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14052 Linux kernel, reported by Dennis Schridde.
14053
14054 2010-10-17 Szymon Janc <szymon@janc.net.pl>
14055
14056 * grub-core/normal/auth.c (grub_auth_check_authentication):
14057 Set-but-not-used variable removed.
14058
14059 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14062 32-bit linux protocol.
14063
14064 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14067 cursor shape for sanity.
14068
14069 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * docs/grub.texi (Installation): Document buggy BIOS install.
14072
14073 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * docs/grub.texi (Installation): Indent.
14076
14077 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * util/grub-setup.c (setup): New parameter allow_floppy.
14080 (arguments): New member allow_floppy.
14081 (argp_parser): Handle --allow-floppy.
14082 (main): Pass allow_floppy.
14083 * util/grub-install.in: New option --allow-floppy passed though to
14084 grub-setup.
14085
14086 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * util/grub-install.in: Handle partitionless disks.
14089
14090 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * util/grub-setup.c (setup): Don't clean blocklists before readability
14093 verfification.
14094
14095 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * docs/grub.texi (Installation): Document embedding zone. Remove
14098 obsolete grub-install example.
14099
14100 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14101
14102 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14103 Set-but-not-used variable ifdef'ed.
14104 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14105 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14106 variable removed.
14107 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14108 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14109 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14110 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14111 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14112 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14113 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14114 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14115 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14116 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14117 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14118 Likewise.
14119
14120 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14123 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14124 enum value.
14125
14126 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14129 synonym to _S5_. Needed for some DSDTs.
14130
14131 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Userspace ACPI parser debugging.
14134
14135 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14136 headers and add relevant defines. Don't include standard headers.
14137 (main) [GRUB_DSDT_TEST]: New function.
14138 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14139 Don't declare functions.
14140
14141 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14142
14143 Remove dead grub_efi_mm_fini.
14144
14145 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14146 (ALLOCATED_PAGES_SIZE): Likewise.
14147 (MAX_ALLOCATED_PAGES): Likewise.
14148 (allocated_pages): Likewise.
14149 (grub_efi_allocate_pages): Don't record allocated pages.
14150 (grub_efi_free_pages): Likewise.
14151 (grub_efi_mm_init): Likewise.
14152 (grub_efi_mm_fini): Removed.
14153
14154 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14157 (grub_efi_mm_init): Take into account the memory map size increase.
14158
14159 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14162 (serial_hw_put): Wait based on real time rather than port reads. Don't
14163 roken ports.
14164 * include/grub/serial.h (grub_serial_port): New field broken.
14165
14166 2010-10-16 Robert Millan <rmh@gnu.org>
14167
14168 * grub-core/kern/emu/misc.c
14169 (grub_make_system_path_relative_to_its_root): Fix premature return
14170 when processing non-root ZFS filesystems.
14171 Reported by Sergio Talens-Oliag.
14172
14173 2010-10-15 Robert Millan <rmh@gnu.org>
14174
14175 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14176 guarantee compressed ones are processed first.
14177
14178 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14181 grub_efiemu_autocore.
14182
14183 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14186 rather than 0x1b.
14187 (grub_console_getkey): Use correct jae opcode rather than ja.
14188
14189 2010-10-12 Robert Millan <rmh@gnu.org>
14190
14191 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14192 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14193 variable. All references updated.
14194
14195 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14196
14197 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 Correctly distinguish mdraid flavours.
14200
14201 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14202 (insert_array): New argument raid.
14203 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14204 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14205 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14206
14207 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14210 handling of special keys.
14211
14212 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14213
14214 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14215 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14216
14217 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14218
14219 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14220 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14221 users updated.
14222 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14223 Use right endpoint when querying descriptor.
14224
14225 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 Clear out 0x80 color bit on EFI.
14228 Tested by: decoder
14229 Reported by: decoder and meta tech.
14230
14231 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14232 (grub_console_setcolorstate): Clear out 0x80 bit.
14233 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14234 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14235 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14236
14237 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14240 Set to "auto".
14241
14242 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14245 mo_file after freeing.
14246
14247 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14250
14251 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14254 flags.
14255
14256 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14259 usage.
14260
14261 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14264
14265 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14266 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14267 and terminfo.h when needed.
14268 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14269 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14270 (terminfo): Enable only on terminfokernel.
14271 (extcmd): Likewise.
14272 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14273 * include/grub/lib/arg.h: Likewise.
14274 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14275 incorrect usage of ->.
14276
14277 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14280 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14281
14282 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Fix coreboot compilation.
14285
14286 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14287 Take VBE info into account even if only text is supported.
14288 (fill_vbe_info): Take into account the case when only VGA text
14289 is supported.
14290 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14291 on coreboot, multiboot and qemu.
14292
14293 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14296 debug messages.
14297 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14298
14299 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14302 parameters.
14303
14304 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14307 if they were BSD-style.
14308
14309 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/boot/i386/pc/lnxboot.S: Replace
14312 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14313 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14314
14315 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 Write embedding zone using Reed-Solomon.
14318
14319 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14320 * grub-core/Makefile.am (rs_decoder.S): New target.
14321 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14322 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14323 (multiboot): Move to RS part.
14324 (post_reed_solomon): New label.
14325 (grub_boot_drive): Move to non-RS part since it's modified in memory
14326 on boot.
14327 Include rs_decoder.S.
14328 * grub-core/lib/reed_solomon.c: New file.
14329 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14330 New definition.
14331 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14332 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14333 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14334 * include/grub/partition.h (grub_partition_map): Change prototype of
14335 embed to allow returning additional sectors.
14336 * include/grub/reed_solomon.h: New file.
14337 * util/grub-setup.c (setup): Handle Reed-Solomon.
14338
14339 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14340
14341 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14342 i386 and x86-64 definedness tests.
14343
14344 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14345
14346 Fix generation of kernel_syms.lst
14347
14348 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14349 ASM_PREFIX
14350
14351 2010-09-26 Robert Millan <rmh@gnu.org>
14352
14353 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14354
14355 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14356 the pool is an array of devices, iterate through it and return the
14357 first device that passes a stat() test (instead of blindly returning
14358 the first one).
14359
14360 2010-09-26 Robert Millan <rmh@gnu.org>
14361
14362 Build fixes for GNU/kFreeBSD.
14363
14364 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14365 to programs that require ZFS conversion.
14366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14367 kernels that don't have FLOPPY_MAJOR.
14368
14369 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14370
14371 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14372
14373 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14374
14375 Fix grub-emu build.
14376
14377 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14378 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14379 mdraid09 and mdraid1x.
14380
14381 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14382
14383 Re-enable grub-extras.
14384
14385 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14386 avoid confusing Automake. Run autogen only twice, once for the top
14387 level and once for grub-core. Add Makefile.util.def and
14388 Makefile.core.def from extra modules to the appropriate autogen
14389 invocations. If Makefile.common exists in an extra module, include
14390 it in both Makefile.util.am and grub-core/Makefile.core.am;
14391 similarly, include any Makefile.util.common file in Makefile.util.am
14392 and any Makefile.core.common file in grub-core/Makefile.core.am.
14393 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14394 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14395 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14396 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14397
14398 * gentpl.py (gvar_add): Turn GVARS into a set.
14399 (global_variable_initializers): Sort global variables on output.
14400 (vars_init): New function.
14401 (first_time): Likewise.
14402 (library): Ensure that non-global variable initialisations are
14403 emitted before the first time we emit code for a library block.
14404 Append to variables rather than setting them. Only emit
14405 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14406 each conditional path.
14407 (program): installdir() emits an Autogen macro, so must be passed to
14408 var_add rather than gvar_add.
14409 (data): Likewise.
14410 (script): Likewise.
14411 (rules): New function, centralising handling for different target
14412 types. Set up Guile association lists for first_time and vars_init,
14413 and send most output to a diversion so that variable initialisations
14414 can be emitted first.
14415 (module_rules): Use new rules function.
14416 (kernel_rules): Likewise.
14417 (image_rules): Likewise.
14418 (library_rules): Likewise.
14419 (program_rules): Likewise.
14420 (script_rules): Likewise.
14421 (data_rules): Likewise.
14422
14423 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14424
14425 * .bzrignore: Add contrib and grub-core/contrib. Remove
14426 grub-core/Makefile.gcry.am.
14427
14428 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14429
14430 * grub-core/lib/LzFind.c: Add missing include.
14431 * grub-core/lib/LzmaEnc.c: Likewise.
14432 * grub-core/script/lexer.c: Likewise.
14433 * grub-core/script/yylex.l: Likewise.
14434 * util/grub-macho2img.c: Likewise.
14435 * util/grub-menulst2cfg.c: Likewise.
14436 * util/grub-mklayout.c: Likewise.
14437 * util/grub-mkpasswd-pbkdf2.c
14438 * util/grub-mkrelpath.c: Likewise.
14439 * util/resolve.c: Likewise.
14440
14441 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14442
14443 * Makefile.util.def (example_unit_test): Add
14444 grub-core/gnulib/libgnu.a.
14445
14446 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14447
14448 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14449
14450 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 Support xz compression on yeeloong.
14453
14454 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14455 * configure.ac: Check for LZMA.
14456 * grub-core/Makefile.core.def (xz_decompress): New target.
14457 (none_decompress): Likewise.
14458 * grub-core/boot/decompressor/minilib.c: New file.
14459 * grub-core/boot/decompressor/none.c: Likewise.
14460 * grub-core/boot/decompressor/xz.c: Likewise.
14461 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14462 * grub-core/kern/mips/cache_flush.S: Likewise.
14463 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14464 * grub-core/kern/mips/startup.S: Move first stage to ...
14465 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14466 nomacro.
14467 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14468 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14469 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14470 Allocate statically.
14471 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14472 Allocate statically or use scratch. Don't check CRC32.
14473 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14474 Allocate statically. Don't check CRC32.
14475 * include/grub/decompressor.h: New file.
14476 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14477 Removed.
14478 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14479 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14480 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14481 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14482 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14483 * util/grub-mkimage.c (grub_compression_t): New type.
14484 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14485 (image_target_desc): New field default_compression.
14486 (image_targets): Adjust yeeloong targets.
14487 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14488 (compress_kernel): New parameter comp.
14489 (generate_image): Likewise. Handle new compression case.
14490 (options): New option --compression
14491 (help): Likewise.
14492 (main): Handle new option.
14493
14494 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14495
14496 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14497
14498 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14499
14500 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14501 typo in __i386__ conditional.
14502
14503 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14506 include.
14507
14508 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 Implement EFI and ACPI multiboot2 extensions.
14511
14512 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14513 new tags as supported.
14514 (acpiv2_size): New function.
14515 (grub_multiboot_get_mbi_size): Take new tags into account.
14516 (grub_multiboot_make_mbi): Add new tags.
14517 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14518
14519 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14520
14521 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14522 Added missing configuration of USB device.
14523
14524 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14525
14526 * grub-core/normal/menu_entry.c (run): Make sure we always return
14527 a value.
14528
14529 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14530
14531 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14532 NumberOfPages is UINT64 according to the UEFI specification, not
14533 UINTN. Fix printf format.
14534
14535 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14536
14537 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14538 `err' to grub_usb_err_t.
14539 Reported and tested by: KESHAV P.R.
14540
14541 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14542
14543 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14544 tpart non-const, so that we can assign to it. (Since this is a
14545 typedef, the constness refers to the pointer rather than what it
14546 points to.)
14547
14548 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14549
14550 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14551 $(top_srcdir)/grub-core/gnulib as well as
14552 $(top_builddir)/grub-core/gnulib.
14553 Reported by: KESHAV P.R.
14554
14555 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14556
14557 * util/grub-install.in: Fix the bootloader ID option to be
14558 consistently --bootloader-id, not --bootloader_id.
14559 Reported by: KESHAV P.R.
14560
14561 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14562
14563 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14564 check hash checksum." consistently translatable.
14565
14566 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14567
14568 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14569 $(top_builddir).
14570
14571 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14572
14573 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14574 (GRUB_MOD_INIT): Register sha1sum command.
14575 (GRUB_MOD_FINI): Unregister sha1sum command.
14576
14577 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14578
14579 Keep boot and grub directory names in sync with utils scripts
14580
14581 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14582 * config.h.in: Add previous macros.
14583 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14584 * util/grub-install.in: Use $bootdir and $grubdir variables.
14585
14586 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14587
14588 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14589 convert partition names to disk names if the new `convert' parameter
14590 is set.
14591 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14592 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14593 disk in its own right. This can happen with Xen disk images.
14594
14595 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14596
14597 * util/grub-editenv.c: Update strings to avoid warnings when generating
14598 grub.pot file.
14599 * util/grub-setup.c: Likewise.
14600
14601 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * configure.ac: Change version to 1.99~beta0.
14604
14605 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14608 Add BADRAM.
14609 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14610 Likewise.
14611 * include/multiboot.h: Resynced with specification.
14612 * include/multiboot2.h: Likewise.
14613
14614 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14615
14616 Fix po directory handling.
14617
14618 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14619 * grub-core/gnulib/Makefile.am: Import gettext module.
14620 * m4/gnulib-cache.m4: Likewise.
14621 * m4/gnulib-comp.m4: Likewise.
14622 * m4/gettext.m4: New file, from gnulib.
14623 * m4/glibc2.m4: Likewise.
14624 * m4/iconv.m4: Likewise.
14625 * m4/intdiv0.m4: Likewise.
14626 * m4/intl.m4: Likewise.
14627 * m4/intldir.m4: Likewise.
14628 * m4/intlmacosx.m4: Likewise.
14629 * m4/intmax.m4: Likewise.
14630 * m4/inttypes-pri.m4: Likewise.
14631 * m4/lcmessage.m4: Likewise.
14632 * m4/lib-ld.m4: Likewise.
14633 * m4/lib-link.m4: Likewise.
14634 * m4/lib-prefix.m4: Likewise.
14635 * m4/lock.m4: Likewise.
14636 * m4/nls.m4: Likewise.
14637 * m4/po.m4: Likewise.
14638 * m4/printf-posix.m4: Likewise.
14639 * m4/progtest.m4: Likewise.
14640 * m4/threadlib.m4: Likewise.
14641 * m4/uintmax_t.m4: Likewise.
14642 * m4/visibility.m4: Likewise.
14643 * po/Makefile.am: Remove.
14644 * po/Makefile.in.in: New file, from gettext.
14645 ($(DOMAIN).pot-update): Support POTFILES-shell.
14646 * po/Makevars: New file.
14647 * po/POTFILES-shell: Rename to ...
14648 * po/POTFILES-shell.in: ... this. Update.
14649 * po/POTFILES: Rename to ...
14650 * po/POTFILES.in: ... this. Update.
14651 * po/Rules-quot: New file, from gettext.
14652 * po/boldquot.sed: Likewise.
14653 * po/en@boldquot.header: Likewise.
14654 * po/en@quot.header: Likewise.
14655 * po/insert-header.sin: Likewise.
14656 * po/quot.sed: Likewise.
14657 * po/remove-potcdate.sin: Likewise.
14658
14659 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14662
14663 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * util/grub.d/20_linux_xen.in: Use submenus.
14666
14667 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 Support submenus.
14670
14671 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14672 parameter submenu. All users updated.
14673 * grub-core/normal/main.c (free_menu): Rename to ...
14674 (grub_normal_free_menu): ... this. Made global.
14675 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14676 if requested.
14677 * grub-core/normal/menu_entry.c (screen): New field submenu.
14678 (make_screen): Set submenu.
14679 (run): Open new context if requested.
14680 * include/grub/menu.h (grub_menu_entry): New field submenu.
14681 * include/grub/normal.h (grub_normal_free_menu): New proto.
14682
14683 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 Menu entries extractor.
14686
14687 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14688 variants.
14689 (GRUB_MOD_INIT): Register new variants.
14690 (GRUB_MOD_FINI): Unregister new variants.
14691 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14692 into grub_cmd_legacy_source.
14693 (grub_cmd_legacy_source): Implement extractor variants.
14694 (GRUB_MOD_INIT): Register new variants.
14695 (GRUB_MOD_FINI): Unregister new variants.
14696 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14697 as an extractor.
14698 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14699 search as an extractor.
14700 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14701 test as an extractor.
14702 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14703 as an extractor.
14704 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14705 (grub_env_new_context): New function.
14706 (grub_env_context_open): Likewise.
14707 (grub_env_extractor_open): Likewise.
14708 (grub_env_extractor_close): Likewise.
14709 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14710 grub_extractor_level.
14711 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14712 * include/grub/env.h (grub_env_extractor_open): New proto.
14713 (grub_env_extractor_close): Likewise.
14714 * include/grub/normal.h (grub_extractor_level): New external variable.
14715
14716 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 Make cutmem accept a region specification.
14719 Suggested by: Samuel Thibault
14720
14721 * grub-core/mmap/mmap.c (parsemem): New function.
14722 (grub_cmd_cutmem): Handle new arguments.
14723
14724 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14725
14726 New command cutmem.
14727
14728 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14729 (GRUB_MOD_INIT): Register new command.
14730 (GRUB_MOD_FINI): Unregister new command.
14731
14732 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 Support some annoying BSD and Minix subpartitions.
14735
14736 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14737 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14738 Properly handle concatenation.
14739 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14740 * grub-core/normal/completion.c (iterate_partition): Likewise.
14741 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14742 contain partition. All users updated.
14743 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14744 struct.
14745 (grub_openbsdlabel_partition_map): Likewise.
14746 (bsdlabel_partition_map_iterate): Rename to ..
14747 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14748 (bsdlabel_partition_map_iterate): New function.
14749 (netopenbsdlabel_partition_map_iterate): Likewise.
14750 (netbsdlabel_partition_map_iterate): Likewise.
14751 (openbsdlabel_partition_map_iterate): Likewise.
14752 (GRUB_MOD_INIT): Register new partmaps.
14753 (GRUB_MOD_FINI): Unregister new partmaps.
14754 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14755 (grub_partition_msdos_iterate): ... this. All users updated.
14756 Don't support embedding other than in a minix partition.
14757 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14758 proto.
14759 * include/grub/partition.h (grub_partition): New field msdostype.
14760 * util/grub-install.in: Handle openbsd and netbsd types being in
14761 part_bsd module.
14762
14763 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14766
14767 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14768 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14769 (mdraid09): ... this.
14770 (mdraid1x): New module.
14771 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14772 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14773
14774 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14777 vsprintf.
14778
14779 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14780
14781 * grub-core/commands/efi/lsefimmap.c: Correct header.
14782 * NEWS: Update.
14783
14784 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14785
14786 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14787 as printf format strings; the translations might contain '%' which
14788 could cause a crash.
14789 (main): Likewise.
14790 * util/grub-fstest.c (argp_parser): Likewise.
14791 * util/grub-setup.c (argp_parser): Likewise.
14792 (main): Likewise.
14793
14794 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 Use argp in grub-fstest.
14797
14798 * util/grub-fstest.c: Don't include getopt.h.
14799 Include argp.h.
14800 (root): New variable.
14801 (args_count): Likewise.
14802 (nparm): Likewise.
14803 (num_disks): Likewise.
14804 (images): Likewise.
14805 (cmd): Likewise.
14806 (debug_str): Likewise.
14807 (args): Likewise.
14808 (options): Transformed to argp.
14809 (usage): Removed.
14810 (main): Split argument parsing into ...
14811 (argp_parser): ... this. Changed to argp format.
14812 (argp): New variable.
14813 (main): Use argp_parse.
14814
14815 2010-09-20 Tristan Gingold <gingold@free.fr>
14816 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14817 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * grub-core/commands/efi/lsefimmap.c: New file.
14820 * grub-core/Makefile.core.def (lsefimmap): New module.
14821 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14822
14823 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 Pause the execution (10s max) if any errors are displayed so the user
14826 has a chance to see them.
14827
14828 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14829 (grub_print_error): Increment grub_err_printed_errors.
14830 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14831 execution if any errors were displayed.
14832 (show_menu): Remove old code for pause.
14833 * grub-core/normal/menu_entry.c (run): Likewise.
14834 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14835 users updated.
14836 (grub_normal_get_char_counter): Likewise.
14837 * include/grub/err.h (grub_err_printed_errors): New external variable.
14838 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14839
14840 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 Support multiboot VBE info.
14843
14844 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14845 Take VBE info into account.
14846 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14847 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14848 Call fill_vbe_info when appropriate.
14849 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14850 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14851 as supported.
14852 (grub_multiboot_get_mbi_size): Take new tags into account.
14853 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14854 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14855 Call fill_vbe_tag when appropriate.
14856 (grub_multiboot_make_mbi): Properly align tags.
14857 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14858 function.
14859 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14860 proto.
14861 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14862
14863 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 Suport manual terminal geometry specification.
14866
14867 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14868 Save state in grub_ofconsole_terminfo_output.
14869 (grub_ofconsole_term): Use grub_terminfo_getwh.
14870 (grub_ofconsole_getwh): Removed.
14871 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14872 (grub_serial_term): Use grub_terminfo_getwh.
14873 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14874 (options): New struct.
14875 (OPTION_*): New enum.
14876 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14877 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14878 width and height.
14879 (grub_terminfo_getwh): New proto.
14880 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14881
14882 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 Handle legacy "terminal" command.
14885
14886 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14887 and FLAG_TERMINAL.
14888 (legacy_commands): Add terminal and title.
14889 (grub_legacy_parse): Handle terminal. Simplify title handling.
14890
14891 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14894 parameters overflow.
14895
14896 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14897
14898 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14899 widthspec.h.
14900
14901 * docs/grub.texi (Shell-like scripting): Document `!'.
14902 (Network): Simplify using new i386-pc-pxe format. Mention
14903 grub-mknetdir.
14904
14905 * NEWS: Update.
14906
14907 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14908
14909 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14910 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14911 when needed.
14912
14913 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14914
14915 * grub-core/commands/efi/lsefisystab.c: Correct header.
14916 * grub-core/commands/efi/lssal.c: Likewise.
14917 * grub-core/commands/testload.c: Likewise.
14918
14919 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14920
14921 * util/grub-mkrescue.in: Add explicit root argument to --set to
14922 prevent the UUID being interpreted as an argument to --set (matches
14923 previous change to prepare_grub_to_access_device).
14924
14925 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14926
14927 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14928 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14929 the verbosity of later #ifs.
14930 (find_partition_start): Define this function on FreeBSD too.
14931 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14932 function.
14933 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14934 on FreeBSD.
14935
14936 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14937
14938 * util/grub-editenv.c: Use argp instead of getopt.
14939
14940 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14941
14942 * util/grub-setup.c: Use argp instead of getopt.
14943
14944 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14945
14946 Use gnulib-tool to create gnulib source files.
14947
14948 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14949 grub-core/gnulib directories
14950 * .bzignore: Add **/.deps and autogenerated gnulib files
14951 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14952 of gnulib macros, add grub-core/gnulib/Makefile
14953 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14954 include m4 directory to aclocal.
14955 * Makefile.util.def: Remove direct compilation of gnulib source files
14956 and use the new grub-core/gnulib/libgnu.a.
14957 * build-aux/config.rpath: move config.rpath from top directory to
14958 build-aux
14959 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14960 in gnulib headers
14961 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14962 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14963 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14964 header.
14965 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14966 string.
14967
14968 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14969
14970 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14971 grub-core/genmod.sh and grub-core/gensyminfo.sh
14972
14973 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14974
14975 Add a test for echo command options.
14976
14977 * tests/grub_cmd_echo.in: New test.
14978 * Makefile.util.def: Rules for new test.
14979
14980 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14981
14982 Remove crc.mod and move crc command to hashsum.mod.
14983 Remove lib/crc.c - users updated to use gcrypt implementation.
14984
14985 * grub-core/commands/crc.c: Removed.
14986 * grub-core/Makefile.core.def (crc): Module removed.
14987 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14988 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14989 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14990 * grub-core/lib/crc.c: Removed.
14991 * include/grub/lib/crc.h: Removed.
14992 * Makefile.util.def (crc): Remove lib/crc.c
14993 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14994 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14995 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14996 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14997 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14998 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14999
15000 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15003
15004 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 Split config.h for util and core.
15007
15008 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15009 (ADDR32): Likewise.
15010 (DATA32): Likewise.
15011 (BSS_START_SYMBOL): Likewise.
15012 (END_SYMBOL): Likewise.
15013 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15014 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15015 * config.h.in: New file.
15016 * configure.ac: Use config-util.h as config define file.
15017 Rename MACHINE into GRUB_MACHINE. All users updated.
15018 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15019 updated.
15020 (NESTED_FUNC_ATTR): Likewise.
15021 Substitue new variables.
15022 (COND_HAVE_ASM_USCORE): New conditional.
15023 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15024 (kernel_syms.lst): Use ASM_PREFIX.
15025 * grub-core/kern/emu/console.c: Include config-util.h.
15026 * grub-core/kern/emu/misc.c: Likewise.
15027 * grub-core/kern/emu/mm.c: Likewise.
15028 * include/grub/emu/misc.h: Likewise.
15029 * include/grub/libgcc.h: Likewise.
15030
15031 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15034 constants usage.
15035 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15036 Fix GRUB_TERM_KEY_* constants usage.
15037 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15038
15039 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15042 print pointer.
15043 * grub-core/bus/usb/uhci.c: Remove empty define.
15044 (grub_uhci_check_transfer): Add missing cast.
15045 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15046 print pointer.
15047 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15048 PRIuGRUB_SIZE.
15049 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15050
15051 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 * grub-core/Makefile.core.def (legacycfg): Add
15054 lib/i386/pc/vesa_modes_table.c on emu.
15055
15056 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15057
15058 Reduce number of temporary files generated by build system.
15059
15060 * grub-core/gencmdlist.sh: Removed.
15061 * grub-core/genfslist.sh: Removed.
15062 * grub-core/genhandlerlist.sh: Removed.
15063 * grub-core/genmodsrc.sh: Removed.
15064 * grub-core/genpartmaplist.sh: Removed.
15065 * grub-core/genparttoollist.sh: Removed.
15066 * grub-core/gentermiinallist.sh: Removed.
15067 * grub-core/genvideolist.sh: Removed.
15068
15069 * grub-core/genmod.sh.in: New file.
15070 * grub-core/gensyminfo.sh.in: New file.
15071
15072 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15073 * conf/Makefile.extra-dist: Update with new files.
15074 * gentpl.py: Remove rules related to unnecessary temporary files.
15075 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15076 and und-* files.
15077 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15078 genmod.sh scripts.
15079 * grub-core/bus/usb/uhci.c: Remove empty #define.
15080 * grub-core/genmoddep.awk: Updated with new syminfo format.
15081 * util/bash-completion.d/Makefile.am: Add config.log to
15082 CLEANFILES.
15083
15084 2010-09-19 Yves Blusseau <blusseau@zetam.org>
15085
15086 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15087
15088 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15089
15090 * util/grub-mkconfig.in: Check the config script for syntax errors
15091 before saving.
15092
15093 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15094 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15097 platforms.
15098 * util/grub-install.in: Add EFI and IEEE1275 support.
15099 * util/i386/efi/grub-install.in: Removed.
15100 * util/ieee1275/grub-install.in: Likewise.
15101
15102 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15105 (grub_cmd_cmosclean): Likewise.
15106 (GRUB_MOD_INIT): Register command cmosclean.
15107 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15108 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15109
15110 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15111 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15112 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 Add keyboard layouts support.
15115
15116 * Makefile.util.def (grub-mklayout): New file.
15117 (grub-kbdcomp): New script.
15118 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15119 Add keyboard_layouts.h.
15120 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15121 commands/boot.c on yeeloong.
15122 (keylayouts): New module.
15123 * grub-core/bus/usb/ohci.c
15124 * grub-core/bus/usb/uhci.c
15125 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15126 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15127 (attach_root_port): Likewise.
15128 (poll_nonroot_hub): Likewise.
15129 (grub_usb_poll_devices): Likewise.
15130 (detach_device): Close transfer.
15131 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15132 function.
15133 (grub_usb_bulk_setup_readwrite): Likewise.
15134 (grub_usb_bulk_finish_readwrite): Likewise.
15135 * grub-core/commands/keylayouts.c: New file.
15136 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15137 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15138 aliases.
15139 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15140 support scancode 2.
15141 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15142 * include/grub/keyboard_layouts.h: New file.
15143 * util/grub-mklayout.c: New file.
15144 * util/grub-kbdcomp.in: Likewise.
15145
15146 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 Unify memory types.
15149
15150 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15151 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15152 types.
15153 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15154 (grub_upper_mem): Likewise.
15155 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15156 * include/grub/memory.h (grub_memory_type_t): New enum.
15157 All users updated.
15158
15159 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * grub-core/Makefile.core.def (lsapm): New module.
15162 * grub-core/commands/i386/pc/lsapm.c: New file.
15163 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15164 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15165 Likewise.
15166 * include/grub/i386/pc/apm.h: New file.
15167 * include/multiboot.h (multiboot_apm_info): New struct.
15168
15169 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 GRUB-legacy configuration file support.
15172
15173 * Makefile.util.def (grub-menulst2cfg): New util.
15174 * docs/man/grub-menulst2cfg.h2m: New file.
15175 * grub-core/Makefile.core.def (legacycfg): New module.
15176 * grub-core/commands/legacycfg.c: New file.
15177 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15178 (grub_normal_add_menu_entry): ... this.
15179 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15180 (grub_normal_set_password): ...this.
15181 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15182 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15183 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15184 * grub-core/lib/legacy_parse.c: New file.
15185 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15186 * include/grub/i386/pc/vesa_modes_table.h: New file.
15187 * include/grub/legacy_parse.h: Likewise.
15188 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15189 * util/grub-menulst2cfg.c: New file.
15190
15191 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * grub-core/kern/emu/hostdisk.c
15194 (convert_system_partition_to_system_disk): Initialise node.
15195
15196 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15197
15198 * grub-core/kern/emu/hostdisk.c
15199 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15200 leak.
15201 Reported and based on patch by: Modestas Vainius.
15202
15203 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15204
15205 Fix DM-RAID probing with recent versions of device-mapper udev
15206 rules.
15207
15208 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15209 canonicalise device paths under /dev/mapper/.
15210 (convert_system_partition_to_system_disk): Compare the
15211 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15212 path, since device nodes under /dev/mapper/ are often symlinks.
15213
15214 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15215
15216 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15217
15218 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15219
15220 * configure.ac: Avoid some annoying error messages if freetype-config
15221 program is not found.
15222
15223 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15224
15225 Support RAID on virtio devices, and others.
15226
15227 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15228 Rename to ...
15229 [__MINGW32__] (grub_find_device): ... this.
15230 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15231 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15232 reasonable default if dir is NULL.
15233 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15234 ...
15235 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15236 (grub_guess_root_device): Update callers.
15237 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15238
15239 * util/raid.c (grub_util_getdiskname): Remove.
15240 (grub_util_raid_getmembers): Use grub_find_device rather than
15241 grub_util_getdiskname.
15242
15243 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15244
15245 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15246 needing to be compiled with serial support.
15247 (ls): Indicate that multiple files are accepted.
15248 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15249 indicate that multiple files are accepted.
15250
15251 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15252
15253 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15254 libgrub_a_init.c, and util/bash-completion.d/grub.
15255
15256 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * util/grub-setup.c (setup): Fix incorrect container semantics.
15259
15260 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15263 misusage.
15264 Reported by: J. Nick Terry
15265
15266 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Move embedding routines to partmap sources files.
15269
15270 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15271 [GRUB_UTIL]: New variable.
15272 (gpt_partition_map_iterate): Set part.parent.
15273 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15274 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15275 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15276 New function.
15277 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15278 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15279 (grub_partition_map) [GRUB_UTIL]: New field embed.
15280 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15281 (setup): Use ->embed.
15282
15283 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15286 function.
15287 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15288 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15289
15290 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15291
15292 Add function to get completions from usage.
15293
15294 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15295 completions from usage. Use LC_ALL=C to get options properly.
15296
15297 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * grub-core/gnulib/basename-lgpl.c: Imported.
15300 * grub-core/gnulib/basename.c: Likewise.
15301 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15302 * grub-core/gnulib/dirname.c: Likewise.
15303 * grub-core/gnulib/dirname.h: Likewise.
15304 * grub-core/gnulib/stripslash.c: Likewise.
15305
15306 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * grub-core/gnulib/error.c: Resynced.
15309 * grub-core/gnulib/getopt.c: Likewise.
15310 * grub-core/gnulib/getopt_int.h: Likewise.
15311 * grub-core/gnulib/regex.h: Likewise.
15312 * grub-core/gnulib/regex_internal.c: Likewise.
15313 * grub-core/gnulib/regex_internal.h: Likewise.
15314
15315 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15316
15317 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15318 CRC calculations and validity checks.
15319 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15320 calculations.
15321
15322 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15323
15324 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15325
15326 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 Fix incorrect echo options handling.
15329 Reported by: Yves Blusseau.
15330
15331 * include/grub/command.h (grub_command_flags_t): New flags
15332 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15333 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15334 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15335
15336 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15339 users updated.
15340 (GRUB_COMMAND_FLAG_MENU): Likewise.
15341 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15342 (GRUB_COMMAND_FLAG_TITLE): Removed.
15343 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15344 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15345 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15346 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15347 (grub_command_flags_t): New enum. All users updated.
15348
15349 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15350
15351 Fix solaris compilation.
15352
15353 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15354 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15355 (grub-emu-list): Likewise.
15356
15357 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 Remove deprecated root command.
15360
15361 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15362 updated.
15363
15364 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * util/i386/pc/grub-setup.c: Merge this ...
15367 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15368 * util/grub-setup.c: ... into this.
15369 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15370 New struct.
15371
15372 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15375 possible.
15376
15377 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15380 allocate p.
15381
15382 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15385 explicit root argument to set to prevent UUID to be interpreted as
15386 argument to set.
15387
15388 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15391
15392 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 Don't export grub_gate_a20.
15395
15396 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15397 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15398 to ...
15399 (grub_gate_a20): ... this. All users updated.
15400 * include/grub/i386/pc/init.h: Removed. All users updated.
15401
15402 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 Create euro.pf2 which supports most European languages.
15405
15406 * Makefile.am (grubdata_DATA): Add euro.pf2.
15407 (euro.pf2): New target.
15408 (CLEANFILES): Add euro.pf2.
15409
15410 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 * configure.ac: Disable emu-usb by default to prevent inadvertent
15413 device takeover.
15414
15415 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 Disable usbserial on grub-emu since our libusb code isn't good enough
15418 yet.
15419
15420 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15421 (usbserial_pl2303): Likewise.
15422 (usbserial_ftdi): Likewise.
15423
15424 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 * include/grub/disk.h (grub_disk): Remove has_partitions.
15427 All users updated.
15428 * disk/loopback.c (grub_loopback): Remove has_partitions.
15429 All users updated.
15430 (options): Remove partitions. All users updated.
15431 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15432 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15433 actual partition table is found.
15434
15435 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 Remove readability checks (too many false negatives).
15438
15439 * util/grub-install.in: Remove readability checks.
15440 * util/grub-mkconfig.in: Likewise.
15441 * util/grub.d/10_hurd.in: Likewise.
15442 * util/grub.d/10_kfreebsd.in: Likewise.
15443 * util/grub.d/10_linux.in: Likewise.
15444 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15445 way.
15446
15447 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 Enable acpi shutdown on all ACPI platforms.
15450
15451 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15452 on coreboo, multiboot and EFI.
15453 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15454 (grub_acpi_halt): Likewise.
15455 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15456 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15457 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15458 * grub-core/lib/i386/halt.c (grub_halt)
15459 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15460
15461 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15464 context.
15465
15466 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15469 * grub-core/video/efi_uga.c: Likewise.
15470
15471 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 Filter devaliases and never open same device twice.
15474
15475 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15476 (last_ihandle): Likewise.
15477 (ofdisk_hash_ent): New member shortest.
15478 (ofdisk_hash_add): Add canonical path too.
15479 (scan): New function.
15480 (grub_ofdisk_iterate): Iterate over hashed entries.
15481 (compute_dev_path): Don't add :0.
15482 (grub_ofdisk_open): Don't really open the disk.
15483 (grub_ofdisk_close): Avoid closing unrelated disk.
15484 (grub_ofdisk_read): Implement reopen logic.
15485 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15486 New function.
15487 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15488 New proto.
15489
15490 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 Fix sparc64.
15493
15494 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15495 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15496 right address. Add sparc64_ieee1275_ldflags.
15497 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15498 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15499 to grub_host_to_target_addr
15500 (load_image): Likewise.
15501
15502 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * grub-core/normal/completion.c (complete_file): Handle device
15505 containing slash.
15506 Fix based on patch by Doug Nazar.
15507
15508 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 grub-mknetdir script.
15511
15512 * Makefile.util.def (grub-mknetdir): New module.
15513 * tests/util/grub-shell.in: Support boot=net
15514 * util/grub-mknetdir.in: New file.
15515
15516 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 videoinfo on non-vbe.
15519
15520 * grub-core/Makefile.core.def (vbeinfo): Removed.
15521 (vbetest): Removed.
15522 (videoinfo): New module.
15523 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15524 * grub-core/commands/i386/pc/vbetest.c: Removed.
15525 * grub-core/commands/videoinfo.c: New file.
15526 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15527 specification.
15528 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15529 as vbetest.
15530 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15531 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15532 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15533 mode_number. New parameter mode. All users updated.
15534 (grub_video_gop_iterate): New function.
15535 (grub_video_efi_gop): New member iterate.
15536 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15537 (grub_vbe_set_video_mode): Remove setting useless fields.
15538 (vbe2videoinfo): New function.
15539 (grub_video_vbe_iterate): Likewise.
15540 (grub_video_vbe_setup): Use vbe2videoinfo.
15541 (grub_video_vbe_print_adapter_specific_info): New function.
15542 (grub_video_vbe_adapter): New fields iterate and
15543 print_adapter_specific_info.
15544 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15545 All users updated.
15546 (grub_video_mode_info): New field mode_number.
15547 (grub_video_adapter): New fields iterate and
15548 print_adapter_specific_info.
15549
15550 2010-09-13 Tristan Gingold <gingold@free.fr>
15551 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15552 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * grub-core/commands/efi/lsefisystab.c: New file.
15555 * grub-core/commands/efi/lssal.c: Likewise.
15556 * grub-core/Makefile.core.def (lsacpi): New module.
15557 (lsefisystab): Likewise.
15558 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15559 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15560 (grub_efi_sal_system_table): New struct.
15561 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15562 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15563 (grub_efi_sal_system_table_platform_features): Likewise.
15564 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15565 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15566 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15567 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15568
15569 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Support explicit user claim that a device is BIOS-visible.
15572
15573 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15574 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15575 * grub-core/kern/emu/hostdisk.c
15576 (convert_system_partition_to_system_disk): Support mdX.
15577 (find_system_device): New parameter add. All users updated.
15578 (grub_util_biosdisk_is_present): New function.
15579 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15580 proto.
15581
15582 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 Search hints support.
15585
15586 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15587 All users updated.
15588
15589 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15590
15591 Bash completion script for util commands
15592
15593 * Makefile.am: Add util/bash-completion.d directory
15594 * configure.ac: Likewise.
15595 * util/bash-completion.d/Makefile.am: New file.
15596 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15597
15598 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15601 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15602 Reported by: Yves Blusseau.
15603
15604 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15605
15606 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15607 partition size and offset.
15608
15609 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15612
15613 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15616
15617 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15620 (grub_xvasprintf): Likewise.
15621
15622 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15625
15626 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15629 args ending with NULL.
15630
15631 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15634 pointer.
15635
15636 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15637
15638 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15639
15640 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Shutdown using ACPI.
15643
15644 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15645 * grub-core/commands/acpihalt.c: New file.
15646 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15647 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15648 (grub_acpi_halt): New proto.
15649 (GRUB_ACPI_SLP_EN): New const.
15650 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15651 (GRUB_ACPI_OPCODE_*): New enum.
15652 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15653
15654 2010-09-11 Tristan Gingold <gingold@free.fr>
15655 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15656 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * commands/lsacpi.c: New file.
15659 * grub-core/Makefile.core.def (lsacpi): New module.
15660 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15661 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15662 (grub_acpi_madt_entry_header): New struct.
15663 (grub_acpi_madt): Likewise.
15664 (grub_acpi_madt_entry_interrupt_override): Likewise.
15665 (grub_acpi_madt_entry_sapic): Likewise.
15666 (grub_acpi_madt_entry_lsapic): Likewise.
15667 (grub_acpi_madt_entry_platform_int_source): Likewise.
15668 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15669 (PRIuGRUB_UINT32_T): Likewise.
15670 (PRIxGRUB_UINT64_T): Likewise.
15671
15672 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 Implement loading palette on ieee1275_fb.
15675
15676 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15677 (have_setcolors): Likewise.
15678 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15679 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15680 (grub_video_ieee1275_set_palette): Implement.
15681
15682 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15683 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15684
15685 * util/grub-install.in (grub_partition): New variable.
15686 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15687 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15688 Fixes a bug reported by Yves Blusseau.
15689
15690 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 Fix emu on mipsel.
15693
15694 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15695 =grub_cpu_flush_cache on all mips and not only yeeloong.
15696 * configure.ac (COND_mips): New conditional.
15697 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15698 platforms.
15699 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15700 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15701 [GRUB_LINKER_HAVE_INIT]: New function.
15702 (grub_emu_post_init): Likewise.
15703 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15704 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15705 * include/grub/cache.h (_mips): Include mips/cache.h.
15706 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15707 LVM and RAID prototypes.
15708 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15709 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15710 function.
15711
15712 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15713
15714 * util/grub-install.in: Don't try to verify core.img until after
15715 running grub-mkimage to create it.
15716
15717 2010-09-10 Robert Millan <rmh@gnu.org>
15718
15719 * util/grub.d/10_hurd.in: Add misc readability checks.
15720 * util/grub.d/10_kfreebsd.in: Likewise.
15721 * util/grub.d/10_linux.in: Likewise.
15722
15723 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15724
15725 * util/grub-install.in: ${imgext} won't be defined here until the
15726 install branch is merged. For the meantime, only verify core.img on
15727 i386-pc and sparc64-ieee1275 platforms.
15728
15729 2010-09-10 Robert Millan <rmh@gnu.org>
15730
15731 Solaris support in grub_find_zpool_from_dir(). Thanks
15732 Seth Goldberg for referring to getextmntent() facility.
15733
15734 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15735 `sys/mkdev.h'.
15736 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15737 `<sys/mnttab.h>'.
15738 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15739 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15740 method for finding zpool name.
15741
15742 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15743
15744 grub-fstest needs the host and hostfs modules while other utilities
15745 actively require those modules to be absent, so grub-fstest needs
15746 its own initialisation and finalisation code.
15747
15748 * Makefile.am (grub_fstest.pp): New target.
15749 (grub_fstest_init.lst): Likewise.
15750 (grub_fstest_init.c): Likewise.
15751 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15752
15753 2010-09-10 Robert Millan <rmh@gnu.org>
15754
15755 * configure.ac: Check for `struct statfs.f_fstypename' and
15756 `struct statfs.f_mntfromname'.
15757
15758 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15759 kFreeBSD-specific code.
15760
15761 2010-09-10 Robert Millan <rmh@gnu.org>
15762
15763 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15764 on ZFS. Now non-main filesystems are supported as / too.
15765
15766 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15767
15768 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15769 and grub-core/disk/host.c to ...
15770 (grub-fstest): ... here. Having the host disk implementation
15771 present confuses grub-probe and other utility programs.
15772
15773 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15774 when writing to a file, not when writing to stdout.
15775
15776 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15777
15778 * tests/partmap_test.in: New test for partitions.
15779 * Makefile.util.def: Rules for new test.
15780
15781 2010-09-09 Robert Millan <rmh@gnu.org>
15782
15783 * util/grub-probe.c (probe): Fix a pair of unhandled error
15784 conditions.
15785
15786 2010-09-09 Robert Millan <rmh@gnu.org>
15787
15788 Basic Btrfs support (detection and UUID).
15789
15790 * grub-core/fs/btrfs.c: New file.
15791 * Makefile.util.def (library): Register btrfs.c.
15792 * grub-core/Makefile.core.def: Likewise.
15793
15794 2010-09-08 Robert Millan <rmh@gnu.org>
15795
15796 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15797 with (optional) parameters to specify device and relative path.
15798 * util/grub-install.in: Use is_path_readable_by_grub() to
15799 verify readability of a few critical files.
15800 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15801 verify readability of grub.cfg.new.
15802
15803 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Split minix.mod into minix.mod and minix2.mod.
15806
15807 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15808 * grub-core/Makefile.core.def (minix2): New module.
15809 * grub-core/fs/minix.c: Use definitions instead of runtime version
15810 checking.
15811 * grub-core/fs/minix2.c: New file.
15812
15813 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15814
15815 Add new --boot-directory option to replace --root-directory
15816
15817 * util/grub-install.in: Add new --boot-directory option
15818 * util/grub-reboot.in: Likewise.
15819 * util/grub-set-default.in: Likewise.
15820
15821 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15822
15823 * util/grub-mkconfig.in: Use new variable.
15824
15825 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15826
15827 * configure.ac: Define some useful variables.
15828
15829 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15832 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15833 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15834 Use terminfo and don't use cursor-on/cursor-off unless it's known
15835 to work.
15836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15837 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15838
15839 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15840
15841 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15842 starts with "(,", fill the drive containing the loaded image in
15843 between those two characters, but expect that a full partition
15844 specification including partition map names will follow.
15845
15846 2010-09-08 Robert Millan <rmh@gnu.org>
15847
15848 * configure.ac: Remove `--enable-grub-fstest' option.
15849 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15850
15851 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15852 `grub-fstest' instead of `grub-probe' for readability verification.
15853 * util/grub-probe.c (probe): Remove readability verification kludge.
15854
15855 2010-09-08 Robert Millan <rmh@gnu.org>
15856
15857 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15858 initializing `GRUB_FS'.
15859
15860 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15861
15862 Not command (!) support to GRUB script.
15863
15864 * tests/grub_script_not.in: New test.
15865 * Makefile.util.def: Rules for new test.
15866
15867 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15868 ! command as a special case.
15869 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15870
15871 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15872
15873 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15874 grub_free.
15875
15876 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15877
15878 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15879
15880 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15881
15882 * docs/grub.texi (Shell-like scripting): Documentation for break,
15883 continue, shift and return commands.
15884
15885 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 Rename CD-ROM to cd on BIOS.
15888
15889 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15890 "cd".
15891 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15892
15893 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15896 * util/grub-probe.c (main): Likewise.
15897 * util/i386/pc/grub-setup.c (main): Likewise.
15898 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15899 Reported and debugged by: alexxy
15900
15901 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15904 diagnostic info.
15905
15906 2010-09-05 Jo Shields <directhex@apebox.org>
15907
15908 * util/grub.d/30_os-prober.in: Add missing classes.
15909
15910 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * docs/grub.texi (Theme file format): Document new position format.
15913
15914 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15917 a table. Use @code instead of @verbatim.
15918
15919 2010-09-05 Colin D Bennett <colin@gibibit.com>
15920
15921 Gfxmenu documentation.
15922
15923 * docs/grub.texi (Theme file format): New chapter.
15924
15925 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15926
15927 * grub-core/Makefile.core.def (xzio): New module.
15928 * grub-core/io/xzio.c: New file.
15929 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15930 * grub-core/lib/xzembed/xz_config.h: Likewise.
15931 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15932 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15933 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15934 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15935 * grub-core/lib/xzembed/xz_private.h: Likewise.
15936 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15937 * include/grub/file.h (grub_file_filter_id): New compression filter
15938 GRUB_FILE_FILTER_XZIO.
15939
15940 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15943 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15944 size.
15945
15946 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15949 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15950
15951 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 Uncompressed checksum support.
15954
15955 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15956 (check_list): New parameter uncompress.
15957 (grub_cmd_hashsum): Handle --uncompress.
15958
15959 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 Reintroduce testload.
15962
15963 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15964 from here ...
15965 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15966 (GRUB_MOD_INIT): New function.
15967 (GRUB_MOD_FINI): Likewise.
15968 * grub-core/Makefile.core.def (testload): New module.
15969
15970 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15971
15972 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15973 (uint8_t): New type.
15974 (uint16_t): Likewise.
15975 (uint32_t): Likewise.
15976 (uint64_t): Likewise.
15977
15978 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15979
15980 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15981
15982 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15985 Made static.
15986 (grub_gzfile_open): Removed. All users updated.
15987 (GRUB_MOD_INIT): New function.
15988 (GRUB_MOD_FINI): Likewise.
15989 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15990 (grub_file_filters_enabled): Likewise.
15991 (grub_file_open): Handle filters.
15992 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15993 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15994 * include/grub/file.h (grub_file_filter_id_t): New type.
15995 (grub_file_filter_t): Likewise.
15996 (grub_file_filters_all): New extern variable.
15997 (grub_file_filters_enabled): Likewise.
15998 (grub_file_filter_register): New inline function.
15999 (grub_file_filter_unregister): Likewise.
16000 (grub_file_filter_disable): Likewise.
16001 (grub_file_filter_disable_compression): Likewise.
16002 * include/grub/gzio.h: Removed.
16003
16004 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16005
16006 Filename expansion support for wildcards in GRUB script.
16007
16008 * tests/grub_script_expansion.in: New test.
16009 * Makefile.util.def: Rule for new test.
16010
16011 * grub-core/commands/wildcard.c: New file, implements filename
16012 expansion support for GRUB script.
16013 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16014 * grub-core/script/argv.c: Cosmetic changes.
16015 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16016 Refactored to perform wildcard expansion on arguments.
16017 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16018 struct.
16019
16020 * tests/util/grub-shell.in: Fix quoting for read input.
16021
16022 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16023
16024 Support for updating environment variables with matched substrings
16025 of regexp.
16026
16027 * tests/grub_cmd_regexp.in: New test.
16028 * Makefile.util.def: Rule for new test.
16029
16030 * grub-core/commands/regexp.c: New option -s to update environment
16031 variables with regexp matches.
16032
16033 2010-09-04 Szymon Janc <szymon@janc.net.pl>
16034
16035 * include/grub/file.h (grub_file): New member not_easly_seekable.
16036 (grub_file_seekable): New inline function.
16037 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16038 easily seekable.
16039 (grub_gzio_open): Set not_easly_seekable.
16040 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16041 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16042
16043 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16044
16045 Support for options to appear multiple times on cmdline.
16046
16047 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16048 * grub-core/commands/extcmd.c: Support for repeatable option.
16049 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16050 repeatable option support.
16051
16052 Refactor menuentry into a regular command.
16053
16054 * grub-core/commands/menuentry.c: New file, menuentry command
16055 implementation.
16056 * grub-core/Makefile.core.def: Rule update for normal.mod.
16057 * grub-core/normal/main.c: Moved menuentry creation to
16058 grub-core/commands/menuentry.c.
16059 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16060 (grub_menu_execute_entry_real): Removed.
16061 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16062 function.
16063 (grub_script_execute_menuentry): Removed.
16064 * grub-core/script/parser.y (menuentry): Removed.
16065 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16066 * grub-core/script/yylex.l (menuentry): Removed.
16067 * include/grub/menu.h (grub_menu_init): New prototype.
16068 (grub_menu_fini): New prototype.
16069 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16070 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16071 (grub_script_execute_sourcecode): New prototype.
16072
16073 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16074
16075 "return" command for GRUB script functions.
16076
16077 * tests/grub_script_return.in: New test.
16078 * Makefile.util.def: Rules for new test.
16079
16080 * grub-core/script/execute.c (grub_script_return): New function.
16081 * grub-core/script/main.c: Register/unregister return commaond.
16082 * include/grub/script_sh.h (grub_script_return): New prototype.
16083
16084 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16085
16086 "setparams" command to update positional parameters.
16087
16088 * tests/grub_script_setparams.in: New test.
16089 * Makefile.util.def: Rules for new test.
16090
16091 * grub-core/script/argv.c (grub_script_argv_make): New function.
16092 * grub-core/script/execute.c (replace_scope): New function.
16093 (grub_script_setparams): New function.
16094 * grub-core/script/lexer.c: Remove unused variables.
16095 * grub-core/script/main.c: Register/unregister setparams command.
16096 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16097 (grub_script_setparams): New prototype.
16098
16099 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16100
16101 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16102 grub_free order.
16103
16104 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16105
16106 Support for passing block of commands as an argument to extcmds.
16107
16108 * Makefile.util.def: Rules for new test.
16109 * tests/grub_script_blockarg.in: New test.
16110 * grub-core/tests/test_blockarg.c: New file, block argument
16111 command used in the test.
16112
16113 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16114 (grub_register_extcmd_prio): New function prototype.
16115 (grub_extcmd_dispatcher): New function prototype.
16116 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16117 type.
16118 * include/grub/script_sh.h (struct grub_script): New members
16119 `children', `next_siblings' and `refcnt' for block arguments and
16120 reference counting.
16121 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16122 (grub_script_arg): New member `script' for block argument.
16123 (grub_script_argv): New member `script' for block argument.
16124 (grub_parser_param): New member `scripts' for block argument.
16125 (grub_script_mem_free): New extern function prototype.
16126 (grub_script_ref): New function prototype.
16127 (grub_script_unref): New function prototype.
16128
16129 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16130 extcmd form to support block arguments.
16131 * grub-core/script/argv.c: Block arguments support.
16132 * grub-core/script/execute.c: Likewise.
16133 * grub-core/script/lexer.c: Likewise.
16134 * grub-core/script/main.c: Likewise.
16135 * grub-core/script/script.c: Likewise.
16136 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16137 non-terminals.
16138
16139 * grub-core/commands/acpi.c: Update extcmd implementations with
16140 grub_extcmd_context_t.
16141 * grub-core/commands/cat.c: Likewise.
16142 * grub-core/commands/echo.c: Likewise.
16143 * grub-core/commands/extcmd.c: Likewise.
16144 * grub-core/commands/hashsum.c: Likewise.
16145 * grub-core/commands/hdparm.c: Likewise.
16146 * grub-core/commands/help.c: Likewise.
16147 * grub-core/commands/hexdump.c: Likewise.
16148 * grub-core/commands/i386/cpuid.c: Likewise.
16149 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16150 * grub-core/commands/i386/pc/halt.c: Likewise.
16151 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16152 * grub-core/commands/iorw.c: Likewise.
16153 * grub-core/commands/keystatus.c: Likewise.
16154 * grub-core/commands/loadenv.c: Likewise.
16155 * grub-core/commands/ls.c: Likewise.
16156 * grub-core/commands/lspci.c: Likewise.
16157 * grub-core/commands/memrw.c: Likewise.
16158 * grub-core/commands/probe.c: Likewise.
16159 * grub-core/commands/search_wrap.c: Likewise.
16160 * grub-core/commands/setpci.c: Likewise.
16161 * grub-core/commands/sleep.c: Likewise.
16162 * grub-core/disk/loopback.c: Likewise.
16163 * grub-core/hello/hello.c: Likewise.
16164 * grub-core/loader/i386/bsd.c: Likewise.
16165 * grub-core/loader/xnu.c: Likewise.
16166 * grub-core/term/gfxterm.c: Likewise.
16167 * grub-core/term/serial.c: Likewise.
16168 * grub-core/tests/lib/functional_test.c: Likewise.
16169
16170 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16171
16172 Multi-line quoted strings support.
16173
16174 * grub-core/script/lexer.c (append_newline): Removed.
16175 (grub_script_lexer_yywrap): Refactored.
16176 (grub_script_lexer_init): Refactored.
16177 * grub-core/script/yylex.l (yywrap): New function.
16178 (grub_lexer_resplit): New function.
16179 (grub_lexer_unput): New function.
16180 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16181 and resplit.
16182 * tests/grub_script_echo1.in: Added few more testcases.
16183
16184 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * grub-core/kern/misc.c: Don't add abort alias in utils.
16187 Reported by: echoline.
16188
16189 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16190
16191 Add missing files into "make dist" tarball for other platforms.
16192
16193 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16194 * conf/Makefile.common (dist_noinst_DATA): New variable.
16195 * conf/Makefile.extra-dist: Added missing make dist files.
16196 * grub-core/Makefile.core.def: Likewise.
16197
16198 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 Compress grub_prefix.
16201
16202 * grub-core/boot/i386/pc/lnxboot.S: Use
16203 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16204 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16205 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16206 GRUB_MACHINE_PREFIX_END. All users updated.
16207 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16208 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16209 + 0x40.
16210 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16211 * util/grub-mkimage.c (image_target_desc): Change data_end to
16212 prefix_end. All users updated.
16213
16214 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16217 value.
16218 (grub_openbsd_boot): Likewise.
16219 (grub_netbsd_boot): Likewise.
16220 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16221 (grub_xnu_boot): Likewise.
16222
16223 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 * configure.ac: Clean LIBS variable after tests.
16226
16227 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16230
16231 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16234 echo if libdevmapper will be used.
16235
16236 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16237
16238 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16239 constant for the same file.
16240
16241 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16244
16245 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16246
16247 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16248 grub-core/*.pp.
16249
16250 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16251
16252 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16253 required by the boot protocol.
16254
16255 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16256 ebp and edi members.
16257 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16258 state.ebp and state.edi.
16259 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16260 %ebp and %edi according to grub_relocator32_ebp and
16261 grub_relocator32_edi respectively.
16262 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16263 and state.edi.
16264
16265 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 Add i386-pc-pxe image target.
16268
16269 * util/grub-mkimage.c (image_target_desc): New enum value
16270 IMAGE_I386_PC_PXE.
16271 (image_targets): New target i386-pc-pxe.
16272 (generate_image): Handle i386-pc-pxe image.
16273
16274 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 Fix grub_pxe_scan.
16277
16278 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16279 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16280 All users updated.
16281 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16282 (grub_pxe_pxenv): Correct type.
16283
16284 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16285
16286 * NEWS: Document most of the important changes since 1.98.
16287
16288 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16289
16290 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16291 generated manual page) a little.
16292
16293 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16294
16295 * docs/grub.texi: Add myself as an author.
16296
16297 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 * Makefile.util.def (libgrub.a): Add missing sunpc.
16300 Reported by: Seth Goldberg.
16301
16302 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16303
16304 Interrupt wrapping and code simplifications.
16305
16306 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16307 x86_noieee1275 which are functionaly equivalent in this case.
16308 (grub-install): Make source on each platform explicit. Enable on
16309 all noemu.
16310 * gentpl.py (x86_efi_pc): Removed group.
16311 (x86_noefi): Likewise.
16312 (i386_noefi): Likewise.
16313 (x86_noieee1275): Likewise.
16314 (i386_noieee1275): Likewise.
16315 (i386_noefi_noieee1275): Likewise.
16316 (i386_pc_qemu_coreboot): Likewise.
16317 (i386_coreboot_multiboot): Likewise.
16318 (i386_pc_coreboot_multiboot_qemu): Likewise.
16319 (x86_noefi_mips): Likewise.
16320 (noieee1275): Likewise.
16321 (ieee1275_mips): Likewise.
16322 (noemu_noieee1275): Likewise.
16323 (cmos): New group.
16324 (usb): Likewise.
16325 (videoinkernel): Likewise.
16326 (videomodules): Likewise.
16327 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16328 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16329 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16330 include/grub/loader.h, include/grub/msdos_partition.h,
16331 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16332 include/grub/machine/console.h, include/grub/machine/vga.h,
16333 include/grub/machine/vbe.h, include/grub/machine/init.h,
16334 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16335 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16336 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16337 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16338 * grub-core/Makefile.core.def (kernel): Explicit the source for
16339 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16340 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16341 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16342 Use videoinkernel tag.
16343 (usb): Enable on all usb.
16344 (usbserial_common): Likewise.
16345 (usbserial_pl2303): Likewise.
16346 (usbserial_ftdi): Likewise.
16347 (uhci): Enable on all x86.
16348 (ohci): Enable on all pci.
16349 (cmostest): Enable on all CMOS.
16350 (acpi): Include commands/acpi.c on all platforms.
16351 (halt): Add relevant lib/*/halt.c.
16352 (hdparm): Enable on all pci.
16353 (lspci): Likewise.
16354 (usbtest): Enable on all usb.
16355 (ata): Enable on all pci.
16356 (ata_pthru): Likewise.
16357 (usbms): Enable on all usb.
16358 (usb_keyboard): Likewise.
16359 (font): Use tag videomodules.
16360 (bufio): Likewise.
16361 (datetime): Use tag cmos. Enable on all noemu.
16362 (mmap): Use tags common and x86.
16363 (gfxterm): Use tag videomodules.
16364 (bitmap): Likewise.
16365 (bitmap_scale): Likewise.
16366 (video_fb): Likewise.
16367 (video): Likewise.
16368 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16369 adjust padding accordingly. All users updated.
16370 (grub_ohci_transaction): Fix bad format specification.
16371 (GRUB_MOD_INIT): Add asserts for struct size.
16372 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16373 (grub_alloc_td): Likewise.
16374 (grub_free_queue): Likewise.
16375 (grub_uhci_transfer): Likewise.
16376 (grub_uhci_transaction): Fix bad format specification.
16377 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16378 (grub_usb_bulk_readwrite): Likewise.
16379 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16380 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16381 Made static.
16382 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16383 Made static.
16384 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16385 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16386 Transformed into C.
16387 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16388 Moved from here ...
16389 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16390 ... here. Transformed into C. Made static.
16391 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16392 Moved from here ...
16393 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16394 ... here. Transformed into C. Made static.
16395 * grub-core/kern/i386/pc/startup.S
16396 (grub_biosdisk_check_int13_extensions): Moved from here ...
16397 * grub-core/disk/i386/pc/biosdisk.c
16398 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16399 Made static.
16400 * grub-core/kern/i386/pc/startup.S
16401 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16402 * grub-core/disk/i386/pc/biosdisk.c
16403 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16404 Transformed into C. Made static.
16405 * grub-core/kern/i386/pc/startup.S
16406 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16407 * grub-core/disk/i386/pc/biosdisk.c
16408 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16409 Transformed into C. Made static.
16410 * grub-core/kern/i386/pc/startup.S
16411 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16412 * grub-core/disk/i386/pc/biosdisk.c
16413 (grub_biosdisk_get_diskinfo_standard): ... here.
16414 Transformed into C. Made static.
16415 * grub-core/kern/i386/pc/startup.S
16416 (grub_biosdisk_get_num_floppies): Moved from here ...
16417 * grub-core/disk/i386/pc/biosdisk.c
16418 (grub_biosdisk_get_num_floppies): ... here.
16419 Transformed into C. Made static.
16420 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16421 New function.
16422 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16423 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16424 Transformed into C. Made static.
16425 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16426 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16427 Transformed into C. Made static.
16428 * grub-core/kern/i386/ieee1275/init.c: Removed.
16429 * grub-core/kern/i386/misc.S: Likewise.
16430 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16431 Splitted from here ...
16432 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16433 Transformed into C. Made static. All users updated.
16434 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16435 Transformed into C. Made static. All users updated.
16436 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16437 Moved from here...
16438 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16439 Transformed into C. Made static. All users updated.
16440 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16441 Moved from here...
16442 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16443 Transformed into C. Made static. All users updated.
16444 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16445 Removed (replaced by C version).
16446 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16447 Moved from here...
16448 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16449 Transformed into C. Made static.
16450 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16451 Moved from here...
16452 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16453 ... here. Transformed into C.
16454 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16455 Moved from here...
16456 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16457 ... here. Transformed into C.
16458 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16459 Moved from here...
16460 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16461 ... here. Transformed into C. Made static.
16462 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16463 Moved from here...
16464 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16465 ... here. Transformed into C.
16466 * grub-core/kern/i386/pc/startup.S
16467 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16468 * grub-core/video/i386/pc/vbe.c
16469 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16470 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16471 Moved from here...
16472 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16473 ... here. Transformed into C.
16474 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16475 Moved from here...
16476 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16477 ... here. Transformed into C.
16478 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16479 Moved from here...
16480 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16481 ... here. Transformed into C.
16482 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16483 Moved from here...
16484 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16485 ... here. Transformed into C.
16486 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16487 Moved from here...
16488 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16489 ... here. Transformed into C. Made static.
16490 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16491 Moved from here...
16492 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16493 ... here. Transformed into C. Made static.
16494 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16495 Moved from here...
16496 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16497 ... here. Transformed into C. Made static.
16498 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16499 pxe_rm_entry as third argument.
16500 (grub_bios_interrupt): New function.
16501 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16502 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16503 of calling grub_stop.
16504 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16505 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16506 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16507 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16508 * grub-core/lib/i386/halt.c: Moved from here ...
16509 * grub-core/lib/i386/halt.c: ... here.
16510 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16511 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16512 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16513 grub_stop_floppy.
16514 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16515 * include/grub/i386/coreboot/init.h: Removed.
16516 * include/grub/i386/multiboot/init.h: Likewise.
16517 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16518 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16519 * include/grub/i386/pc/int.h: New file.
16520 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16521 (grub_pxe_scan): Removed.
16522 (grub_pxe_call): Update prototype.
16523 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16524 prototypes.
16525 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16526 * include/grub/i386/qemu/init.h: Removed.
16527 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16528 noreturn.
16529 (grub_halt): Likewise.
16530 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16531 (grub_reboot): Likewise.
16532 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16533 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16534 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16535
16536 2010-08-30 Robert Millan <rmh@gnu.org>
16537
16538 * NEWS: Document addition of ZFS support in `grub-install' and
16539 `grub-mkconfig'.
16540
16541 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16542
16543 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16544 dprintf output.
16545
16546 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Remove leftover embedding of font objects.
16549
16550 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16551 * util/grub-install.in (font): Removed.
16552 * util/grub-mkimage.c (generate_image): Remove font support. All users
16553 updated.
16554
16555 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 Remove leftover embedding of font objects.
16558
16559 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16560 * util/grub-install.in (font): Removed.
16561 * util/grub-mkimage.c (generate_image): Remove font support. All users
16562 updated.
16563
16564 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16567 Reported by: Ian Turner
16568
16569 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16572 timeout to avoid indefinite boot stalling.
16573
16574 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16577 (grub_env_write_color_highlight): Likewise.
16578
16579 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * grub-core/normal/term.c (print_more): Return to normal and not
16582 to standard state after printing "---MORE---".
16583
16584 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16587 Mask out the bit 0x80 since it has other meaning that specifiing color.
16588
16589 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 New relocator. Allows for more kernel support and more straightforward
16592 loader writing.
16593
16594 * Makefile.am (BOOTTARGET): New variable.
16595 (QEMU32): Likewise.
16596 (linux.init.x86_64): New target.
16597 (linux.init.i386): Likewise.
16598 (multiboot.elf): Likewise.
16599 (kfreebsd.elf): Likewise.
16600 (kfreebsd.aout): Likewise.
16601 (pc-chainloader.elf): Likewise.
16602 (pc-chainloader.bin): Likewise.
16603 (ntldr.elf): Likewise.
16604 (ntldr.bin): Likewise.
16605 (multiboot2.elf): Likewise.
16606 (kfreebsd.init.x86_64): Likewise.
16607 (kfreebsd.init.i386): Likewise.
16608 (knetbsd.init.i386): Likewise.
16609 (kopenbsd.init.i386): Likewise.
16610 (knetbsd.init.x86_64): Likewise.
16611 (kopenbsd.init.x86_64): Likewise.
16612 (linux-initramfs.i386): Likewise.
16613 (linux-initramfs.x86_64): Likewise.
16614 (kfreebsd-mfsroot.i386.img): Likewise.
16615 (knetbsd.image.i386): Likewise.
16616 (kopenbsd.image.i386): Likewise.
16617 (kopenbsd.image.x86_64): Likewise.
16618 (knetbsd.miniroot-image.i386.img): Likewise.
16619 (kfreebsd-mfsroot.x86_64.img): Likewise.
16620 (knetbsd.image.x86_64): Likewise.
16621 (knetbsd.miniroot-image.x86_64.img): Likewise.
16622 (kfreebsd-mfsroot.i386.gz): Likewise.
16623 (bootcheck-kfreebsd-i386): Likewise.
16624 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16625 (bootcheck-kfreebsd-x86_64): Likewise.
16626 (knetbsd.miniroot-image.i386.gz): Likewise.
16627 (bootcheck-knetbsd-i386): Likewise.
16628 (bootcheck-kopenbsd-i386): Likewise.
16629 (bootcheck-kopenbsd-x86_64): Likewise.
16630 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16631 (bootcheck-knetbsd-x86_64): Likewise.
16632 (bootcheck-linux-i386): Likewise.
16633 (bootcheck-linux-x86_64): Likewise.
16634 (bootcheck-linux16-i386): Likewise.
16635 (bootcheck-linux16-x86_64): Likewise.
16636 (bootcheck-multiboot): Likewise.
16637 (bootcheck-multiboot2): Likewise.
16638 (bootcheck-kfreebsd-aout): Likewise.
16639 (bootcheck-pc-chainloader): Likewise.
16640 (bootcheck-ntldr): Likewise.
16641 (CLEANFILES): Add new targets.
16642 (BOOTCHECKS): New variable.
16643 (.PHONY): Add bootchecks.
16644 (SUCCESSFUL_BOOT_STRING): New variable.
16645 (BOOTCHECK_TIMEOUT): Likewise.
16646 (bootcheck): New target
16647 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16648 * configure.ac: Correct efiemu excuse.
16649 * docs/grub.texi (Supported kernels): New chapter.
16650 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16651 include/grub/mm_private.h. Simplify inclusion of
16652 include/grub/boot.h, include/grub/loader.h
16653 and include/grub/msdos_partition.h
16654 (KERNEL_HEADER_FILES) [i386_coreboot]:
16655 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16656 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16657 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16658 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16659 include/grub/machine/loader.h.
16660 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16661 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16662 extra_dist.
16663 (pci.mod): Enable on i386-multiboot.
16664 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16665 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16666 i386-qemu.
16667 (relocator.mod): Rewritten.
16668 (aout.mod): Enable on all x86.
16669 (bsd.mod): Likewise.
16670 (ntldr.mod): New module.
16671 (linux.mod): Use loader/i386/linux.c on all x86.
16672 (xnu.mod): Enable on all x86.
16673 (vga_text.mod): disable on EFI and QEMU.
16674 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16675 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16676 * grub-core/efiemu/loadcore.c: Likewise.
16677 * grub-core/efiemu/main.c: Likewise.
16678 (grub_efiemu_exit_boot_services): Removed.
16679 (grub_efiemu_finish_boot_services): Likewise.
16680 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16681 function.
16682 * grub-core/efiemu/i386/nocfgtables.c: New file.
16683 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16684 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16685 (grub_efi_finish_boot_services): Moved from here ...
16686 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16687 Fille finish memory map and related data.
16688 (finish_mmap_buf): New variable.
16689 (grub_efi_uintn_t finish_mmap_size): Likewise.
16690 (grub_efi_uintn_t finish_key): Likewise.
16691 (grub_efi_uintn_t finish_desc_size): Likewise.
16692 (grub_efi_uint32_t finish_desc_version): Likewise.
16693 (grub_efi_is_finished): Likewise.
16694 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16695 finished.
16696 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16697 (grub_elf64_phdr_iterate): Likewise.
16698 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16699 (grub_os_area_size): Likewise.
16700 (grub_machine_init): Don't reserve os area.
16701 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16702 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16703 * grub-core/kern/i386/loader.S: Removed.
16704 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16705 (grub_os_area_size): Likewise.
16706 (grub_machine_init): Don't reserve os area.
16707 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16708 Don't call grub_dl_unload_all.
16709 Don't include loader.S.
16710 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16711 Declare the memory after _end as available.
16712 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16713 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16714 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16715 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16716 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16717 * include/grub/mm_private.h (grub_mm_header): ... here.
16718 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16719 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16720 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16721 (grub_mm_region): ..here. Removed addr. Added pre_size.
16722 All users updated.
16723 * grub-core/kern/mm.c (base): Renamed to ...
16724 (grub_mm_base): ... this. Made global.
16725 (grub_real_malloc): Alloc from end of region.
16726 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16727 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16728 * grub-core/kern/powerpc/cache_flush.S: ... here.
16729 * grub-core/lib/efi/relocator.c: New file.
16730 * grub-core/lib/i386/relocator.c: Rewritten.
16731 * grub-core/lib/i386/relocator16.S: New file.
16732 * grub-core/lib/i386/relocator32.S: Likewise.
16733 * grub-core/lib/i386/relocator64.S: Likewise.
16734 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16735 * grub-core/lib/i386/relocator_common.S: New file.
16736 * grub-core/lib/ieee1275/relocator.c: Likewise.
16737 * grub-core/lib/mips/relocator.c: Rewritten.
16738 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16739 stylistic adjustments.
16740 * grub-core/lib/powerpc/relocator.c: New file.
16741 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16742 * grub-core/lib/relocator.c: Rewritten.
16743 * grub-core/lib/x86_64/relocator_asm.S: New file.
16744 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16745 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16746 (bsd_tag): New struct.
16747 (tags): New variable.
16748 (tags_last): Likewise.
16749 (netbsd_module): New struct.
16750 (netbsd_mods): New variable.
16751 (netbsd_mods_last): Likewise.
16752 (openbsd_opts): New parameter "serial".
16753 (OPENBSD_SERIAL_ARG): New definition.
16754 (netbsd_opts): New parameter "serial".
16755 (NETBSD_SERIAL_ARG): New definition.
16756 (grub_freebsd_add_meta): Reorganised into ...
16757 (grub_bsd_add_meta): ...this. All users updated.
16758 (grub_freebsd_add_mmap): Reorganised into ...
16759 (generate_e820_mmap): ...this...
16760 (grub_bsd_add_mmap): ...and this. All users updated.
16761 (grub_freebsd_list_modules): Use tags.
16762 (grub_netbsd_add_meta_module): New function.
16763 (grub_netbsd_list_modules): Likewise.
16764 (grub_freebsd_boot): Use relocator and finish EFI.
16765 (grub_openbsd_boot): Likewise.
16766 (grub_netbsd_setup_video): New function.
16767 (grub_netbsd_add_modules): Likewise.
16768 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16769 and finish EFI.
16770 (grub_bsd_unload): Unload tags.
16771 (grub_bsd_load_aout): Use relocator.
16772 (grub_bsd_elf32_size_hook): New function.
16773 (grub_bsd_elf32_hook): Use relocator.
16774 (grub_bsd_elf64_size_hook): New function.
16775 (grub_bsd_elf64_hook): Use relocator.
16776 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16777 (grub_bsd_load): Zero-out openbsd_ramdisk.
16778 (grub_bsd_load): Use relocator.
16779 (grub_cmd_openbsd): Support serial.
16780 (grub_cmd_netbsd): Support modules.
16781 (grub_cmd_freebsd_module): Use relocator.
16782 (grub_netbsd_module_load): New function.
16783 (grub_cmd_netbsd_module): Likewise.
16784 (grub_cmd_openbsd_ramdisk): Likewise.
16785 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16786 kopenbsd_ramdisk.
16787 (GRUB_MOD_FINI): Unregister new commands.
16788 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16789 (grub_freebsd_load_elfmodule_obj): Use relocator.
16790 (grub_freebsd_load_elfmodule): Likewise.
16791 (grub_freebsd_load_elf_meta): Likewise.
16792 (grub_netbsd_load_elf_meta): New function.
16793 (grub_openbsd_find_ramdisk): Likewise.
16794 * grub-core/loader/i386/bsd_helper.S: Removed.
16795 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16796 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16797 * grub-core/loader/i386/efi/linux.c: Likewise.
16798 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16799 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16800 (DEFAULT_VIDEO_MODE): Likewise.
16801 (real_mode_target): New variable.
16802 (prot_mode_target): Likewise.
16803 (initrd_mem_target): Likewise.
16804 (relocator): Likewise.
16805 (efi_mmap_buf): Likewise.
16806 (efi_mmap_size): Likewise.
16807 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16808 (free_pages): Use relocator.
16809 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16810 (grub_linux_setup_video): Return error.
16811 (grub_linux_trampoline_start): Removed.
16812 (grub_linux_trampoline_end): Likewise.
16813 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16814 andd video parameters depending on firmware.
16815 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16816 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16817 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16818 (grub_cmd_initrd): Use relocator.
16819 * grub-core/loader/i386/linux_trampoline.S: Removed.
16820 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16821 (elf_sec_entsize): Likewise.
16822 (elf_sec_shstrndx): Likewise.
16823 (elf_sections): Likewise.
16824 (grub_multiboot_load): Use relocator.
16825 (grub_multiboot_get_mbi_size): Account for sections.
16826 (grub_multiboot_make_mbi): Use relocator and support sections.
16827 (grub_multiboot_add_elfsyms): New function.
16828 (grub_multiboot_free_mbi): Free sections.
16829 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16830 (grub_linux_real_target): Likewise.
16831 (grub_linux_real_chunk): Likewise.
16832 (grub_linux16_prot_size): Likewise.
16833 (grub_linux16_boot): Use relocator.
16834 (grub_linux_unload): Unload relocator.
16835 (grub_cmd_linux): Use relocator.
16836 (grub_cmd_initrd): Likewise.
16837 * grub-core/loader/i386/pc/ntldr.c: New file.
16838 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16839 Don't try to guess CPU frequency.
16840 (grub_xnu_set_video): Stretch bitmap.
16841 (grub_xnu_boot): Use relocator.
16842 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16843 (grub_linux_unload): Free relocator.
16844 (grub_linux_load32): Use relocator.
16845 (grub_linux_load64): Likewise.
16846 (grub_cmd_initrd): Likewise.
16847 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16848 (grub_multiboot_unload): Unload relocator.
16849 (grub_cmd_multiboot): Use relocator.
16850 (grub_cmd_module): Likewise.
16851 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16852 Use relocator and support sections.
16853 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16854 (elf_sec_entsize): Likewise.
16855 (elf_sec_shstrndx): Likewise.
16856 (elf_sections): Likewise.
16857 (grub_multiboot_load): Use relocator.
16858 (grub_multiboot_get_mbi_size): Account for sections.
16859 (grub_multiboot_make_mbi): Use relocator and support sections.
16860 (grub_multiboot_add_elfsyms): New function.
16861 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16862 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16863 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16864 Prototype changed. All users updated.
16865 (grub_xnu_align_heap): Simplified.
16866 (grub_xnu_writetree_toheap): Likewise.
16867 (grub_xnu_unload): Unload relocator.
16868 (grub_cmd_xnu_kernel): Use relocator.
16869 (grub_cmd_xnu_kernel64): Likewise.
16870 (grub_xnu_register_memory): Simplified.
16871 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16872 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16873 EFI is finished.
16874 (grub_console_checkkey): Likewise.
16875 (grub_console_getkey): Likewise.
16876 (grub_console_getwh): Likewise.
16877 (grub_console_getxy): Likewise.
16878 (grub_console_gotoxy): Likewise.
16879 (grub_console_cls): Likewise.
16880 (grub_console_setcolorstate): Likewise.
16881 (grub_console_setcursor): Likewise.
16882 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16883 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16884 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16885 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16886 * grub-core/tests/boot/kernel-8086.S: Likewise.
16887 * grub-core/tests/boot/kernel-i386.S: Likewise.
16888 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16889 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16890 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16891 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16892 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16893 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16894 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16895 * grub-core/tests/boot/linux.cfg: Likewise.
16896 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16897 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16898 * grub-core/tests/boot/linux16.cfg: Likewise.
16899 * grub-core/tests/boot/multiboot.cfg: Likewise.
16900 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16901 * grub-core/tests/boot/ntldr.cfg: Likewise.
16902 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16903 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16904 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16905 New definition.
16906 * include/grub/dl.h (grub_dl_unload_all): Removed.
16907 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16908 (grub_efi_finish_boot_services): Change prototype.
16909 (grub_efi_is_finished): New variable.
16910 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16911 Changed prototype.
16912 (grub_efiemu_finish_boot_services): Removed.
16913 (grub_machine_efiemu_init_tables): New prototype.
16914 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16915 (grub_elf64_phdr_iterate): Likewise.
16916 * include/grub/i386/bsd.h: Include relocator.h.
16917 (freebsd_tag_header): New struct.
16918 (grub_openbsd_bios_mmap): Removed.
16919 (grub_unix_real_boot): Removed.
16920 (grub_freebsd_load_elfmodule32): Changed prototype.
16921 (grub_freebsd_load_elfmodule_obj64): Likewise.
16922 (grub_freebsd_load_elf_meta32): Likewise.
16923 (grub_freebsd_load_elf_meta64): Likewise.
16924 (grub_freebsd_add_meta): Removed.
16925 (grub_netbsd_load_elf_meta32): New prototype.
16926 (grub_netbsd_load_elf_meta64): Likewise.
16927 (grub_bsd_add_meta): Likewise.
16928 (grub_openbsd_ramdisk_descriptor): New struct.
16929 (grub_openbsd_find_ramdisk32): New prototype.
16930 (grub_openbsd_find_ramdisk64): Likewise.
16931 * include/grub/i386/coreboot/loader.h: Removed.
16932 * include/grub/i386/efi/loader.h: Likewise.
16933 * include/grub/i386/ieee1275/loader.h: Likewise.
16934 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16935 to grub_uint32_t.
16936 * include/grub/i386/loader.h: Removed.
16937 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16938 value.
16939 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16940 (grub_phys_addr_t): New type.
16941 (grub_vtop): New inline function.
16942 (grub_map_memory): Likewise.
16943 (grub_unmap_memory): Likewise.
16944 * include/grub/i386/multiboot/loader.h: Removed.
16945 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16946 (NETBSD_BTINFO_CONSOLE): New definition.
16947 (NETBSD_BTINFO_SYMTAB): Likewise.
16948 (NETBSD_BTINFO_MODULES): Likewise.
16949 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16950 (grub_netbsd_bootinfo): New struct.
16951 (grub_netbsd_btinfo_common): Use explicit bitsize.
16952 (grub_netbsd_btinfo_mmap_entry): Removed.
16953 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16954 (grub_netbsd_btinfo_bootdisk): New struct.
16955 (grub_netbsd_btinfo_symtab): Likewise.
16956 (grub_netbsd_btinfo_serial): Likewise.
16957 (grub_netbsd_btinfo_modules): Likewise.
16958 (grub_netbsd_btinfo_framebuf): Likewise.
16959 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16960 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16961 Likewise.
16962 (grub_openbsd_bootargs): Use explicit bitsize.
16963 (grub_openbsd_bootarg_console): New struct.
16964 (GRUB_OPENBSD_COM_MAJOR): New definition.
16965 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16966 * include/grub/i386/pc/efiemu.h: Removed.
16967 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16968 * include/grub/i386/qemu/loader.h: Removed.
16969 * include/grub/i386/relocator.h: Rewritten.
16970 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16971 * include/grub/mips/memory.h: New file.
16972 * include/grub/mips/multiboot.h: Rewritten.
16973 * include/grub/mips/relocator.h: Rewritten.
16974 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16975 (grub_vtop): New function.
16976 (grub_map_memory): Likewise.
16977 (grub_unmap_memory): Likewise.
16978 * include/grub/misc.h (ALIGN_DOWN): New definition.
16979 * include/grub/mm.h (grub_mm_check_real): New proto.
16980 (GRUB_MM_CHECK): New definition.
16981 * include/grub/mm_private.h: New file.
16982 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16983 (grub_multiboot_get_mbi_size): Removed.
16984 (grub_multiboot_make_mbi): Change prottype.
16985 (grub_multiboot_set_accepts_video): New proto.
16986 (grub_multiboot_add_elfsyms): Likewise.
16987 (grub_multiboot_payload_eip): New variable.
16988 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16989 New prototype.
16990 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16991 New definition.
16992 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16993 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16994 * include/grub/powerpc/ieee1275/loader.h: Removed.
16995 * include/grub/powerpc/memory.h: New file.
16996 * include/grub/powerpc/relocator.h: Likewise.
16997 * include/grub/relocator.h: Likewise.
16998 * include/grub/relocator_private.h: Likewise.
16999 * include/grub/sparc64/ieee1275/loader.h: Removed.
17000 * include/grub/x86_64/memory.h: New file.
17001 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17002 (grub_xnu_heap_malloc): Likewise.
17003 (grub_xnu_heap_real_start): Removed.
17004 (grub_xnu_heap_start): Likewise.
17005 (grub_xnu_relocator): New variable.
17006 (grub_xnu_heap_target_start): Likewise.
17007 * tests/util/grub-shell.in: Support non-pc.
17008 * util/grub-mkimage.c (image_targets): Fix multiboot target.
17009
17010 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17011
17012 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17013 on malloc error.
17014 (grub_bidi_logical_to_visual): Check that malloc succeded.
17015 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17016 puts.
17017 (grub_xputs_normal): Likewise.
17018
17019 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17022 extra_dist.
17023
17024 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17027
17028 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17031
17032 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17035 dprintf.
17036
17037 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17038
17039 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17040
17041 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * grub-core/normal/term.c (print_more): Fix a memory leak.
17044 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17045 (grub_xputs_normal): Likewise.
17046
17047 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17050 the begining of the string
17051
17052 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 * grub-core/script/script.c (grub_script_parse): Free parsed on
17055 failure.
17056
17057 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17060 on failure.
17061
17062 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17065 return.
17066
17067 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17070 (scroll_up): Fix a memory leak.
17071
17072 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17075 errors.
17076
17077 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 Handle USB pendrives exposed as floppies.
17080
17081 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17082 floppy.
17083 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17084 Check for partitions on all devices.
17085
17086 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17089 (readkey): Likewise.
17090
17091 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17092
17093 Multiple variable names support to "export" command.
17094
17095 * normal/context.c (grub_cmd_export): "export" command supports
17096 multiple variable names.
17097
17098 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17099
17100 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17101 --target=drive output to Mach device name.
17102
17103 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17104
17105 New Automake based build system for GRUB.
17106
17107 * ABOUT-NLS: New file.
17108 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17109 in Makefile.util.def file.
17110 * Makefile.util.def: New file. Autogen build definitions file for
17111 GRUB host utils.
17112 * conf/Makefile.common: New file. Common variables for GRUB host
17113 utils and target modules.
17114 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17115 * docs/Makefile.am: New file. Automake file for docs.
17116 * gentpl.py: New file. Python script to generate Autogen
17117 template.
17118 * grub-core/Makefile.am: New file. GRUB target modules' rules
17119 that doesn't fit in Makefile.core.def file.
17120 * grub-core/Makefile.core.def: New file. Autogen build
17121 definitions file for GRUB target modules.
17122 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17123 specific setjmp.S file.
17124 * po/Makefile.am: New file.
17125
17126 * .bzrignore: New ignores.
17127 * INSTALL: New requirements, without Ruby.
17128 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17129 * autogen.sh: Updated to invoke autogen as necessary.
17130 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17131 and defines for Automake conditionals.
17132 * geninit.sh: Refactoring.
17133
17134 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17135 necessary.
17136 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17137 New prototype.
17138
17139 * include/grub/test.h: Fix functional test modules' naming.
17140 * grub-core/tests/example_functional_test.c: Fix test module name.
17141
17142 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17143 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17144 * util/grub-editenv.c: Likewise.
17145 * util/grub-fstest.c: Likewise.
17146 * util/grub-mkdevicemap.c: Likewise.
17147 * util/grub-mkfont.c: Likewise.
17148 * util/grub-mkimage.c: Likewise.
17149 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17150 * util/grub-probe.c: Likewise.
17151 * util/grub-script-check.c: Likewise.
17152 * util/i386/pc/grub-setup.c: Likewise.
17153 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17154
17155 * tests/util/grub-shell.in: Fix override directory path.
17156 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17157 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17158
17159 * util/lvm.c: Update #includes.
17160 * util/raid.c: Likewise.
17161 * util/resolve.c: Likewise.
17162 * grub-core/bus/emu/pci.c: Likewise.
17163 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17164 * grub-core/lib/posix_wrap/string.h: Likewise.
17165 * grub-core/kern/emu/main.c: Likewise.
17166
17167 * grub-core/gensymlist.sh: New file. Script for generating kernel
17168 symbols file.
17169 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17170
17171 * grub-core/gentrigtables.c: Fix unused variable warnings.
17172
17173 * Makefile.in: Removed.
17174 * conf/any-emu.rmk: Removed.
17175 * conf/common.rmk: Removed.
17176 * conf/i386-coreboot.rmk: Removed.
17177 * conf/i386-efi.rmk: Removed.
17178 * conf/i386-ieee1275.rmk: Removed.
17179 * conf/i386-multiboot.rmk: Removed.
17180 * conf/i386-pc.rmk: Removed.
17181 * conf/i386-qemu.rmk: Removed.
17182 * conf/i386.rmk: Removed.
17183 * conf/mips-yeeloong.rmk: Removed.
17184 * conf/mips.rmk: Removed.
17185 * conf/powerpc-ieee1275.rmk: Removed.
17186 * conf/sparc64-ieee1275.rmk: Removed.
17187 * conf/tests.rmk: Removed.
17188 * conf/x86-efi.rmk: Removed.
17189 * conf/x86_64-efi.rmk: Removed.
17190 * gendistlist.sh: Removed.
17191 * geninitheader.sh: Removed.
17192 * genkernsyms.sh.in: Removed.
17193 * genmk.rb: Removed.
17194 * gensymlist.sh.in: Removed.
17195 * mkinstalldirs: Removed.
17196 * boot: Moved ...
17197 * grub-core/boot: ... to here.
17198 * bus: Moved ...
17199 * grub-core/bus: ... to here.
17200 * commands: Moved ...
17201 * grub-core/commands: ... to here.
17202 * disk: Moved ...
17203 * grub-core/disk: ... to here.
17204 * efiemu: Moved ...
17205 * grub-core/efiemu: ... to here.
17206 * font: Moved ...
17207 * grub-core/font: ... to here.
17208 * fs: Moved ...
17209 * grub-core/fs: ... to here.
17210 * gencmdlist.sh: Moved ...
17211 * grub-core/gencmdlist.sh: ... to here.
17212 * genemuinit.sh: Moved ...
17213 * grub-core/genemuinit.sh: ... to here.
17214 * genemuinitheader.sh: Moved ...
17215 * grub-core/genemuinitheader.sh: ... to here.
17216 * genfslist.sh: Moved ...
17217 * grub-core/genfslist.sh: ... to here.
17218 * genhandlerlist.sh: Moved ...
17219 * grub-core/genhandlerlist.sh: ... to here.
17220 * genmoddep.awk: Moved ...
17221 * grub-core/genmoddep.awk: ... to here.
17222 * genmodsrc.sh: Moved ...
17223 * grub-core/genmodsrc.sh: ... to here.
17224 * genpartmaplist.sh: Moved ...
17225 * grub-core/genpartmaplist.sh: ... to here.
17226 * genparttoollist.sh: Moved ...
17227 * grub-core/genparttoollist.sh: ... to here.
17228 * genterminallist.sh: Moved ...
17229 * grub-core/genterminallist.sh: ... to here.
17230 * gentrigtables.c: Moved ...
17231 * grub-core/gentrigtables.c: ... to here.
17232 * genvideolist.sh: Moved ...
17233 * grub-core/genvideolist.sh: ... to here.
17234 * gettext: Moved ...
17235 * grub-core/gettext: ... to here.
17236 * gfxmenu: Moved ...
17237 * grub-core/gfxmenu: ... to here.
17238 * gnulib: Moved ...
17239 * grub-core/gnulib: ... to here.
17240 * hello: Moved ...
17241 * grub-core/hello: ... to here.
17242 * hook: Moved ...
17243 * grub-core/hook: ... to here.
17244 * io: Moved ...
17245 * grub-core/io: ... to here.
17246 * kern: Moved ...
17247 * grub-core/kern: ... to here.
17248 * lib: Moved ...
17249 * grub-core/lib: ... to here.
17250 * loader: Moved ...
17251 * grub-core/loader: ... to here.
17252 * mmap: Moved ...
17253 * grub-core/mmap: ... to here.
17254 * normal: Moved ...
17255 * grub-core/normal: ... to here.
17256 * partmap: Moved ...
17257 * grub-core/partmap: ... to here.
17258 * parttool: Moved ...
17259 * grub-core/parttool: ... to here.
17260 * script: Moved ...
17261 * grub-core/script: ... to here.
17262 * term: Moved ...
17263 * grub-core/term: ... to here
17264 * tests/example_functional_test.c: Moved ...
17265 * grub-core/tests/example_functional_test.c: ... to here.
17266 * tests/lib/functional_test.c: Moved ...
17267 * grub-core/tests/lib/functional_test.c: ... to here.
17268 * tests/lib/test.c: Moved ...
17269 * grub-core/tests/lib/test.c: ... to here.
17270 * video: Moved ...
17271 * grub-core/video: ... to here.
17272
17273 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17274
17275 Replace --enable-grub-emu-modules with grub-emu-lite.
17276
17277 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17278 cache.S.
17279
17280 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17281 * kern/emu/full.c: New file. For grub-emu specific initialization.
17282 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17283 * kern/emu/main.c: Call initialization function grub_emu_init.
17284
17285 * Makefile.in: Include grub-emu-lite in install.
17286 * commands/parttool.c: Use grub_no_autoload to differentiate
17287 between grub-emu and grub-emu-lite.
17288 * include/grub/misc.h: New variable grub_no_autoload.
17289
17290 * conf/any-emu.rmk: New rules for grub-emu-lite.
17291 * configure.ac: Remove --enable-grub-emu-modules.
17292 * genmk.rb: Cleanup unnecessary rules.
17293 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17294
17295 * normal/main.c: Don't load list files on grub-emu-lite.
17296 * util/misc.c (grub_arch_sync_caches): Removed.
17297
17298 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17301 grub-mkimage rather than grub-mkelfimage.
17302 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17303
17304 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17307 a key after CapsLock or NumLock. It's just a qemu bug.
17308
17309 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17312 needed by libusb wrapper.
17313
17314 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17315
17316 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17317
17318 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17321 --nounzip is passed.
17322
17323 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17324
17325 USB hotunplugging and USB serial support.
17326
17327 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17328 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17329 (grub_uhci_transfer): Respect timeout and set *actual.
17330 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17331 non-standard length.
17332 (grub_usb_device_attach): Autoload modules.
17333 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17334 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17335 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17336 users updated.
17337 (grub_usb_add_hub): Fill nports and children.
17338 (attach_root_port): Receive hub instead of controller.
17339 All users updated. Fill hub->devices.
17340 (grub_usb_root_hub): Allocate hub->devices.
17341 (detach_device): New function.
17342 (poll_nonroot_hub): Fill children and detach devices.
17343 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17344 actual arguments. All users updated.
17345 (grub_usb_bulk_read_extended): New function.
17346 * bus/usb/serial/common.c: New file.
17347 * bus/usb/serial/ftdi.c: Likewise.
17348 * bus/usb/serial/pl2303.c: Likewise.
17349 * commands/terminal.c (handle_command): Support wildcard.
17350 * commands/usbtest.c: Output "Unknown" instead of empty string.
17351 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17352 (usbserial_common_mod_SOURCES): New variable.
17353 (usbserial_common_mod_CFLAGS): Likewise.
17354 (usbserial_common_mod_LDFLAGS): Likewise.
17355 (pkglib_MODULES): Add usbserial_pl2303.mod.
17356 (usbserial_pl2303_mod_SOURCES): New variable.
17357 (usbserial_pl2303_mod_CFLAGS): Likewise.
17358 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17359 (pkglib_MODULES): Add usbserial_ftdi.mod.
17360 (usbserial_ftdi_mod_SOURCES): New variable.
17361 (usbserial_ftdi_mod_CFLAGS): Likewise.
17362 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17363 (pkglib_MODULES): Add serial.mod.
17364 (serial_mod_SOURCES): New variable.
17365 (serial_mod_CFLAGS): Likewise.
17366 (serial_mod_LDFLAGS): Likewise.
17367 * conf/i386-pc.rmk: Likewise.
17368 * conf/mips-yeeloong.rmk: Likewise.
17369 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17370 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17371 * disk/usbms.c (first_available_slot): New variable.
17372 (grub_usbms_attach): Don't reuse free slots due to potential cache
17373 problems.
17374 * include/grub/serial.h: Moved to ..
17375 * include/grub/ns8250.h: ...this.
17376 * include/grub/serial.h: New file.
17377 * include/grub/term.h (grub_term_poll_usb): New variable.
17378 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17379 readkey. All users updated.
17380 (grub_terminfo_output_state): Pass term to put.
17381 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17382 (grub_usb_controller_dev): Add timeout and actual arguments to
17383 transfer. All users updated.
17384 (grub_usb_interface): New field detach_data.
17385 (grub_usb_device): New fields children and nports.
17386 (grub_usb_ep_type_t): New type.
17387 (grub_usb_get_ep_type): New function.
17388 (grub_usb_bulk_read_extended): Likewise.
17389 * include/grub/usbdesc.h (grub_usb_desc): New type.
17390 * include/grub/usbserial.h: New file.
17391 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17392 * kern/term.c (grub_term_poll_usb): New variable.
17393 (grub_getkey): Call grub_term_poll_usb if set.
17394 (grub_checkkey): Likewise.
17395 (grub_getkeystatus): Likewise.
17396 * term/serial.c: Moved controller-specific parts to ...
17397 * term/ns8250.c: ... here.
17398 * term/serial.c: Mostly rewritten.
17399 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17400 according to spec.
17401
17402 2010-08-20 Robert Millan <rmh@gnu.org>
17403
17404 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17405 a separate module and maybe other interesting combinations.
17406
17407 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17408 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17409 (kfreebsd_entry): Add generic filesystem module load routine.
17410 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17411
17412 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17413
17414 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17415 "numcenter" (I misunderstood the purpose of this entry).
17416 * docs/grub.texi (sendkey): Likewise.
17417
17418 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17419
17420 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17421 status flag options; simply omitting the option is equivalent and
17422 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17423 (keysym_table): Rename "num5numlock" to "numlock".
17424 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17425 can uniformly say that only the last of multiple `sendkey'
17426 invocations has any effect.
17427 * docs/grub.texi (sendkey): New section.
17428
17429 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17430
17431 * commands/i386/pc/sendkey.c (options): Fix three typos.
17432
17433 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 Implement sendkey support.
17436
17437 * commands/i386/pc/sendkey.c: New file.
17438 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17439 (sendkey_mod_SOURCES): New variable.
17440 (sendkey_mod_CFLAGS): Likewise.
17441 (sendkey_mod_LDFLAGS): Likewise.
17442
17443 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17444
17445 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17446 fix warnings from Autoconf.
17447
17448 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17449
17450 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17451 to avoid false positives with some assemblers that output things
17452 like "someprefix_func" as part of their output.
17453
17454 2010-08-15 Robert Millan <rmh@gnu.org>
17455
17456 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17457 errors.
17458 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17459 grub_get_libzfs_handle() errors.
17460
17461 2010-08-14 Robert Millan <rmh@gnu.org>
17462
17463 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17464 filesystem is not ZFS.
17465
17466 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17467
17468 Fix for misspelled color names defaulting to black/black (bug
17469 reported by Doug Nazar)
17470
17471 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17472 status to prototype.
17473 * normal/color.c (grub_parse_color_name_pair): Return failure
17474 status.
17475 (grub_env_write_color_normal): Ignore bad color names.
17476 (grub_env_write_color_highlight): Likewise.
17477 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17478
17479 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17480
17481 "shift" command support to GRUB script.
17482
17483 * include/grub/script_sh.h (grub_script_shift): New prototype.
17484 * script/execute.c (grub_script_shift): New function.
17485 * script/main.c (grub_script_init): Register shift command.
17486 (grub_script_fini): Unregister shift command.
17487 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17488
17489 * tests/grub_script_shift.in: New testcase.
17490 * conf/tests.rmk: Rules for new testcase.
17491
17492 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17493
17494 "continue" command support to GRUB script.
17495
17496 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17497 (grub_script_break): Continue support.
17498 * script/main.c (grub_script_init): Register continue command.
17499 (grub_script_fini): Unregister continue command.
17500
17501 * tests/grub_script_continue.in: New testcase.
17502 * conf/tests.rmk: Rules for new testcase.
17503
17504 2010-08-12 BVK Chaitanya <bvk@dbook>
17505
17506 "break" command support to GRUB script.
17507
17508 * conf/common.rmk: Rule updates to grub-script-check.
17509 * include/grub/misc.h (grub_min): New function.
17510 * include/grub/script_sh.h (grub_script_init): New prototype.
17511 (grub_script_fini): New prototype.
17512 (grub_script_break): New prototype.
17513 * script/main.c (grub_script_init): New function.
17514 (grub_script_fini): New function.
17515 * script/execute.c (grub_script_break): New function.
17516 * normal/main.c: Calls to grub_script_{init,fini}.
17517 * util/grub-script-check.c (grub_script_break): New function.
17518
17519 * tests/grub_script_break.in: New testcase.
17520 * conf/tests.rmk: Rules for new test case.
17521
17522 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17523
17524 Function parameters support to GRUB script.
17525
17526 * script/yylex.l (VARIABLE): Regular expression update.
17527 * script/function.c (grub_script_function_call): Moved ...
17528 * script/execute.c (grub_script_function_call): ... to here.
17529 (grub_script_execute_arglist_to_argv): Removed.
17530 (grub_script_arglist_to_argv): New function.
17531 * script/argv.c: New file.
17532 (grub_script_argv_free): New function.
17533 (grub_script_argv_next): Likewise.
17534 (grub_script_argv_append): Likewise.
17535 (grub_script_argv_split_append): Likewise.
17536 * include/grub/script_sh.h (grub_script_argv): New struct.
17537 (grub_script_argv_free): New function.
17538 (grub_script_argv_next): Likewise.
17539 (grub_script_argv_append): Likewise.
17540 (grub_script_argv_split_append): Likewise.
17541
17542 * conf/common.rmk (normal.mod): New source script/argv.c.
17543
17544 * tests/grub_script_echo1.in: More tests.
17545 * tests/grub_script_vars1.in: Likewise.
17546 * tests/grub_script_functions.in: New test case.
17547 * conf/tests.rmk: Rules for new testcase.
17548
17549 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17550
17551 Remove grub_script_cmdblock struct.
17552
17553 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17554 * script/parser.y: Likewise.
17555 * script/execute.c: Rename cmdblock suffix to cmdlist.
17556 * script/script.c: Likewise.
17557 * util/grub-script-check.c: Likewise.
17558
17559 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17560
17561 * .bzrignore: add grub-macho2img
17562
17563 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17566
17567 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 Remove the dump of sm712 initialisation sequence.
17570
17571 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17572 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17573 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17574 (GRUB_VGA_CR_*): Added many registers.
17575 (GRUB_VGA_SR_*): Likewise.
17576 (GRUB_VGA_GR_*): Likewise.
17577 (grub_vga_write_arx): New function.
17578 (grub_video_hw_config): New struct.
17579 (grub_vga_set_geometry): New function.
17580 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17581 GRUB_PCI_CLASS_SUBCLASS_VGA.
17582 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17583 * video/sm712.c (grub_sm712_write_reg): New function
17584 (grub_sm712_read_reg): Likewise.
17585 (grub_sm712_sr_write): Likewise.
17586 (grub_sm712_gr_write): Likewise.
17587 (grub_sm712_cr_write): Likewise.
17588 (grub_sm712_write_arx): Likewise.
17589 (grub_sm712_cr_shadow_write): Likewise.
17590 (grub_sm712_write_dda_lookup): Likewise.
17591 (grub_video_sm712_setup): Initialise the video rather then
17592 blindly replay the dump.
17593 (main) [TEST]: Add a routine to be able to compile as standalone for
17594 tests.
17595 * video/sm712_init.c (sm712_init): Removed.
17596 (sm712_sr_seq1): New array.
17597 (sm712_sr_seq2): Likewise.
17598
17599 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * include/grub/vga.h: Add missing grub/pci.h include.
17602
17603 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17604
17605 * util/grub-macho2img.c (main): fix typo
17606
17607 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17608
17609 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17610 (grub_vga_gr_read): Likewise.
17611 (grub_vga_cr_write): Likewise.
17612 (grub_vga_cr_read): Likewise.
17613 (grub_vga_sr_write): Likewise.
17614 (grub_vga_sr_read): Likewise.
17615 (grub_vga_palette_read): Likewise.
17616 (grub_vga_palette_write): Likewise.
17617 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17618 (grub_sm712_sr_read): New function.
17619 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17620 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17621
17622 2010-08-09 Robert Millan <rmh@gnu.org>
17623
17624 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17625 out unused variables on non-ZFS build.
17626
17627 2010-08-08 Robert Millan <rmh@gnu.org>
17628
17629 Fix path generation for sub-filesystems in ZFS.
17630
17631 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17632 missing slash.
17633
17634 2010-08-08 Robert Millan <rmh@gnu.org>
17635
17636 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17637
17638 2010-08-08 Robert Millan <rmh@gnu.org>
17639
17640 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17641 exist, issue a proper error message (rely on `ls' for translated
17642 strings).
17643
17644 2010-08-08 Robert Millan <rmh@gnu.org>
17645
17646 Fix grub-probe invocation.
17647
17648 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17649
17650 2010-08-04 Robert Millan <rmh@gnu.org>
17651
17652 * configure.ac: Remove checks for getfsstat() and getmntany().
17653 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17654 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17655 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17656 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17657 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17658 function.
17659 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17660 via find_mount_point_from_dir() and getfsstat() / getmntany().
17661
17662 2010-08-04 Robert Millan <rmh@gnu.org>
17663
17664 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17665 (grub_find_zpool_from_mount_point): Merge into ...
17666 (grub_find_zpool_from_dir): ... this.
17667 * kern/emu/misc.c: Likewise.
17668
17669 * kern/emu/misc.c
17670 (grub_make_system_path_relative_to_its_root): Replace
17671 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17672 with grub_find_zpool_from_dir().
17673 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17674
17675 2010-08-04 Robert Millan <rmh@gnu.org>
17676
17677 Support OpenSolaris in ZFS device resolution.
17678
17679 * configure.ac: Check for getmntany().
17680 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17681 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17682 support.
17683
17684 2010-08-03 Robert Millan <rmh@gnu.org>
17685
17686 Fix grub-emu build.
17687
17688 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17689 * include/grub/emu/misc.h: ... here.
17690
17691 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17692 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17693
17694 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17695 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17696 (grub_get_libzfs_handle): Move to ...
17697 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17698 (grub_get_libzfs_handle): ... here.
17699
17700 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17701
17702 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17703 as command name case.
17704
17705 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17706
17707 * disk/raid.c (insert_array): Select unique numbers for named arrays
17708 as well, for use as keys in the disk cache.
17709
17710 2010-08-01 Robert Millan <rmh@gnu.org>
17711
17712 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17713 kFreeBSD device name, except on ZFS where the filesystem label is
17714 used.
17715 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17716 `/boot/zfs/zpool.cache'.
17717 Set mountfrom kernel variable using ${kfreebsd_device}.
17718
17719 2010-08-01 Robert Millan <rmh@gnu.org>
17720
17721 Make it even harder to use uninitialized `libzfs_handle' (and
17722 make the interface a bit simpler).
17723
17724 * include/grub/util/misc.h (grub_util_init_libzfs)
17725 (libzfs_handle): Remove.
17726 (grub_get_libzfs_handle): New prototype.
17727
17728 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17729 attribute.
17730 (grub_util_init_libzfs): Remove.
17731 (grub_get_libzfs_handle): New function.
17732
17733 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17734 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17735 accessing `libzfs_handle' directly.
17736
17737 2010-08-01 Robert Millan <rmh@gnu.org>
17738
17739 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17740 (grub_find_zpool_from_mount_point): New function prototypes.
17741
17742 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17743 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17744
17745 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17746 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17747 `static' attribute.
17748
17749 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17750 finding zpool from mount point into ...
17751 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17752
17753 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17754 requested path is part of a ZFS pool, use
17755 grub_find_zpool_from_mount_point() to detect its filesystem name,
17756 and generate a path with `/fsname@path' syntax.
17757
17758 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17759
17760 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17761 (void) rather than () so that this is a proper prototype.
17762
17763 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17766
17767 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17770 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17771
17772 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17775
17776 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17777
17778 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17779
17780 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17781
17782 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17783 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17784 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17785 disable gfxpayload.
17786 (Shell-like scripting): Add real content.
17787 (Serial terminal): Suggest `terminal_input serial; terminal_output
17788 serial' rather than putting the two commands on separate lines,
17789 since console input will be inoperative after the first command.
17790 (menuentry): Document --class, --users, and --hotkey options.
17791 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17792 Vladimir Serbinenko).
17793
17794 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17795 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17796
17797 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17798
17799 2010-08-01 Robert Millan <rmh@gnu.org>
17800
17801 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17802 (grub_find_zpool_from_mount_point): New function prototypes.
17803
17804 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17805 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17806
17807 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17808 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17809 `static' attribute.
17810
17811 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17812 finding zpool from mount point into ...
17813 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17814
17815 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17816 requested path is part of a ZFS pool, use
17817 grub_find_zpool_from_mount_point() to detect its filesystem name,
17818 and generate a path with `/fsname@path' syntax.
17819
17820 2010-08-01 Robert Millan <rmh@gnu.org>
17821
17822 Prevent accidental use of uninitialized libzfs_handle.
17823
17824 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17825 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17826 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17827
17828 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17829
17830 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17831 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17832
17833 2010-08-01 Robert Millan <rmh@gnu.org>
17834
17835 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17836
17837 2010-07-31 Robert Millan <rmh@gnu.org>
17838
17839 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17840
17841 2010-07-31 Robert Millan <rmh@gnu.org>
17842
17843 * kern/emu/misc.c: Add missing license header.
17844
17845 2010-07-31 Robert Millan <rmh@gnu.org>
17846
17847 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17848
17849 * include/grub/util/libnvpair.h: Include `<config.h>'.
17850 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17851 declaring libnvpair prototypes ourselves.
17852 * include/grub/util/libzfs.h: Include `<config.h>'.
17853 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17854 declaring libzfs prototypes ourselves.
17855
17856 (libzfs_handle): Moved to ...
17857 * include/grub/util/misc.h (libzfs_handle): ... here.
17858 Include `<grub/util/libzfs.h>'.
17859
17860 2010-07-30 Robert Millan <rmh@gnu.org>
17861
17862 * include/grub/emu/misc.h: Add missing license header.
17863
17864 2010-07-30 Robert Millan <rmh@gnu.org>
17865
17866 Enable `grub-probe -t device' resolution on ZFS.
17867
17868 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17869 * include/grub/util/libnvpair.h: New file.
17870 * include/grub/util/libzfs.h: New file.
17871
17872 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17873 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17874 `<grub/util/libnvpair.h>'.
17875 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17876
17877 (find_mount_point_from_dir): New static function.
17878 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17879 function.
17880 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17881 find_root_device_from_libzfs() before ressorting to find_root_device().
17882
17883 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17884 prototype.
17885 * util/misc.c: Include `<grub/util/libzfs.h>'.
17886 (grub_util_init_libzfs): New function.
17887 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17888 [HAVE_LIBZFS] (fini_libzfs): New static function.
17889 (grub_util_init_libzfs): New function.
17890 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17891
17892 2010-07-30 Robert Millan <rmh@gnu.org>
17893
17894 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17895 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17896 `warn_unused_result' attribute.
17897 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17898 (grub_xasprintf, grub_xvasprintf): Likewise.
17899 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17900
17901 2010-07-29 Robert Millan <rmh@gnu.org>
17902
17903 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17904 (probe): Handle `PRINT_FS_LABEL'.
17905 (main): Handle `-t fs_label'.
17906
17907 2010-07-29 Robert Millan <rmh@gnu.org>
17908
17909 * configure.ac: Remove grub-mkisofs checks.
17910
17911 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17914 Reported by: Lennart Sorensen.
17915
17916 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17919 prior to terminal_input/terminal_output separation. It's been over 1.5
17920 years and those versions weren't widely deployed.
17921
17922 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17923
17924 * disk/raid.c (insert_array): Don't count named arrays when looking
17925 for unused array numbers.
17926 Reported and tested by: Michael Guntsche.
17927
17928 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17929
17930 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17931 implementation of this so that grub-emu links again, with a note
17932 that this should support hotplugging in the future.
17933
17934 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17935
17936 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17937
17938 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17939
17940 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17941 handle on failure.
17942 (grub_loopback_close): Remove empty function.
17943 (grub_loopback_dev): Remove close method.
17944
17945 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17946
17947 Disable EFI cursor when the EFI console becomes inactive.
17948
17949 * term/efi/console.c (grub_efi_console_init): New function.
17950 (grub_efi_console_fini): New function.
17951 (grub_console_term_output): Register init and fini methods.
17952
17953 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17956 sh script.
17957
17958 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * disk/loopback.c (grub_loopback): Replace filename with file.
17961 (delete_loopback): Handle new semantics.
17962 (grub_cmd_loopback): Likewise.
17963 (grub_loopback_iterate): Likewise.
17964 (grub_loopback_close): Likewise.
17965
17966 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17969 with -p "".
17970 Reported by: Tito Keitel.
17971
17972 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * docs/grub.texi (Naming convention): Document new naming convention.
17975
17976 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17977 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17978
17979 Generate device.map in something closer to the old ordering.
17980
17981 * util/deviceiter.c (struct device): New declaration.
17982 (compare_file_names): Rename to ...
17983 (compare_devices): ... this. Sort by kernel name in preference to
17984 the stable by-id name, but keep the latter as a fallback comparison.
17985 Update header comment.
17986 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17987 of `struct device' rather than of plain file names.
17988
17989 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17990
17991 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17992 on i386.
17993
17994 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17995
17996 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17997 hardcoding size.
17998 (setv1table): Likewise.
17999
18000 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18001
18002 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18003 removing the homehost if present.
18004 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18005 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18006 removing the homehost if present.
18007 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18008 if possible.
18009 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18010
18011 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18012 parameter. Set its pointer target to 0.
18013 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18014 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18015 `data_offset' value from the superblock for 1.x metadata.
18016 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18017 data on the device.
18018 (insert_array): Record the start sector of data on the device.
18019 (grub_raid_register): Pass start_sector parameters to
18020 grub_raid_list->detect and insert_array.
18021 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18022 member.
18023 (struct grub_raid): Add start_sector parameter to `detect'.
18024
18025 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18026 __attribute__ ((packed)), leaving a comment.
18027 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18028 (grub_mdraid_detect_09): ... here and ...
18029 (grub_mdraid_detect_1x): ... here.
18030
18031 2010-07-20 Peter Henn <peter.henn@web.de>
18032
18033 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18034 chunk size and disk size, which are already given as sector counts
18035 as distinct from the 0.90 units. Fetch the correct device number
18036 from the role table instead of using the table index.
18037
18038 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
18039
18040 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18041 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18042 (WriteMostly1): New macro.
18043 Set array->name to NULL for metadata format 0.90. Add support for
18044 metadata 1.x. Fix some comments.
18045 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18046 few comments.
18047 * util/getroot.c (grub_util_get_grub_dev): Add support for
18048 /dev/md/name style devices.
18049
18050 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18051
18052 * .bzrignore: Ignore 20_linux_xen.
18053
18054 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
18055
18056 * util/import_unicode.py: Remove unnecessary imports.
18057
18058 2010-07-17 Aleš Nesrsta <starous@volny.cz>
18059
18060 Hotplugging and USB hub support.
18061
18062 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18063 (grub_ohci): Likewise.
18064 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18065 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18066 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18067 (GRUB_OHCI_CTRL_EDS): Likewise.
18068 (GRUB_OHCI_BULK_EDS): Likewise.
18069 (GRUB_OHCI_TDS): Likewise.
18070 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18071 (grub_ohci_ed_phys2virt): New function.
18072 (grub_ohci_virt_to_phys): Likewise.
18073 (grub_ohci_td_phys2virt): Likewise.
18074 (grub_ohci_td_virt2phys): Likewise.
18075 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18076 attachment.
18077 (grub_ohci_find_ed): New function.
18078 (grub_ohci_alloc_td): Likewise.
18079 (grub_ohci_free_td): Likewise.
18080 (grub_ohci_free_tds): Likewise.
18081 (grub_ohci_transfer): Use previously allocated memory.
18082 (grub_ohci_portstatus): Reset status changed bit.
18083 (grub_ohci_detect_dev): Supply status changed.
18084 (grub_ohci_fini_hw): Free memory.
18085 (grub_ohci_restore_hw): Reallocate memory.
18086 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18087 Reset status change.
18088 (grub_uhci_detect_dev): Supply status_change.
18089 * bus/usb/usb.c (attach_hooks): New var.
18090 (grub_usb_device_attach): New function.
18091 (grub_usb_register_attach_hook_class): Likewise.
18092 (grub_usb_unregister_attach_hook_class): Likewise.
18093 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18094 (grub_usb_add_hub): Reset connection changed bit.
18095 (attach_root_port): New function.
18096 (grub_usb_root_hub): Likewise.
18097 (poll_nonroot_hub): Likewise.
18098 (grub_usb_poll_devices): Likewise.
18099 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18100 * disk/usbms.c (grub_usbms_open): Use device hooks.
18101 (grub_usbms_iterate) :Poll devices.
18102 (grub_usbms_finddevs): Split into ...
18103 (grub_usbms_attach): ... this ...
18104 (grub_usbms_attach): ... and this.
18105 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18106 in detect_dev.
18107 (grub_usb_interface): New fields attached and detach_hook.
18108 (grub_usb_attach_hook_class): New type.
18109 (grub_usb_attach_desc): New struct.
18110 (grub_usb_register_attach_hook_class): New function.
18111 (grub_usb_unregister_attach_hook_class): Likewise.
18112 (grub_usb_poll_devices): Likewise.
18113 (grub_usb_device_attach): Likewise.
18114 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18115 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18116
18117 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18120 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18121 delta determination style. Works with most NetBSD partitions too.
18122
18123 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18126 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18127
18128 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18131
18132 2010-07-14 Anton Blanchard <anton@samba.org>
18133
18134 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18135 ET_DYN files.
18136
18137 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18138
18139 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18140
18141 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18142
18143 * kern/partition.c (grub_partition_check_containment): New function to
18144 check that a partition is physically contained in a parent. Since
18145 offsets are relative (and non-negative), this reduces to checking that
18146 the partition ends before its parent.
18147 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18148 (grub_partition_iterate): Likewise.
18149 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18150 comments.
18151 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18152 partitions that start before their parent, and add debug printfs.
18153
18154 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18155
18156 * Makefile.in (.SUFFIX): Spell correctly, as ...
18157 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18158 bare module name without `.mod', e.g. `test') tried to invoke a
18159 Modula-2 compiler.
18160
18161 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18162
18163 * README: Point to the Info manual.
18164
18165 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18166
18167 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18168 2nd superblock position from partition size.
18169
18170 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18171
18172 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18173 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18174 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18175 outputs.
18176
18177 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 Restructure SCSI .id handling.
18180 Reported and tested by: Aleš Nesrsta.
18181
18182 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18183 (grub_atapi_dev): Changed .name to "ata". New field .id.
18184 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18185 (grub_usbms_dev): New field .id.
18186 * disk/scsi.c (grub_scsi_iterate): Generate name.
18187 (grub_scsi_open): Parse name.
18188 * include/grub/scsi.h (grub_make_scsi_id): New function.
18189 (grub_scsi_dev): Change iterate and open to number instead of naming
18190 busses. All users updated.
18191 (grub_scsi): Remove name. Add .bus.
18192
18193 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * commands/help.c (grub_cmd_help): Fix a typo.
18196
18197 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18200 Reported and tested by: Colin Watson.
18201
18202 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18203
18204 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18205 in this context.
18206
18207 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18210
18211 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18212
18213 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18214 indentation.
18215
18216 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18217
18218 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18219 and disk/raid6_recover.c.
18220 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18221 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18222
18223 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18224
18225 * term/gfxterm.c (repaint_schedulded): Rename to ...
18226 (repaint_scheduled): ... this. Update all callers.
18227 (repaint_was_schedulded): Rename to ...
18228 (repaint_was_scheduled): ... this. Update all callers.
18229
18230 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18231
18232 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18233 which we expect to be handled by upper layers.
18234
18235 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18236
18237 * bus/usb/usbhub.c: #include time.h header.
18238
18239 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18240
18241 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18242 entry_name also for entries without stat blocks (e.g. ".."); fixes
18243 corruption of the first entry in a directory.
18244
18245 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18246
18247 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18248 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18249 doesn't work otherwise.
18250
18251 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18252
18253 * docs/grub.texi (Features): Update list of supported file systems.
18254 (GNU/Linux): Update for GRUB 2.
18255 (Serial terminal): Remove mention of --disable-serial, which was a
18256 GRUB Legacy configure option. Update instructions to use
18257 `terminal_input' and `terminal_output' rather than `terminal'.
18258 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18259 configuration' and `Installing GRUB using grub-install'.
18260 (Menu entry editor): Update for GRUB 2.
18261 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18262 Document new -a, -u, and -v options.
18263 (initrd): New section.
18264 (initrd16): New section.
18265 (linux): New section.
18266 (linux16): New section.
18267 (search): The `var' argument to `--set' is optional.
18268 (GRUB only offers a rescue shell): Go into a little more detail on
18269 drive ordering.
18270
18271 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18272
18273 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18274
18275 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18278 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18279
18280 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18283 install_prefix, in line with install_dos_part and install_bsd_part.
18284 Add new prefix variable, which is copied to install_prefix after
18285 comparing core.img in memory with the one read from disk in the
18286 no-embedding case, and use that rather than overwriting
18287 install_prefix immediately when installing to a partition.
18288 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18289 Bicakci.
18290
18291 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18292
18293 * configure.ac: Avoid == in test command, it's not portable.
18294 * util/grub.d/30_os-prober.in: Likewise.
18295
18296 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18297
18298 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18299
18300 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18301
18302 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18303 multiple (top-level) partmaps.
18304
18305 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18308 Reported by: Tino Keitel.
18309
18310 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 Bidi and diacritics support.
18313
18314 * Makefile.in (widthspec.bin): New target.
18315 (widthspec.h): Likewise.
18316 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18317 * autogen.sh: Generate unidata.c.
18318 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18319 * commands/ls.c (grub_ls_list_devices): Likewise.
18320 (grub_ls_list_files): Likewise.
18321 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18322 (grub_mini_cmd_lsmod): Likewise.
18323 * commands/read.c: Likewise.
18324 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18325 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18326 * lib/arg.c (grub_arg_show_help): Likewise.
18327 * lib/crypto.c (grub_password_get): Likewise.
18328 * normal/auth.c (grub_username_get): Likewise.
18329 * normal/misc.c (grub_normal_print_device_info): Likewise.
18330 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18331 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18332 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18333 (normal/charset.c_DEPENDENCIES): New variable.
18334 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18335 (pkglib_MODULES): Remove charset.mod.
18336 (charset_mod_SOURCES): Removed.
18337 (charset_mod_CFLAGS): Likewise.
18338 (charset_mod_LDFLAGS): Likewise.
18339 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18340 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18341 and term/tparm.c.
18342 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18343 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18344 (kernel_img_HEADERS): Add terminfo.h.
18345 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18346 Fill ->font. Reverse ascii bitmaps.
18347 (grub_font_get_xheight): New function.
18348 * font/font.c (grub_font_get_string_width): Moved from here ...
18349 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18350 * font/font.c (grub_font_draw_string): Moved from here ...
18351 * gfxmenu/font.c (grub_font_draw_string): ... here.
18352 * font/font.c (grub_font_dup_glyph): New function.
18353 (grub_font_blit_glyph): Likewise.
18354 (grub_font_blit_glyph_mirror): Likewise.
18355 (blit_comb): Likewise.
18356 (grub_font_construct_dry_run): Likewise.
18357 (grub_font_get_constructed_device_width): Likewise.
18358 (grub_font_construct_glyph): Likewise.
18359 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18360 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18361 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18362 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18363 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18364 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18365 (grub_font_get_xheight): New proto.
18366 (grub_font_get_constructed_device_width): Likewise.
18367 (grub_font_construct_glyph): Likewise.
18368 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18369 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18370 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18371 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18372 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18373 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18374 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18375 (grub_console_getcharwidth): Likewise.
18376 * include/grub/misc.h (grub_xputs): New proto.
18377 (grub_puts): Inlined.
18378 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18379 (grub_normal_get_line_counter): Removed.
18380 (grub_install_newline_hook): Likewise.
18381 (grub_normal_get_char_counter): New proto.
18382 (grub_normal_reset_more): Likewise.
18383 (grub_xputs_normal): Likewise.
18384 * include/grub/powerpc/ieee1275/console.h: Removed.
18385 * include/grub/sparc64/ieee1275/console.h: Likewise.
18386 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18387 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18388 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18389 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18390 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18391 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18392 (grub_term_input): Pass reference to self. All users updated.
18393 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18394 Pass reference to self. New fields normal_color, highlight_color and
18395 data. All users updated.
18396 (grub_putchar): Removed.
18397 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18398 (grub_unicode_estimate_width): New function.
18399 (grub_term_getcharwidth): Add defaults.
18400 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18401 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18402 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18403 (grub_cls): Remove EXPORT_FUNC.
18404 (grub_setcolorstate): Inline.
18405 (grub_newline_hook): Removed.
18406 * include/grub/terminfo.h: Rewritten. All users updated.
18407 * include/grub/unicode.h: New file.
18408 * include/grub/video.h (grub_video_signed_rect): New type.
18409 * kern/emu/console.c (grub_console_highlight_color): Removed.
18410 (grub_console_normal_color): Likewise.
18411 (grub_console_standard_color): Made static.
18412 (grub_ncurses_putchar): Remove mapping.
18413 (grub_ncurses_getcharwidth): Removed.
18414 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18415 (grub_ncurses_setcolor): Removed.
18416 (grub_ncurses_getcolor): Likewise.
18417 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18418 (grub_console_putchar): ... this.
18419 (grub_console_putchar): Handle argument difference.
18420 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18421 console_init_early and console_init_lately.
18422 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18423 * kern/misc.c (grub_puts): Removed.
18424 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18425 (grub_vsnprintf_real): Remove str = NULL support.
18426 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18427 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18428 * kern/term.c (grub_putcode): Renamed to ...
18429 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18430 (grub_putchar): Removed.
18431 (grub_xputs_dumb): New function.
18432 (grub_xputs): New variable.
18433 * lib/charset.c: Move from here ...
18434 * normal/charset.c: ... to here.
18435 (grub_ucs4_to_utf8): New function.
18436 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18437 (join_types): New variable.
18438 (unpack_join): New function.
18439 (bidi_types): New variable.
18440 (unpack_bidi): New function.
18441 (get_bidi_type): Likewise.
18442 (get_join_type): Likewise.
18443 (is_mirrored): Likewise.
18444 (grub_unicode_get_comb_type): Likewise.
18445 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18446 (is_type_after): Likewise.
18447 (grub_unicode_aglomerate_comb): Likewise.
18448 (bidi_line_wrap): Likewise.
18449 (grub_bidi_line_logical_to_visual): Likewise.
18450 (grub_bidi_logical_to_visual): Likewise.
18451 (grub_unicode_mirror_code): Likewise.
18452 (grub_unicode_shape_code): Likewise.
18453 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18454 Don't use grub_putchar.
18455 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18456 (grub_normal_reader_init): Likewise.
18457 (grub_xputs_saved): New variable.
18458 (GRUB_MOD_INIT): Set grub_xputs.
18459 (GRUB_MOD_FINI): Restore grub_xputs.
18460 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18461 (menu_init): Avoid printing gfxmenu error.
18462 (show_menu): Use grub_normal_get_char_counter.
18463 * normal/menu_entry.c (update_screen): Fix out-of-array.
18464 (complete): Avoid NULL dereferencing.
18465 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18466 * normal/menu_text.c (print_spaces): Removed.
18467 (grub_print_ucs4): Likewise.
18468 (grub_print_message_indented): Use grub_print_ucs4.
18469 (print_message): Use grub_putcode.
18470 (print_entry): Hanlde diacritics.
18471 * normal/term.c (term_state): New type.
18472 (grub_more_lines): Removed.
18473 (term_states): New variable.
18474 (grub_normal_line_counter): Renamed to ..
18475 (grub_normal_char_counter): ...this. All users updated.
18476 (grub_normal_get_line_counter): Renamed to ...
18477 (grub_normal_get_char_counter): ... this.
18478 (grub_normal_reset_more): New function.
18479 (process_newline): Removed.
18480 (print_more): New function.
18481 (grub_install_newline_hook): Removed.
18482 (map_code): New function.
18483 (grub_puts_terminal): Use grub_print_ucs4.
18484 (putglyph): New function.
18485 (putcode_real): Likewise.
18486 (grub_putcode): Use putcode_real.
18487 (get_maxwidth): New function.
18488 (get_startwidth): Likewise.
18489 (print_ucs4_terminal): Likewise.
18490 (find_term_state): Likewise.
18491 (put_glyphs_terminal): Likewise.
18492 (print_backlog): Likewise.
18493 (print_ucs4_real): Likewise.
18494 (grub_print_ucs4): Likewise.
18495 (grub_xputs_normal): Likewise.
18496 * term/efi/console.c (grub_console_putchar): Output diacritics.
18497 (grub_console_getcharwidth): Removed.
18498 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18499 * term/gfxterm.c (clear_char): Free chars.
18500 (scroll_up): Avoid leaking memory.
18501 (grub_gfxterm_putchar): Support diacritics.
18502 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18503 * term/i386/pc/console.c (grub_console_term_output): Declare as
18504 GRUB_TERM_CODE_TYPE_VGA.
18505 * term/i386/pc/vga.c (grub_vga_term): Declare as
18506 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18507 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18508 GRUB_TERM_CODE_TYPE_VGA.
18509 * term/i386/vga_common.c (map_char): Removed.
18510 (grub_console_putchar): Likewise.
18511 (grub_console_getcharwidth): Likewise.
18512 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18513 (colors): Reordered to match terminfo.
18514 (grub_ofconsole_normal_color): Removed.
18515 (grub_ofconsole_writeesc): Likewise.
18516 (grub_ofconsole_highlight_color): Likewise.
18517 (grub_ofconsole_getcharwidth): Likewise.
18518 (grub_ofconsole_setcolorstate): Likewise.
18519 (grub_ofconsole_setcolor): Likewise.
18520 (grub_ofconsole_getcolor): Likewise.
18521 (grub_ofconsole_readkey): Renamed to ...
18522 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18523 key.
18524 (grub_ofconsole_checkkey): Removed.
18525 (grub_ofconsole_getkey): Likewise.
18526 (grub_ofconsole_getxy): Likewise.
18527 (grub_ofconsole_gotoxy): Likewise.
18528 (grub_ofconsole_cls): Likewise.
18529 (grub_ofconsole_refresh): Likewise.
18530 (grub_ofconsole_terminfo_input): New struct.
18531 (grub_ofconsole_terminfo_output): Likewise.
18532 (grub_ofconsole_term_input): Use terminfo.
18533 (grub_ofconsole_term_output): Likewise.
18534 (grub_console_init): Split into ...
18535 (grub_console_init_early): ...this and ...
18536 (grub_console_init_lately): ...this. Use terminfo.
18537 (grub_ofconsole_putchar): Renamed to ...
18538 (put): ... this. Remove mapping.
18539 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18540 * term/serial.c: Simplify using terminfo.
18541 (xpos): Removed.
18542 (ypos): Likewise.
18543 (keep_track): Likewise.
18544 (registered): Likewise.
18545 (input_buf): Likewise.
18546 (npending): Likewise.
18547 (serial_translate_key_sequence): Likewise.
18548 (fill_input_buf): Likewise.
18549 (grub_serial_checkkey): Likewise.
18550 (grub_serial_getkey): Likewise.
18551 (grub_serial_getxy): Likewise.
18552 (grub_serial_gotoxy): Likewise.
18553 (grub_serial_putchar): Likewise.
18554 (grub_serial_cls): Likewise.
18555 (grub_serial_setcolorstate): Likewise.
18556 (grub_serial_setcursor): Likewise.
18557 (serial_hw_init): Use serial_hw_fetch.
18558 (grub_serial_terminfo_input): New variable.
18559 (grub_serial_terminfo_output): Likewise.
18560 (grub_serial_term_input): Use terminfo.
18561 (grub_serial_term_output): Likewise.
18562 * term/terminfo.c (putstr): Use put.
18563 (grub_terminfo_all_free): New function
18564 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18565 (grub_terminfo_output_register): New function.
18566 (grub_terminfo_output_unregister): Likewise.
18567 (grub_terminfo_getxy): Likewise.
18568 (grub_terminfo_readkey): Likewise.
18569 (grub_terminfo_checkkey): Likewise.
18570 (grub_terminfo_getkey): Likewise.
18571 (grub_terminfo_input_init): Likewise.
18572 (print_terminfo): Likewise.
18573 (grub_cmd_terminfo): Handle encoding.
18574 (grub_terminfo_gotoxy): Track position.
18575 (grub_terminfo_cls): Likewise.
18576 (grub_terminfo_putchar): Likewise.
18577 (grub_terminfo_setcolorstate): Handle colors
18578 (grub_terminfo_cursor_on): This ...
18579 (grub_terminfo_cursor_off): ... and this merged into ...
18580 (grub_terminfo_setcursor): ... this.
18581 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18582 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18583 * unicode/BidiMirroring.txt: Likewise.
18584 * unicode/UnicodeData.txt: Likewise.
18585 * unicode/COPYING: Likewise.
18586 * util/grub-editenv.c (grub_putchar): Removed.
18587 (grub_xputs_real): New function.
18588 (grub_xputs): New variable.
18589 * util/grub-fstest.c (grub_putchar): Removed.
18590 (grub_xputs_real): New function.
18591 (grub_xputs): New variable.
18592 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18593 (grub_xputs_real): New function.
18594 (grub_xputs): New variable.
18595 * util/grub-probe.c (grub_putchar): Removed.
18596 (grub_xputs_real): New function.
18597 (grub_xputs): New variable.
18598 * util/grub-script-check.c (grub_putchar): Removed.
18599 (grub_xputs_real): New function.
18600 (grub_xputs): New variable.
18601 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18602 (grub_xputs_real): New function.
18603 (grub_xputs): New variable.
18604 * util/import_unicode.py: New file.
18605 * util/grub-mkfont.c (ft_errmsgs): New array.
18606 (grub_glyph_info): Make bitmap a pointer.
18607 (file_formats): New type WIDTH_SPEC.
18608 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18609 (options): Add width-spec.
18610 (help): Likewise.
18611 (add_char): Renamed to ...
18612 (add_glyph): ... this.
18613 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18614 (glyph_replace): New type.
18615 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18616 (add_char): New function.
18617 (add_subst): Likewise.
18618 (process_cursive): Likewise.
18619 (add_font): Handle GSUB.
18620 (write_font_width_spec): New function.
18621 (main): Sort glyphs.
18622 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18623 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18624 * kern/term.c (grub_cls): Moved from here...
18625 * normal/term.c (grub_cls): ... here.
18626
18627 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18628
18629 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18630 suitable for using within the format argument of printf when
18631 converting grub_size_t.
18632 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18633 "x" to convert grub_size_t arguments.
18634
18635 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18638 too long captions.
18639 (list_get_minimal_size): Take selection box into account.
18640
18641 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18644 NULL font.
18645
18646 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18647
18648 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18649 devices when iterating over /dev/disk/by-id; they will be handled
18650 later if appropriate, which they aren't always (e.g. LVM).
18651
18652 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18653
18654 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18655 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18656 fails.
18657 (grub_halt): Likewise.
18658 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18659 reset-all fails.
18660 (grub_halt): Don't return, even if all of shut-down, power-off, and
18661 poweroff fail.
18662
18663 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18664
18665 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18666 arguments, not three.
18667
18668 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18669
18670 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18671 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18672 LVM-on-RAID is handled correctly.
18673
18674 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18675
18676 * docs/grub.texi (Changes from GRUB Legacy): New section.
18677 (Future): Fix typo.
18678
18679 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18680
18681 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18682 grub.d/README accidentally ends up executable for one reason or
18683 another. Ignore it.
18684
18685 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18688 (gpt_partition_map_iterate): Support non-512B sectors.
18689
18690 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18693 Tested by: Seth Goldberg.
18694
18695 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18696
18697 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18698 Properly align mbi.
18699 Reported by: Seth Goldberg.
18700
18701 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * util/grub-mkrescue.in: Avoid module duplication.
18704
18705 2010-07-01 Sean Finney <seanius@seanius.net>
18706
18707 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18708
18709 2010-07-01 Sean Finney <seanius@seanius.net>
18710
18711 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18712
18713 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18714
18715 * disk/lvm.c (grub_lvm_checkvalue): New function.
18716 (grub_lvm_check_flag): Likewise.
18717
18718 2010-07-01 Robert Millan <rmh@gnu.org>
18719
18720 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18721 Support 'p' as partition separator on kernel of FreeBSD (used
18722 with GPT labels).
18723 (grub_util_biosdisk_get_grub_dev): Likewise.
18724
18725 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18726
18727 Yeeloong firmware port.
18728
18729 * boot/mips/yeeloong/fwstart.S: New file.
18730 * bus/cs5536.c (gpiodump): New const.
18731 (set_io_space): New function.
18732 (set_iod): Likewise.
18733 (set_p2d): Likewise.
18734 (grub_cs5536_init_geode): Likewise.
18735 * commands/mips/yeeloong/lsspd.c: New file.
18736 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18737 (serial_mod_SOURCES): New variable.
18738 (serial_mod_CFLAGS): Likewise.
18739 (serial_mod_LDFLAGS): Likewise.
18740 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18741 term/terminfo.c and term/tparm.c.
18742 (pkglib_IMAGES): Add fwstart.img.
18743 (fwstart_img_SOURCES): New variable.
18744 (fwstart_img_CFLAGS): Likewise.
18745 (fwstart_img_ASFLAGS): Likewise.
18746 (fwstart_img_LDFLAGS): Likewise.
18747 (fwstart_img_FORMAT): Likewise.
18748 (pkglib_MODULES): Add lsspd.mod.
18749 (lsspd_mod_SOURCES): New variable.
18750 (lsspd_mod_CFLAGS): Likewise.
18751 (lsspd_mod_LDFLAGS): Likewise.
18752 (pkglib_MODULES): Add halt.mod.
18753 (halt_mod_SOURCES): New variable.
18754 (halt_mod_CFLAGS): Likewise.
18755 (halt_mod_LDFLAGS): Likewise.
18756 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18757 (serial_mod_SOURCES): Removed.
18758 (serial_mod_CFLAGS): Likewise.
18759 (serial_mod_LDFLAGS): Likewise.
18760 * disk/ata.c (check_device): New function.
18761 (grub_ata_device_initialize): Use check_device.
18762 (grub_ata_iterate): Recheck devices.
18763 (grub_ata_open): Likewise.
18764 (grub_atapi_iterate): Likewise.
18765 (grub_atapi_open): Likewise.
18766 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18767 (GRUB_ATA_CH1_PORT1): Likewise.
18768 (GRUB_ATA_CH0_PORT2): Likewise.
18769 (GRUB_ATA_CH1_PORT2): Likewise.
18770 * include/grub/mips/loongson.h: New file.
18771 * include/grub/mips/yeeloong/ec.h: Likewise.
18772 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18773 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18774 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18775 * include/grub/misc.h (grub_halt): Declare as noreturn.
18776 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18777 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18778 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18779 (UART_ENABLE_DTRRTS): Likewise.
18780 (UART_ENABLE_MODEM): Removed.
18781 (UART_ENABLE_OUT2): New const.
18782 * include/grub/term.h (grub_term_register_input_active): New function.
18783 (grub_term_register_output_active): Likewise.
18784 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18785 argument.
18786 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18787 (init_pci): New function.
18788 (grub_machine_init): Execute platform init when firmware. Init serial.
18789 (grub_halt): Implement.
18790 (grub_exit): Likewise.
18791 (grub_reboot): Likewise.
18792 * term/serial.c (serial_hw_init): Update macros.
18793 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18794 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18795 (image_targets): New target mipsel-yeeloong-flash.
18796 (generate_image): Support IMAGE_YEELOONG_FLASH.
18797 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18798 (grub_video_sm712_setup): Init card.
18799 (grub_video_sm712_set_palette): Removed.
18800 * video/sm712_init.c: New file.
18801
18802 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18803
18804 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18805 PATH when running help2man and then run it on the unadorned
18806 executable names, rather than passing $(builddir)/* paths to
18807 help2man. This avoids the build directory ending up in generated
18808 manual pages.
18809
18810 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18811
18812 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18813 to avoid accidents when debugging with 'sh -x'.
18814 * util/grub-mkrescue.in: Likewise.
18815 * util/grub.d/00_header.in: Likewise.
18816 * util/grub.d/10_hurd.in: Likewise.
18817 * util/grub.d/10_kfreebsd.in: Likewise.
18818 * util/grub.d/10_linux.in: Likewise.
18819 * util/grub.d/10_netbsd.in: Likewise.
18820 * util/grub.d/10_windows.in: Likewise.
18821 * util/grub.d/20_linux_xen.in: Likewise.
18822 * util/grub.d/30_os-prober.in: Likewise.
18823 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18824
18825 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18826
18827 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18828 last character in the buffer.
18829 Reported by: Vladimir Serbinenko.
18830
18831 2010-06-29 Robert Millan <rmh@gnu.org>
18832
18833 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18834 (Command-line and menu entry commands): Document `badram' command.
18835
18836 2010-06-28 Robert Millan <rmh@gnu.org>
18837
18838 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18839 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18840 command using ${GRUB_BADRAM} as parameter.
18841
18842 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18843
18844 * docs/grub.texi (Device map): New section.
18845 (Themes): New section (stub).
18846 * Makefile.in (docs/grub.info): The info documentation now builds
18847 without errors. Make sure it stays that way.
18848
18849 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 Use normal parser for menu entries.
18852 Reported by: Thomas Frauendorfer
18853
18854 * include/grub/parser.h (grub_parser_execute): Don't export.
18855 * normal/menu.c (grub_menu_execute_entry_real): New function.
18856 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18857
18858 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18859
18860 * docs/grub.texi (Embedded configuration): New section (replacing
18861 old "Preset Menu" stub).
18862 (Images): New section.
18863 (configfile): Note that any menu entries defined in `file' are shown
18864 immediately.
18865
18866 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18867
18868 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18869
18870 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * util/grub-install.in: Add --debug-image= option.
18873
18874 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18875
18876 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18877 possible on Linux.
18878
18879 * util/deviceiter.c (check_device): Rename to ...
18880 (check_device_readable_unique): ... this. Update all callers.
18881 Maintain and check a list of which devices (by canonicalized name)
18882 have already been seen.
18883 (clear_seen_devices): New function.
18884 (compare_file_names) [__linux__]: New function.
18885 (grub_util_iterate_devices): Clear the list of seen devices on exit
18886 and (just in case) on entry.
18887 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18888 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18889 seen-devices list, superseded by general code in check_device.
18890
18891 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18892
18893 * commands/cat.c (options): New variable.
18894 (grub_cmd_cat): Parse options. If the --dos option is given, print
18895 DOS-style "\r\n" line endings as simple newlines (Debian bug
18896 #586358).
18897 (GRUB_MOD_INIT): Use extcmd.
18898 (GRUB_MOD_FINI): Likewise.
18899 * docs/grub.texi (cat): Document --dos.
18900
18901 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 XEN with Linux grub-mkconfig support.
18904
18905 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18906 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18907 GRUB_CMDLINE_XEN_DEFAULT.
18908 * util/grub.d/20_linux_xen.in: New file.
18909
18910 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 Initialise VGA video on qemu ourselves.
18913
18914 * boot/i386/qemu/boot.S: Don't call 0xc000.
18915 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18916 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18917 (kernel_img_HEADERS): Add pci.h.
18918 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18919 * configure.ac: Force unifont on qemu and yeeloong.
18920 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18921 (grub_vga_palette_write): Use correct register.
18922 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18923 Call grub_qemu_init_cirrus.
18924 * kern/i386/qemu/init.c: New file.
18925 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18926
18927 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18928
18929 2010-06-26 Pavel Roskin <proski@gnu.org>
18930
18931 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18932 13.
18933
18934 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18935
18936 * docs/grub.texi (Simple configuration): Explain that
18937 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18938 set to `true' to disable their respective recovery entries, not
18939 merely set.
18940
18941 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18942
18943 Make the `source' command slightly faster.
18944
18945 * normal/main.c (grub_normal_execute): Don't re-read list files when
18946 nested.
18947
18948 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18949
18950 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18951 field position and mask size to red fields from mode_info, not
18952 green.
18953 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18954 Remove redundant tag->common.framebuffer_type assignment.
18955 Reported by: Seth Goldberg.
18956
18957 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18958
18959 Sync up other versions of the Linux loader with Robert Millan's
18960 change of 2010-01-09, "Make loader output a bit more user-friendly".
18961
18962 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18963 grub_dprintf().
18964 (grub_cmd_linux): Likewise.
18965 (grub_cmd_initrd): Likewise.
18966 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18967 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18968
18969 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18970
18971 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18972 larger than MEMORY_MAP_SIZE.
18973
18974 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18975
18976 Fix parallel build.
18977
18978 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18979 dependency.
18980 * script/parser.y: #include grub_script.tab.h header.
18981
18982 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18983
18984 Support >3GiB and <16MiB RAM in i386-qemu.
18985
18986 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18987 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18988 (grub_lower_mem): Removed.
18989 (grub_upper_mem): Likewise.
18990 (mem_size): Made static.
18991 (above_4g): New variable.
18992 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18993 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18994 support.
18995
18996 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18997
18998 Cirrus 5446 and Bochs video cards support.
18999
19000 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19001 video_bochs.mod
19002 (video_cirrus_mod_SOURCES): New variable.
19003 (video_cirrus_mod_CFLAGS): Likewise.
19004 (video_cirrus_mod_LDFLAGS): Likewise.
19005 (video_bochs_mod_SOURCES): Likewise.
19006 (video_bochs_mod_CFLAGS): Likewise.
19007 (video_bochs_mod_LDFLAGS): Likewise.
19008 * include/grub/vga.h: New file.
19009 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19010 (grub_video_fb_set_page_t): New type.
19011 (grub_video_fb_setup): New prototype.
19012 (grub_video_fb_swap_buffers): Likewise.
19013 (grub_video_fb_get_info_and_fini): Likewise.
19014 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19015 (CRTC_DATA_PORT): Likewise.
19016 (CRTC_CURSOR): Likewise.
19017 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19018 (CRTC_CURSOR_ADDR_LOW): Likewise.
19019 (CRTC_CURSOR_DISABLE): Likewise.
19020 (update_cursor): Use grub_vga_cr_write.
19021 (grub_vga_text_setcursor): Likewise.
19022 * video/bochs.c: New file.
19023 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19024 (palette): Likewise.
19025 (palette_size): Likewise.
19026 (framebuffer): New variable.
19027 (grub_video_fb_init): Use 'framebuffer'.
19028 (grub_video_fb_fini): Likewise.
19029 (grub_video_fb_get_info): Likewise.
19030 (grub_video_fb_get_palette): Likewise.
19031 (grub_video_fb_set_palette): Likewise.
19032 (grub_video_fb_set_viewport): Likewise.
19033 (grub_video_fb_get_viewport): Likewise.
19034 (grub_video_fb_map_color): Likewise.
19035 (grub_video_fb_map_rgb): Likewise.
19036 (grub_video_fb_map_rgba): Likewise.
19037 (grub_video_fb_unmap_color): Likewise.
19038 (grub_video_fb_unmap_color_int): Likewise.
19039 (grub_video_fb_fill_rect): Likewise.
19040 (grub_video_fb_blit_bitmap): Likewise.
19041 (grub_video_fb_blit_render_target): Likewise.
19042 (grub_video_fb_scroll): Likewise.
19043 (grub_video_fb_create_render_target): Likewise.
19044 (grub_video_fb_doublebuf_blit_init): Likewise.
19045 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19046 (doublebuf_pageflipping_update_screen): New function.
19047 (doublebuf_pageflipping_init): Likewise.
19048 (grub_video_fb_setup): Likewise.
19049 (grub_video_fb_swap_buffers): Likewise.
19050 (grub_video_fb_get_info_and_fini): Likewise.
19051 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19052 All users updated.
19053 (doublebuf_pageflipping_commit): Restructured into ...
19054 (doublebuf_pageflipping_set_page): ... this.
19055 (doublebuf_pageflipping_update_screen): Removed.
19056 (doublebuf_pageflipping_init): Likewise.
19057 (double_buffering_init): Likewise.
19058 (grub_video_vbe_setup): Use grub_video_fb_setup.
19059 (grub_video_vbe_swap_buffers): Removed.
19060 (grub_video_vbe_set_active_render_target): Likewise.
19061 (grub_video_vbe_get_active_render_target): Likewise.
19062 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19063 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19064 grub_video_fb_set_active_render_target and
19065 grub_video_fb_get_active_render_target.
19066 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19067 (SEQUENCER_DATA_PORT): Likewise.
19068 (MAP_MASK_REGISTER): Likewise.
19069 (CRTC_ADDR_PORT): Likewise.
19070 (CRTC_DATA_PORT): Likewise.
19071 (START_ADDR_HIGH_REGISTER): Likewise.
19072 (START_ADDR_LOW_REGISTER): Likewise.
19073 (GRAPHICS_ADDR_PORT): Likewise.
19074 (GRAPHICS_DATA_PORT): Likewise.
19075 (READ_MAP_REGISTER): Likewise.
19076 (INPUT_STATUS1_REGISTER): Likewise.
19077 (INPUT_STATUS1_VERTR_BIT): Likewise.
19078 (get_map_mask): Use grub_vga_sr_read.
19079 (set_map_mask): Use grub_vga_sr_write.
19080 (set_read_map): Use grub_vga_gr_write.
19081 (set_start_address): Use grub_vga_cr_write.
19082 * video/sm712.c (framebuffer): Remove leftover fields.
19083
19084 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
19085
19086 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19087 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19088 instead. Replace the gfxterm backend check with a check that
19089 ${GRUB_PREFIX}/video.lst is non-empty.
19090 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19091 again.
19092 (load_video): New generated function. Call it before loading
19093 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19094 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19095 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19096 * docs/grub.texi (Simple configuration): Document
19097 GRUB_VIDEO_BACKEND.
19098
19099 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 Use video functions in linux and xnu loaders.
19102
19103 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19104 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19105 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19106 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19107 loader/i386/pc/linux.c.
19108 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19109 (find_line_len): Removed.
19110 (find_framebuf): Likewise.
19111 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19112 * loader/i386/efi/xnu.c: Removed.
19113 * loader/i386/pc/xnu.c: Moved from here...
19114 * loader/i386/xnu.c: ...here.
19115
19116 Enable priorities in video drivers.
19117
19118 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19119 (grub_video_adapter): New field prio.
19120 (grub_video_register): Respect prio when inserting.
19121 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19122 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19123 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19124 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19125 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19126 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19127 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19128
19129 Fix SDL driver ID.
19130
19131 * include/grub/video.h (grub_video_driver_id_t): New value
19132 GRUB_VIDEO_DRIVER_SDL.
19133 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19134
19135 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19136
19137 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19138 argument to printf.
19139 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19140
19141 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19144 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19145
19146 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19147
19148 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19149 directly, and recommend grub-install instead.
19150 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19151
19152 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19153
19154 Fix i386-pc prefix handling with nested partitions (Debian bug
19155 #585068). Note that the case where the core image is booted using
19156 multiboot and relocated from its original location still requires
19157 more work.
19158
19159 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19160 with "(,", fill the boot drive in between those two characters, but
19161 expect that a full partition specification including partition map
19162 names will follow.
19163 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19164 specified, write a prefix without the drive name but including a
19165 full partition specification.
19166
19167 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19168
19169 * util/grub-mkconfig.in: Ignore non-option arguments, for
19170 compatibility with older versions (before 2010-06-12) which did the
19171 same. In particular, this makes it easier to ship an update-grub
19172 wrapper which is compatible with that used with GRUB Legacy (Debian
19173 bug #586056).
19174
19175 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19176
19177 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19178 for manual page generation.
19179
19180 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19181
19182 * po/POTFILES: Remove leftover commands/handler.c.
19183
19184 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19185
19186 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19187 left this script non-functional.
19188
19189 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19190
19191 * docs/man/grub-emu.h2m: New file.
19192
19193 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19194
19195 * docs/grub.texi (Commands): Document reduced command set in rescue
19196 mode.
19197 (cpuid): New section.
19198
19199 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19200
19201 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19202 new partition naming style.
19203 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19204
19205 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19206
19207 Add "-o grub.iso" like cmdline options support.
19208
19209 * util/grub-install.in: Improve cmdline option parsing.
19210 * util/grub-mkconfig.in: Likewise.
19211 * util/grub-mkrescue.in: Likewise.
19212 * util/grub-reboot.in: Likewise.
19213 * util/grub-set-default.in: Likewise.
19214 * util/i386/efi/grub-install.in: Likewise.
19215 * util/ieee1275/grub-install.in: Likewise.
19216 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19217
19218 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19219
19220 * .bzrignore: Ignore 41_custom.
19221
19222 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19223
19224 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19225
19226 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19227
19228 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19229 prototype declarations.
19230
19231 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19232 generating fs, partmap, and video lists.
19233 * include/grub/fs.h (grub_fs_register): Omit prototype if
19234 GRUB_LST_GENERATOR is defined.
19235 * include/grub/partition.h (grub_partition_map_register): Likewise.
19236 * include/grub/video.h (grub_video_register): Likewise.
19237
19238 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19239
19240 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19241
19242 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19243
19244 * util/grub-mkrescue.in: Support --xorriso argument.
19245
19246 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19249 Suggested by: Thomas Schmitt.
19250
19251 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19254 Suggested by: Thomas Schmitt.
19255
19256 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 custom.cfg support.
19259
19260 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19261 * util/grub.d/41_custom.in: New file.
19262
19263 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19264
19265 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19266 been merged back into normal.
19267
19268 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19269
19270 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19271 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19272
19273 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19274
19275 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19276 when generating manual pages.
19277 * docs/man/grub-bin2h.h2m: New file.
19278 * docs/man/grub-editenv.h2m: New file.
19279 * docs/man/grub-fstest.h2m: New file.
19280 * docs/man/grub-install.h2m: New file.
19281 * docs/man/grub-macho2img.h2m: New file.
19282 * docs/man/grub-mkconfig.h2m: New file.
19283 * docs/man/grub-mkdevicemap.h2m: New file.
19284 * docs/man/grub-mkfont.h2m: New file.
19285 * docs/man/grub-mkimage.h2m: New file.
19286 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19287 * docs/man/grub-mkrelpath.h2m: New file.
19288 * docs/man/grub-mkrescue.h2m: New file.
19289 * docs/man/grub-ofpathname.h2m: New file.
19290 * docs/man/grub-pe2elf.h2m: New file.
19291 * docs/man/grub-probe.h2m: New file.
19292 * docs/man/grub-reboot.h2m: New file.
19293 * docs/man/grub-script-check.h2m: New file.
19294 * docs/man/grub-set-default.h2m: New file.
19295 * docs/man/grub-setup.h2m: New file.
19296
19297 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 Use FOR_* macros instead of *_iterate whenever possible.
19300
19301 * commands/handler.c: Removed.
19302 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19303 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19304 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19305 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19306 (grub_probe_SOURCES): Remove kern/parser.c.
19307 (util/grub-script-check.c_DEPENDENCIES): Removed.
19308 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19309 and grub_script_check_init.c.
19310 (grub_script_check_init.lst): Removed.
19311 (grub_script_check_init.h): Likewise.
19312 (grub_script_check_init.c): Likewise.
19313 (pkglib_MODULES): Remove handler.mod and sh.mod.
19314 (handler_mod_SOURCES): Removed.
19315 (handler_mod_CFLAGS): Likewise.
19316 (handler_mod_LDFLAGS): Likewise.
19317 (normal_mod_SOURCES): Remove normal/handler.c.
19318 Add script/main.c, script/script.c, script/execute.c,
19319 script/function.c, script/lexer.c, grub_script.tab.c
19320 and grub_script.yy.c.
19321 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19322 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19323 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19324 (grub_setup_SOURCES): Remove kern/parser.c.
19325 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19326 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19327 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19328 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19329 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19330 (grub_setup_SOURCES): Remove kern/parser.c.
19331 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19332 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19333 * include/grub/command.h (grub_command_iterate): Removed.
19334 (FOR_COMMANDS): New macro.
19335 * include/grub/dl.h (grub_dl): New member next.
19336 (grub_dl_iterate): Removed.
19337 (grub_dl_head): New variable declaration.
19338 (FOR_DL_MODULES): New macro.
19339 * include/grub/fs.h: Include list.h.
19340 (grub_fs): Make next first element.
19341 (grub_fs_list): New variable declaration.
19342 (grub_fs_register): Make inline.
19343 (grub_fs_unregister): Likewise.
19344 (grub_fs_iterate): Removed.
19345 (FOR_FILESYSTEMS): New macro.
19346 * include/grub/handler.h: Removed.
19347 * include/grub/list.h (grub_list_hook_t): Removed.
19348 (grub_list_test_t): Likewise.
19349 (grub_list_pop): Likewise.
19350 (grub_list_iterate): Likewise.
19351 (grub_list_insert): Likewise.
19352 (FOR_LIST_ELEMENTS): New macro.
19353 * include/grub/parser.h (grub_parser_class): Removed.
19354 (grub_parser_register): Likewise.
19355 (grub_parser_unregister): Likewise.
19356 (grub_parser_get_current): Likewise.
19357 (grub_parser_set_current): Likewise.
19358 (grub_register_rescue_parser): Likewise.
19359 (grub_rescue_parse_line): New function.
19360 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19361 * include/grub/script_sh.h (grub_script_function_list): New variable
19362 declaration.
19363 (FOR_SCRIPT_FUNCTIONS): New macro.
19364 (grub_script_function_iterate): Removed.
19365 (grub_normal_parse_line): New prototype.
19366 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19367 (FOR_DISABLED_TERM_INPUTS): Likewise.
19368 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19369 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19370 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19371 element.
19372 (grub_video_register): Inline.
19373 (grub_video_unregister): Likewise.
19374 (grub_video_adapter_list): New variable declaration.
19375 (grub_video_iterate): Removed.
19376 (FOR_VIDEO_ADAPTERS): New macro.
19377 * kern/dl.c (grub_dl_list): Removed. All users updated.
19378 (grub_dl_iterate): Removed.
19379 * kern/fs.c (grub_fs_list): Make global.
19380 (grub_fs_register): Removed.
19381 (grub_fs_unregister): Likewise.
19382 (grub_fs_iterate): Likewise.
19383 * kern/handler.c: Removed.
19384 * kern/list.c (grub_list_pop): Removed.
19385 (grub_list_iterate): Likewise.
19386 (grub_list_insert): Likewise.
19387 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19388 (grub_prio_list_insert): Don't use grub_list_insert.
19389 * kern/main.c (grub_register_rescue_parser): Don't call
19390 grub_register_rescue_parser.
19391 * kern/parser.c (grub_parser_class): Removed.
19392 (grub_parser_execute): Use grub_rescue_parse_line.
19393 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19394 (grub_rescue_parser): Removed.
19395 (grub_register_rescue_parser): Likewise.
19396 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19397 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19398 (grub_auth_check_authentication): Likewise.
19399 * normal/completion.c (iterate_command): Removed.
19400 (grub_normal_do_completion): Use FOR_COMMANDS.
19401 * normal/handler.c: Removed.
19402 * normal/main.c (read_config_file): Remove parser changing.
19403 (grub_normal_execute): Don't call read_handler_list.
19404 (grub_normal_read_line_real): Statically allocate prompt.
19405 (grub_cmdline_run): Use grub_normal_parse_line.
19406 (GRUB_MOD_FINI): Don't call free_handler_list.
19407 * normal/menu_entry.c (run): Likewise.
19408 * script/function.c (grub_script_function_list): Make global.
19409 (grub_script_function_iterate): Removed.
19410 * script/main.c (grub_normal_parse_line): Make global.
19411 (grub_sh_parser): Removed.
19412 (GRUB_MOD_INIT): Likewise.
19413 (GRUB_MOD_FINI): Likewise.
19414 * tests/lib/functional_test.c (grub_functional_test): Use
19415 FOR_LIST_ELEMENTS.
19416 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19417 (grub_test_run): Use FOR_LIST_ELEMENTS.
19418 * tests/lib/unit_test.c (main): Likewise.
19419 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19420 grub_list_pop.
19421 * util/grub-fstest.c (grub_term_input_class): Removed.
19422 (grub_term_output_class): Likewise.
19423 * util/grub-probe.c: Likewise.
19424 * util/i386/pc/grub-setup.c: Likewise.
19425 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19426 * util/grub-script-check.c (main): Don't call grub_init_all and
19427 grub_fini_all.
19428 * video/video.c (grub_video_adapter_list): Make global.
19429 (grub_video_register): Removed.
19430 (grub_video_unregister): Likewise.
19431 (grub_video_iterate): Likewise.
19432
19433 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19436 reported by Henrique Ferreiro.
19437
19438 2010-06-09 Robert Millan <rmh@gnu.org>
19439
19440 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19441 ones, when both are available.
19442
19443 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19444
19445 Make --version uniform and avoid hard-coded program name.
19446
19447 * util/grub-mkimage.c (main): Use `program_name' instead of
19448 hard-coded string.
19449 * util/i386/pc/grub-setup.c (main): Likewise.
19450 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19451 * util/grub-install.in: Save the basename of $0 in $self, and use the
19452 latter in informational messages. Use the same format for --version
19453 as the binary programs.
19454 * util/grub-mkconfig.in: Likewise.
19455 * util/grub-mkrescue.in: Likewise.
19456 * util/grub-reboot.in: Likewise.
19457 * util/grub-set-default.in: Likewise.
19458 * util/i386/efi/grub-install.in: Likewise.
19459 * util/ieee1275/grub-install.in: Likewise.
19460 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19461
19462 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19463
19464 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19465 embedding area. Use <= instead of == when checking for non-emptiness.
19466
19467 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19468
19469 * configure.ac: Add `.' to the directories searched for unifont.
19470
19471 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19472
19473 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19474 grub_script.yy.h.
19475
19476 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19477
19478 * docs/grub.texi (History): Expand to cover GRUB 2.
19479 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19480 commands, not `terminal'.
19481 (serial): Likewise.
19482 (terminal_input): New section.
19483 (terminal_output): New section.
19484 (uppermem): New section (stub).
19485 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19486
19487 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19488
19489 * docs/grub.texi (Security): Menu entries are unrestricted by
19490 default, not restricted to superusers as I had previously thought.
19491 Reword to account for this.
19492
19493 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19494
19495 * kern/emu/misc.c (device_mapper_null_log): New function.
19496 (grub_device_mapper_supported): New function.
19497 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19498 prototype.
19499 * kern/emu/hostdisk.c (find_partition_start): Check whether
19500 device-mapper is supported before trying to use it.
19501 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19502
19503 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19504
19505 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19506 (File name syntax): Likewise.
19507 (help): --all is no longer supported in GRUB 2. Be more precise
19508 about pattern matching.
19509
19510 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19511
19512 * normal/completion.c (grub_normal_do_completion): When completing
19513 arguments to "set" and the current word contains an equals sign,
19514 skip to after the equals sign before starting completion.
19515
19516 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19517
19518 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19519
19520 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19521
19522 * docs/grub.texi (Network): New section.
19523 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19524 `(nd)' as in GRUB Legacy.
19525 (pxe_unload): New section.
19526
19527 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19528
19529 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19530 in the rescue shell, so recommend using `set' instead. Thanks,
19531 Jordan Uggla.
19532
19533 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19534
19535 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19536 (password): New section.
19537 (password_pbkdf2): New section.
19538 (search): New section.
19539 (Security): New section.
19540 (Troubleshooting): New section, currently very incomplete.
19541 (Invoking grub-mkpasswd-pbkdf2): New section.
19542 (Internals): New section, currently very incomplete.
19543
19544 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19545
19546 * util/grub.d/00_header.in: Add some more quoting (of
19547 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19548 work again.
19549 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19550
19551 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19552
19553 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19554 to `count', fixing variable shadowing that broke the -c option.
19555
19556 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19557
19558 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19559 in case they contain spaces.
19560
19561 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19562
19563 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19564 "part_" to partmap module names, in line with grub-install.
19565 Reported by: Jindřich Makovička (Debian bug #584426).
19566
19567 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19568
19569 * util/grub-mkimage.c: Make target-related error messages slightly
19570 more helpful; -O talks about "format". Explicitly point to the use
19571 of -O if no target is specified.
19572 Reported by: Didier Raboud (Debian bug #584415).
19573
19574 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19575
19576 * INSTALL: Document several build requirements for optional features
19577 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19578
19579 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19580
19581 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19582 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19583 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19584
19585 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19588 Thanks to Jordan Uggla for spotting this.
19589
19590 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19591
19592 Finally make USB usable.
19593
19594 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19595 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19596 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19597 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19598 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19599 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19600 (GRUB_OHCI_FSMPS): Likewise.
19601 (GRUB_OHCI_PERIODIC_START): Likewise.
19602 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19603 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19604 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19605 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19606 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19607 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19608 (grub_ohci_transaction): Likewise.
19609 (grub_ohci_transfer): Improve condition detection algorithms.
19610 Handle toggle property. Program the transactions correctly.
19611 Improve error handling. Various important fixups.
19612 (grub_ohci_portstatus): Put register writes in right order.
19613 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19614 (grub_uhci_transfer): Don't show "failed" message on success.
19615 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19616 array.
19617 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19618 determine its size.
19619 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19620 before initialization is completed. Use IN direction for empty
19621 transfers. Use last_trans and compute toggle.
19622 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19623 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19624 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19625 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19626 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19627 (grub_usb_device): Increase toggle to 256.
19628 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19629 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19630 GRUB_USBMS_SUBCLASS_SFF8070.
19631 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19632 (grub_scsi_inquiry): New member page and alloc_length.
19633 (grub_scsi_request_sense): New structure.
19634 (grub_scsi_request_sense_data): Likewise.
19635 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19636 control.
19637 * disk/scsi.c (grub_scsi_request_sense): New function.
19638 (grub_scsi_test_unit_ready): Likewise.
19639 (grub_scsi_inquiry): Fill new fields.
19640 (grub_scsi_read_capacity): Likewise.
19641 (grub_scsi_read10): Add request sense at the end.
19642 (grub_scsi_read12): Likewise.
19643 (grub_scsi_write10): Likewise.
19644 (grub_scsi_write12): Likewise.
19645 (grub_scsi_open): Add Test Unit Ready.
19646 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19647 Support additional subclasses. Con't clear halt yet. Activate the
19648 proper config. Calculate LUNs correctly.
19649 (grub_usbms_transfer): Various important fixups.
19650
19651 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19654 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19655 (grub_ohci_fini_hw): New function.
19656 (grub_ohci_restore_hw): Likewise.
19657 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19658 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19659 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19660
19661 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 Dedicated DMA allocations.
19664
19665 * bus/pci.c (grub_memalign_dma32): New function
19666 (grub_dma_free): Likewise.
19667 (grub_dma_get_virt): Likewise.
19668 (grub_dma_get_phys): Likewise.
19669 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19670 (grub_ohci_pci_iter): Use dma32_alloc.
19671 (grub_ohci_transfer): Likewise.
19672 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19673 (grub_usb_bulk_readwrite): Likewise.
19674 * include/grub/pci.h: Add declarations.
19675
19676 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 CS5536 support.
19679
19680 * bus/cs5536.c: New file.
19681 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19682 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19683 (cs5536_mod_SOURCES): New variable.
19684 (cs5536_mod_CFLAGS): Likewise.
19685 (cs5536_mod_LDFLAGS): Likewise.
19686 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19687 machine/pci.h.
19688 (kernel_img_SOURCES): Add bus/cs5536.c.
19689 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19690 usb_keyboard.mod.
19691 (usb_mod_SOURCES): New variable.
19692 (usb_mod_CFLAGS): New variable.
19693 (usb_mod_LDFLAGS): New variable.
19694 (usbtest_mod_SOURCES): New variable.
19695 (usbtest_mod_CFLAGS): New variable.
19696 (usbtest_mod_LDFLAGS): New variable.
19697 (ohci_mod_SOURCES): New variable.
19698 (ohci_mod_CFLAGS): New variable.
19699 (ohci_mod_LDFLAGS): New variable.
19700 (usbms_mod_SOURCES): New variable.
19701 (usbms_mod_CFLAGS): New variable.
19702 (usbms_mod_LDFLAGS): New variable.
19703 (usb_keyboard_mod_SOURCES): New variable.
19704 (usb_keyboard_mod_CFLAGS): New variable.
19705 (usb_keyboard_mod_LDFLAGS): New variable.
19706 * include/grub/smbus.h: New file.
19707 * include/grub/cs5536.h: New file.
19708
19709 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19710
19711 * util/grub.d/00_header.in: Add safety check to make sure that
19712 ${locale_dir} exists before trying to probe it.
19713
19714 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19715
19716 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19717 per the GNU Coding Standards; this is now too obscure to be worth
19718 documenting.
19719 (QNX): Likewise.
19720 (chainloader): Remove cross-reference to `SCO UnixWare'.
19721
19722 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19723
19724 * docs/grub.texi (Chain-loading): New section.
19725 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19726 adjusted for GRUB 2.
19727 (SCO UnixWare): Likewise.
19728 (QNX): Likewise.
19729 (chainloader): Add reference to `Block list syntax'.
19730 (drivemap): New section.
19731 (parttool): New section.
19732
19733 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19734
19735 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19736 the grub shell'.
19737 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19738 (Installing GRUB using grub-install): Remove reference to the grub
19739 shell; mention `grub-mkimage' and `grub-setup' instead.
19740 (Invoking grub-install): Likewise.
19741 (Interface): Add reference to `Menu entry editor'.
19742 (serial): Remove `--device' option.
19743
19744 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19745
19746 * docs/grub.texi (Configuration): New section, documenting
19747 configuration file generation using grub-mkconfig. I've left a slot
19748 for documenting the full shell scripting format but have not yet
19749 started on writing that up.
19750 (Invoking grub-mkconfig): New section.
19751
19752 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19753
19754 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19755 (GNU GRUB manual): Likewise.
19756 (General commands): Update description of `terminfo' for GRUB 2.
19757
19758 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19759
19760 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19761 (GRUB_MOD_INIT): Fix capitalisation.
19762 * docs/grub.texi (Command-line and menu entry commands): Document
19763 gettext and gptsync commands.
19764
19765 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19766
19767 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19768 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19769
19770 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19771
19772 Add btrfs probing support, currently only in the single-device case.
19773
19774 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19775 function.
19776 (grub_guess_root_device): Call find_root_device_from_mountinfo
19777 before looking in /dev.
19778
19779 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19782 GRUB_DISK_SIZE_UNKNOWN.
19783 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19784
19785 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19786
19787 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19788 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19789 corrupted or not synced properly.
19790
19791 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19792
19793 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19794 Reported by: Seth Goldberg.
19795
19796 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19799 addition of dest.
19800 Reported by: Seth Goldberg.
19801
19802 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19805 Reported by: Seth Goldberg.
19806
19807 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19810 64-bit address as signed on MIPS.
19811
19812 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19815 to the empty string.
19816
19817 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19818
19819 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19820
19821 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19822 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19823 * kern/misc.c (__enable_execute_stack): Disable on
19824 GRUB_MACHINE_EMU.
19825
19826 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19827
19828 Make grub-probe work with symbolic links under /dev/mapper as well
19829 as with real block devices. The Linux world seems to be (at best)
19830 in transition here, and GRUB shouldn't get caught in the middle.
19831
19832 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19833 /dev/mapper.
19834
19835 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19836
19837 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19838 input files (in which case exit zero).
19839
19840 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19841
19842 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19843 return NULL for various reasons even if it has a maximum-length
19844 buffer: for example, there might be a symlink loop, or the path
19845 might exceed PATH_MAX. If this happens, return NULL.
19846
19847 2010-05-27 Robert Millan <rmh@gnu.org>
19848
19849 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19850 partmap module to handle cross-partmap setups.
19851 Reported by Orestes Mas. Gràcies!
19852
19853 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19854
19855 * util/grub-mkrescue.in: Initialise override_dir rather than
19856 assuming that it's unset or empty in the environment.
19857
19858 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19859
19860 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19861 variable index into p_index to suppress a warning with -Wshadow.
19862
19863 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19864
19865 * INSTALL: Added flex >= 2.5.35 requirement.
19866
19867 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19870
19871 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19872
19873 cmostest support.
19874
19875 * commands/i386/cmostest.c: New file.
19876 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19877 (cmostest_mod_SOURCES): New variable.
19878 (cmostest_mod_CFLAGS): Likewise.
19879 (cmostest_mod_LDFLAGS): Likewise.
19880 * conf/i386-pc.rmk: Likewise.
19881 * docs/grub.texi (Vendor power-on keys): New section.
19882 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19883 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19884 and GRUB_BUTTON_CMOS_ADDRESS.
19885 * util/grub.d/00_header.in: Handle powering-on by separate button.
19886
19887 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19890 Removed drawing_scrollbar argument. All users updated
19891 Fixes #29792.
19892 Reported by Jo Shields
19893
19894 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19897 buffer since gfxterm handles double repaint.
19898
19899 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19902 * term/gfxterm.c (real_scroll): Likewise.
19903
19904 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19907 before calling BIOS.
19908
19909 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * include/grub/i18n.h: Always enable grub_gettext.
19912
19913 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19916 partition naming style.
19917
19918 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19919
19920 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19921 not the first option.
19922
19923 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19924
19925 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19926
19927 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19928
19929 * util/misc.c: Move inclusion of <limits.h> to ...
19930 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19931
19932 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19933
19934 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19935 Fix merge error in NetBSD code.
19936 (find_partition_start) [__NetBSD__]: Likewise.
19937
19938 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19939
19940 Fix grub-mkrescue usage unit testing.
19941
19942 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19943
19944 2010-05-18 Christian Franke <franke@computer.org>
19945
19946 * util/grub.d/10_windows.in: Use path names instead of
19947 drive letters to prevent warning from Cygwin 1.7.
19948 Add drivemap command to menuentry if needed.
19949
19950 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19951
19952 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19953 gnumach and gnumach.gz.
19954
19955 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * include/grub/i18n.h (gettext): Inline instead of using #define.
19958 (grub_gettext): Likewise.
19959 (_): Likewise.
19960
19961 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19964 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19965 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19966 (main): Add a slash after pkglibdirroot.
19967
19968 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19969
19970 * util/grub-install.in: Add missing "in" keyword.
19971
19972 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19975 Reported by: Seth Goldberg.
19976
19977 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19980
19981 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19982
19983 * configure.ac: Check for Linux device-mapper support.
19984
19985 * util/hostdisk.c (device_is_mapped): New function.
19986 (find_partition_start): New function, partly broken out from
19987 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19988 device-mapper support added.
19989 (linux_find_partition): Use find_partition_start.
19990 (convert_system_partition_to_system_disk): Add `st' argument.
19991 Support Linux /dev/mapper/* devices if device-mapper support is
19992 available; only DM-RAID devices are understood at present.
19993 (find_system_device): Add `st' argument. Pass it to
19994 convert_system_partition_to_system_disk.
19995 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19996 find_system_device and convert_system_partition_to_system_disk. Use
19997 find_partition_start.
19998
19999 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20000 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20001 * util/deviceiter.c [__linux__]: Define MINOR.
20002 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20003 * util/mkdevicemap.c (grub_putchar): New function.
20004 (grub_getkey): New function.
20005 (grub_refresh): New function.
20006 (main): Set debug=all if -v -v is used.
20007
20008 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20009
20010 Fix build with non-GNU libcs.
20011
20012 * util/misc.c (canonicalize_file_name): Move to ...
20013 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20014 grub_make_system_path_relative_to_its_root.
20015
20016 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20017
20018 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20019 we handle finding grub-mkimage. Default to finding grub-mkimage in
20020 ${bindir} with program_transform_name applied, and provide a
20021 --grub-mkimage option to override this.
20022
20023 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20024
20025 Remove grub-mkisofs.
20026
20027 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20028 (grub_mkisofs_SOURCES): Removed.
20029 (grub_mkisofs_CFLAGS): Removed.
20030 * util/mkisofs/defaults.h: Removed.
20031 * util/mkisofs/eltorito.c: Likewise.
20032 * util/mkisofs/exclude.h: Likewise.
20033 * util/mkisofs/hash.c: Likewise.
20034 * util/mkisofs/include/: Likewise.
20035 * util/mkisofs/include/fctldefs.h: Likewise.
20036 * util/mkisofs/include/mconfig.h: Likewise.
20037 * util/mkisofs/include/prototyp.h: Likewise.
20038 * util/mkisofs/include/statdefs.h: Likewise.
20039 * util/mkisofs/iso9660.h: Likewise.
20040 * util/mkisofs/joliet.c: Likewise.
20041 * util/mkisofs/match.c: Likewise.
20042 * util/mkisofs/match.h: Likewise.
20043 * util/mkisofs/mkisofs.c: Likewise.
20044 * util/mkisofs/mkisofs.h: Likewise.
20045 * util/mkisofs/msdos_partition.h: Likewise.
20046 * util/mkisofs/multi.c: Likewise.
20047 * util/mkisofs/name.c: Likewise.
20048 * util/mkisofs/rock.c: Likewise.
20049 * util/mkisofs/tree.c: Likewise.
20050 * util/mkisofs/write.c: Likewise.
20051
20052 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 Unify grub-mkimage accross platforms.
20055
20056 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20057 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20058 (grub_mkelfimage_SOURCES): Removed.
20059 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20060 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20061 (bin_UTILITIES): Add grub-mkimage.
20062 (grub_mkimage_SOURCES): New variable.
20063 (kernel_img_HEADERS): Remove machine/kernel.h.
20064 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20065 (pkglib_PROGRAMS): Add kernel.img.
20066 (kernel_img_HEADERS): Add machine/kernel.h.
20067 (kernel_img_FORMAT): Removed.
20068 (bin_UTILITIES): Remove grub-mkimage.
20069 (grub_mkimage_SOURCES): Removed.
20070 (grub_mkimage_CFLAGS): Likewise.
20071 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20072 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20073 (pkglib_PROGRAMS): Add kernel.img.
20074 (bin_UTILITIES): Remove grub-mkimage.
20075 (grub_mkimage_SOURCES): Removed.
20076 (grub_mkimage_CFLAGS): Likewise.
20077 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20078 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20079 (pkglib_PROGRAMS): Add kernel.img.
20080 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20081 (pkglib_PROGRAMS): Add kernel.img.
20082 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20083 (grub_mkimage_SOURCES): Removed.
20084 (grub_mkimage_CFLAGS): Likewise.
20085 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20086 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20087 (pkglib_PROGRAMS): Add kernel.img.
20088 (bin_UTILITIES): Remove grub-mkimage.
20089 (grub_mkimage_SOURCES): Removed.
20090 (grub_mkimage_CFLAGS): Likewise.
20091 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20092 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20093 (grub_mkimage_SOURCES): Removed.
20094 (grub_mkimage_CFLAGS): Likewise.
20095 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20096 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20097 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20098 (grub_pe32_optional_header): ... this.
20099 (grub_pe64_optional_header): ... and this. All users updated.
20100 (GRUB_PE32_PE32_MAGIC): Split into ..
20101 (GRUB_PE32_PE32_MAGIC): .. this.
20102 (GRUB_PE32_PE64_MAGIC): .. and this.
20103 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20104 * include/grub/elf.h (PT_GNU_STACK): New definition.
20105 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20106 * include/grub/i386/efi/kernel.h: Likewise.
20107 * include/grub/i386/kernel.h: Likewise.
20108 * include/grub/i386/pc/kernel.h: Likewise.
20109 * include/grub/i386/qemu/boot.h: Likewise.
20110 * include/grub/mips/kernel.h: Likewise.
20111 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20112 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20113 * include/grub/powerpc/kernel.h: Likewise.
20114 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20115 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20116 * include/grub/sparc64/kernel.h: Likewise.
20117 * include/grub/x86_64/efi/kernel.h: Likewise.
20118 * include/grub/x86_64/kernel.h: Likewise.
20119 * include/grub/offsets.h: New file.
20120 * include/grub/kernel.h (grub_module_info): Split into ...
20121 (grub_module_info32): ... this.
20122 (grub_module_info64): ... and this.
20123 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20124 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20125 (grub_boot_blocklist): Moved from here ...
20126 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20127 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20128 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20129 * include/grub/types.h (grub_target_to_host16): Removed.
20130 (grub_target_to_host32): Likewise.
20131 (grub_target_to_host64): Likewise.
20132 (grub_host_to_target16): Likewise.
20133 (grub_host_to_target32): Likewise.
20134 (grub_host_to_target64): Likewise.
20135 (grub_host_to_target_addr): Likewise.
20136
20137 Support grub-mkrescue for efi, coreboot and qemu.
20138
20139 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20140 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20141 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20142 * util/grub-mkrawimage.c: Moved from here ...
20143 * util/grub-mkimage.c: ... here. All users updated.
20144 (ALIGN_ADDR): Use image_target.
20145 (TARGET_NO_FIELD): New const.
20146 (image_target_desc): New type.
20147 (image_targets): New array.
20148 (grub_target_to_host64): Use image_target.
20149 (grub_target_to_host32): Likewise.
20150 (grub_target_to_host16): Likewise.
20151 (grub_host_to_target64): Likewise.
20152 (grub_host_to_target32): Likewise.
20153 (grub_host_to_target16): Likewise.
20154 (grub_host_to_target_addr): Likewise.
20155 (generate_image): Handle multiimage.
20156 (main): Require -O parameter. All users updated.
20157 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20158 util/efi/grub-mkimage.c
20159 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20160 New option --rom-directory.
20161 Use xorriso.
20162 * util/i386/efi/grub-mkimage.c: Removed.
20163 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20164 (grub_target_to_host32): Likewise.
20165 (grub_target_to_host64): Likewise.
20166 (grub_host_to_target16): Likewise.
20167 (grub_host_to_target32): Likewise.
20168 (grub_host_to_target64): Likewise.
20169 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20170 (grub_target_to_host32): Likewise.
20171 (grub_target_to_host64): Likewise.
20172 (grub_host_to_target16): Likewise.
20173 (grub_host_to_target32): Likewise.
20174 (grub_host_to_target64): Likewise.
20175
20176 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20177
20178 Source tree is reorganized for emu build.
20179
20180 * include/grub/util/console.h: Move from here...
20181 * include/grub/emu/console.h: ...to here.
20182 * include/grub/util/getroot.h: Move from here...
20183 * include/grub/emu/getroot.h: ...to here.
20184 * include/grub/util/hostdisk.h: Move from here...
20185 * include/grub/emu/hostdisk.h: ...to here.
20186 * util/console.c: Move from here...
20187 * kern/emu/console.c: ...to here.
20188 * util/getroot.c: Move from here...
20189 * kern/emu/getroot.c: ...to here.
20190 * util/grub-emu.c: Move from here...
20191 * kern/emu/main.c: ...to here.
20192 * util/hostdisk.c: Move from here...
20193 * kern/emu/hostdisk.c: ...to here.
20194 * util/hostfs.c: Move from here...
20195 * kern/emu/hostfs.c: ...to here.
20196 * util/mm.c: Move from here...
20197 * kern/emu/mm.c: ...to here.
20198 * util/pci.c: Move from here...
20199 * bus/emu/pci.c: ...to here.
20200 * util/sdl.c: Move from here...
20201 * video/emu/sdl.c: ...to here.
20202 * util/time.c: Move from here...
20203 * kern/emu/time.c: ...to here.
20204 * util/usb.c: Move from here...
20205 * bus/usb/emu/usb.c: ...to here.
20206
20207 * include/grub/emu/misc.h: New header for grub-emu functions.
20208 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20209
20210 * conf/any-emu.rmk: Rule updates for above renames.
20211 * conf/common.rmk: Likewise.
20212 * conf/i386-pc.rmk: Likewise.
20213 * conf/i386-qemu.rmk: Likewise.
20214 * conf/mips.rmk: Likewise.
20215 * conf/sparc64-ieee1275.rmk: Likewise.
20216 * conf/x86-efi.rmk: Likewise.
20217
20218 * disk/lvm.h: #include updates for above renames.
20219 * util/grub-mkrelpath.c: Likewise.
20220 * util/grub-probe.c: Likewise.
20221 * util/i386/pc/grub-setup.c: Likewise.
20222 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20223 * kern/emu/console.c: Likewise.
20224 * kern/emu/getroot.c: Likewise.
20225 * kern/emu/hostdisk.c: Likewise.
20226 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20227
20228 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20229 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20230 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20231 * util/misc.c: Remove grub-emu functions.
20232
20233 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 Fix gfxmenu crash.
20236 Reported by: Thorsten Grützmacher.
20237
20238 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20239 timeout hook.
20240 (circprog_set_property): Register and unregister timeout hook.
20241 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20242 (label_destroy): Free template. and unregister hook.
20243 (label_set_state): New function.
20244 (label_set_property): Handle templates and hooks.
20245 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20246 timeout hook.
20247 (progress_bar_set_property): Register and unregister timeout hook.
20248 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20249 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20250 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20251 (update_timeout_visit): Removed.
20252 (update_timeouts): New function.
20253 (redraw_timeouts): Likewise.
20254 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20255 (grub_gfxmenu_clear_timeout): Likewise.
20256 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20257 (grub_gfxmenu_timeout_notify): Likewise.
20258 (grub_gfxmenu_timeout_notifications): New external variable.
20259 (grub_gfxmenu_timeout_register): New function.
20260 (grub_gfxmenu_timeout_unregister): Likewise.
20261
20262 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 Transform (broken) vga terminal into (working) vga video driver.
20265
20266 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20267 video/i386/pc/vga.c.
20268 * include/grub/video.h (grub_video_driver_id):
20269 Add GRUB_VIDEO_DRIVER_VGA.
20270 * term/i386/pc/vga.c: Renamed to ...
20271 * video/i386/pc/vga.c: ...this
20272 (DEBUG_VGA): Removed.
20273 (CHAR_WIDTH): Likewise.
20274 (CHAR_HEIGHT): Likewise.
20275 (TEXT_WIDTH): Likewise.
20276 (TEXT_HEIGHT): Likewise.
20277 (DEFAULT_FG_COLOR): Likewise.
20278 (DEFAULT_BG_COLOR): Likewise.
20279 (colored_char): Likewise.
20280 (xpos): Likewise.
20281 (ypos): Likewise.
20282 (cursor_state): Likewise.
20283 (fg_color): Likewise.
20284 (bg_color): Likewise.
20285 (text_buf): Likewise.
20286 (page): Likewise.
20287 (font): Likewise.
20288 (framebuffer): New variable.
20289 (set_read_map): Disabled.
20290 (setup): New variable.
20291 (is_target): Likewise.
20292 (grub_vga_mod_init): Likewise.
20293 (grub_vga_mod_fini): Likewise.
20294 (check_vga_mem): Likewise.
20295 (write_char): Likewise.
20296 (write_cursor): Likewise.
20297 (scroll_up): Likewise.
20298 (grub_vga_putchar): Likewise.
20299 (grub_vga_getcharwidth): Likewise.
20300 (grub_vga_getwh): Likewise.
20301 (grub_vga_getxy): Likewise.
20302 (grub_vga_gotoxy): Likewise.
20303 (grub_vga_cls): Likewise.
20304 (grub_vga_setcolorstate): Likewise.
20305 (grub_vga_setcursor): Likewise.
20306 (grub_video_vga_init): New function.
20307 (grub_video_vga_setup): Likewise.
20308 (grub_video_vga_fini): Likewise.
20309 (update_target): Likewise.
20310 (grub_video_vga_blit_bitmap): Likewise.
20311 (grub_video_vga_blit_render_target): Likewise.
20312 (grub_video_vga_set_active_render_target): Likewise.
20313 (grub_video_vga_get_active_render_target): Likewise.
20314 (grub_video_vga_swap_buffers): Likewise.
20315 (grub_video_vga_set_palette): Likewise.
20316 (grub_video_vga_get_info_and_fini): Likewise.
20317 (grub_vga_term): Removed.
20318 (grub_video_vga_adapter): New variable.
20319 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20320 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20321
20322 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * video/readers/jpeg.c: Indented.
20325
20326 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 Various jpeg cleanups.
20329
20330 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20331 (grub_jpeg_decode_quan_table): Use sizeof.
20332 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20333
20334 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20335
20336 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20337 tables. Ignore non-last ac bit.
20338 (grub_jpeg_decode_quan_table): Likewise.
20339
20340 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20343 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20344 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20345 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20346 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20347 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20348
20349 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20350
20351 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20352 error.
20353
20354 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20357
20358 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20361 condition.
20362
20363 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20366 part.
20367
20368 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20371 pointers.
20372
20373 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20376
20377 2010-05-01 Christian Franke <franke@computer.org>
20378
20379 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20380 Remove broken Cygwin path conversion.
20381 * util/misc.c: [__CYGWIN__] Add include and define.
20382 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20383 for Cygwin 1.7.
20384 (make_system_path_relative_to_its_root): Simplify loop, replace early
20385 return by break.
20386 [__CYGWIN__] Add conversion to win32 path.
20387 Include "/" case in trailing slash removal.
20388
20389 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20392 Reported by: Seth Goldberg
20393
20394 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * commands/help.c (grub_cmd_help): Fix a typo.
20397 Reported by: Seth Goldberg
20398
20399 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20402 name and add N_.
20403 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20404 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20405 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20406 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20407 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20408 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20409 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20410 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20411 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20412 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20413 * normal/context.c (GRUB_MOD_INIT): Likewise.
20414 * normal/main.c (GRUB_MOD_INIT): Likewise.
20415 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20416 * term/serial.c (GRUB_MOD_INIT): Likewise.
20417 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20418
20419 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20422 extra == 0.
20423
20424 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 * commands/iorw.c: New file.
20427 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20428 (iorw_mod_SOURCES): New variable.
20429 (iorw_mod_CFLAGS): Likewise.
20430 (iorw_mod_LDFLAGS): Likewise.
20431
20432 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 Hotkey support
20435
20436 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20437 * normal/main.c (hotkey_aliases): New variable.
20438 (grub_normal_add_menu_entry): Parse "--hotkey".
20439 * normal/menu_text.c (run_menu): Handle hotkeys.
20440
20441 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * kern/i386/coreboot/init.c (grub_machine_init): Call
20444 grub_machine_mmap_init on qemu.
20445
20446 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * boot/i386/qemu/boot.S: Add a missing .code16.
20449
20450 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20451
20452 Use LBIO on coreboot.
20453
20454 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20455 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20456 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20457 New declaration.
20458 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20459 grub_machine_mmap_init on coreboot.
20460 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20461 GRUB_LINUXBIOS_MEMBER_LINK.
20462 (grub_machine_mmap_iterate): Fix declaration.
20463 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20464
20465 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 Split coreboot and multiboot ports.
20468
20469 * conf/i386-multiboot.rmk: New file.
20470 * configure.ac: Add multiboot port.
20471 * include/grub/i386/multiboot/boot.h: New file.
20472 * include/grub/i386/multiboot/console.h: Likewise.
20473 * include/grub/i386/multiboot/init.h: Likewise.
20474 * include/grub/i386/multiboot/kernel.h: Likewise.
20475 * include/grub/i386/multiboot/loader.h: Likewise.
20476 * include/grub/i386/multiboot/memory.h: Likewise.
20477 * include/grub/i386/multiboot/serial.h: Likewise.
20478 * include/grub/i386/multiboot/time.h: Likewise.
20479 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20480 * loader/multiboot.c: Likewise.
20481 * loader/multiboot_mbi2.c: Likewise.
20482 * util/grub-mkrescue.in: Generate multiboot rescue.
20483
20484 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20485
20486 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20487
20488 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 Merge handling of input and output terminals. Fix a hang.
20491
20492 * commands/terminal.c (abstract_terminal): New struct.
20493 (handle_command): New function. Based on grub_cmd_terminal_input.
20494 (grub_cmd_terminal_input): Use handle_command.
20495 (grub_cmd_terminal_output): Use handle_command.
20496
20497 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20498
20499 Fix comment handling.
20500
20501 * tests/grub_script_comments.in: New testcase.
20502 * conf/tests.rmk: Rules for new testcase.
20503 * script/yylex.l: Updated flex rules.
20504
20505 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20506
20507 * docs/grub.texi (play): Document that zero pitches produce rests.
20508 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20509 if argc is 1.
20510
20511 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20514 autogen issues.
20515
20516 2010-04-26 Christian Franke <franke@computer.org>
20517
20518 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20519 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20520 (grub_get_prefix): Remove function.
20521 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20522 make_system_path_relative_to_its_root ().
20523 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20524
20525 2010-04-24 Christian Franke <franke@computer.org>
20526
20527 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20528 (kernel_img_LDFLAGS): Remove -static-libgcc.
20529
20530 2010-04-24 Christian Franke <franke@computer.org>
20531
20532 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20533 and CHECK_END_SYMBOL if grub-emu is built.
20534 Unset TARGET_OBJ2ELF if grub-emu is built
20535 without module support.
20536
20537 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20538
20539 Nilfs2 support.
20540
20541 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20542 (grub_fstest_SOURCES): Likewise.
20543 (pkglib_MODULES): Add nilfs2.mod.
20544 (nilfs2_mod_SOURCES): New variable.
20545 (nilfs2_mod_CFLAGS): Likewise.
20546 (nilfs2_mod_LDFLAGS): Likewise.
20547 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20548 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20549 * fs/nilfs2.c: New file.
20550
20551 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20554 is not supported.
20555
20556 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20557
20558 Add grub-mkconfig support for NetBSD.
20559
20560 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20561 * util/grub-mkconfig.in: export new NetBSD specific variables.
20562 * po/POTFILES-shell: added 10_netbsd.in.
20563 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20564
20565 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20566
20567 Fix emu build with grub-emu-pci and grub-emu-modules.
20568
20569 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20570 functions.
20571 * include/grub/libpciaccess.h: New file.
20572 * conf/any-emu.rmk: Update kernel headers for emu build.
20573
20574 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20577
20578 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20581
20582 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20585 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20586 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20587 util/ieee1275/ofpath.c.
20588 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20589 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20590 * include/grub/sparc64/ieee1275/boot.h
20591 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20592 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20593 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20594 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20595 const char *.
20596 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20597 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20598 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20599 install.
20600
20601 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20602
20603 * util/grub-mkconfig.in: Corrected two == equality tests.
20604 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20605 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20606 expect a number appended to it.
20607 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20608 expects a number appended to it.
20609
20610 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20613
20614 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * util/hostdisk.c (make_device_name): Change to new partition naming.
20617
20618 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20621
20622 2010-04-17 Christian Franke <franke@computer.org>
20623
20624 * Makefile.in: Add missing localedir setting.
20625
20626 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20627
20628 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20629 mistake in r2156. Noticed by Anthony Fok.
20630
20631 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20632 @localedir@.
20633 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20634
20635 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20636
20637 Fix a spurious, uninitialized variable warning.
20638
20639 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20640 Initialize variable, shdr.
20641 (grub_freebsd_load_elfmodule): Likewise.
20642 (grub_freebsd_load_elf_meta): Likewise.
20643
20644 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20645
20646 Fix for escaped dollar in double quoted strings.
20647
20648 * script/yylex.l: Updated flex rules.
20649 * conf/tests.rmk: Rule for new testcase.
20650 * tests/grub_script_dollar.in: New testcase.
20651
20652 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20653 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20654
20655 Enclose all translated strings in grub.cfg in single quotes, and
20656 escape them appropriately (Ubuntu bug #552921).
20657
20658 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20659 * util/grub.d/10_hurd.in: Use it.
20660 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20661 * util/grub.d/10_linux.in (linux_entry): Likewise.
20662
20663 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 Fix cygwin compilation.
20666
20667 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20668 * include/grub/misc.h (__register_frame_info)
20669 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20670 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20671 * kern/misc.c (__register_frame_info)
20672 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20673 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20674
20675 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20678
20679 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 Unify libgcc processing.
20682
20683 * Makefile.in (kernel_img_LDFLAGS): New variable.
20684 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20685 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20686 overwriting.
20687 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20688 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20689 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20690 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20691 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20692 overwriting. Remove -lgcc and -static-libgcc
20693 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20694 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20695 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20696 (kernel_img_LDFLAGS): Append instead of overwriting.
20697 Remove -lgcc and -static-libgcc
20698 * conf/sparc64-ieee1275.rmk: Likewise.
20699 * include/grub/powerpc/libgcc.h: Move to ...
20700 * include/grub/libgcc.h: .. this.
20701 * include/grub/libgcc.h: Don't export most of the function on x86.
20702 (__bswapsi2): New export.
20703 (__bswapdi2): Likewise.
20704 * include/grub/mips/libgcc.h: Removed.
20705 * include/grub/sparc64/libgcc.h: Likewise.
20706
20707 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20710 disk_info_msg (conflicts with gettexting into languages with cases).
20711
20712 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20713
20714 Add grub-probe support for NetBSD.
20715
20716 * util/getroot.c (find_root_device): Convert block device to
20717 character device on NetBSD.
20718 * util/probe.c (probe): Require character device on NetBSD.
20719 * util/hostdisk.c: NetBSD specific headers.
20720 (configure_device_driver): new function to tune device driver
20721 parameters (currently only for NetBSD floppy driver).
20722 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20723 via disklabel ioctl).
20724 (open_device): call configure_device_driver on NetBSD.
20725 (convert_system_partition_to_system_disk): NetBSD specific code.
20726 (device_is_wholedisk): Likewise.
20727 (grub_util_biosdisk_get_grub_dev): Likewise.
20728 (make_device_name): Fixed a typo in bsd_part_str.
20729 * configure.ac: check for opendisk() and getrawpartition() on
20730 NetBSD and set LIBUTIL.
20731 * Makefile.in: add LIBUTIL to LIBS.
20732
20733 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20734
20735 Documentation fix.
20736
20737 * util/grub-script-check.c: Better help message.
20738
20739 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20740
20741 Fix FreeBSD build.
20742
20743 * configure.ac: Flex version check.
20744 * conf/common.rmk: Add -Wno-error to sh.mod.
20745 * script/yylex.l: Remove all #pragma.
20746
20747 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20750 prototype.
20751 Reported by: Seth Goldberg.
20752
20753 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20754
20755 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20756 Rename "module" to "module2".
20757 Reported by: Seth Goldberg.
20758
20759 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20760
20761 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20762 EXPORT_FUNC.
20763 Reported by: Seth Goldberg.
20764
20765 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * lib/posix_wrap/locale.h: Add missing file.
20768 Reported by: Seth Goldberg.
20769
20770 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 grub-emu module load support.
20773
20774 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20775 NO_DYNAMIC_MODULES switched to this.
20776 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20777 (CFLAGS): Likewise.
20778 * conf/any-emu.rmk: Generate symlist.
20779 (kernel_img_HEADERS): Add util/datetime.h.
20780 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20781 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20782 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20783 kern/$(target_cpu)/cache.S.
20784 * configure.ac (grub-emu-modules): New option.
20785 * genmk.rb: Handle multiple source lists.
20786 * include/grub/sdl.h: New file.
20787 * include/grub/libusb.h: Likewise.
20788 * util/grub-emu.c (main): Hanle (host) root.
20789 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20790 GRUB_ERR_UNKNOWN_DEVICE.
20791 * util/misc.c: Move mm functions to ...
20792 * util/mm.c: ... here. All users updated.
20793
20794 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20797 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20798 missing files.
20799 (maintainer-clean): Remove libgcrypt-grub.
20800
20801 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20804
20805 2010-04-09 EFI Coder <eficoder@hotmail.com>
20806
20807 * normal/menu_text.c (print_message): Clean up the message and show
20808 the Fn information when on EFI
20809 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20810
20811 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20812
20813 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20814 All users updated.
20815 * normal/crypto.c (read_crypto_list): Likewise.
20816 * normal/dyncmd.c (read_command_list): Likewise.
20817 * normal/term.c (read_terminal_list): Likewise.
20818 * normal/main.c (read_lists): Use explicit prefix.
20819 (read_lists_hook): Use read_lists.
20820 (grub_normal_execute): Likewise.
20821
20822 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20825 Reported by: Thomas Schmitt.
20826 Add -no-emul-boot to grub-mkisofs parameters.
20827
20828 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20829
20830 * font/font.c: Indented.
20831
20832 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20833
20834 Elif support to GRUB script (by Deepak Vankadaru).
20835
20836 * tests/grub_script_if.in: New testcase.
20837 * conf/tests.rmk: Rule for new testcase.
20838 * script/parser.y: Grammar rules for elif.
20839
20840 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20841
20842 While and until loops support to GRUB script.
20843
20844 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20845 (grub_script_create_cmdwhile): New function prototype.
20846 (grub_script_execute_cmdwhile): New function prototype.
20847 * script/execute.c (grub_script_execute_cmdwhile): New function.
20848 * script/parser.y (command): New commands.
20849 (whilecmd): New grammar rule.
20850 (untilcmd): New grammar rule.
20851 * script/script.c (grub_script_create_cmdwhile): New function.
20852 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20853 function.
20854
20855 * tests/grub_script_while1.in: New testcase.
20856 * conf/tests.rmk: Rule for new testcase.
20857
20858 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20861 as *.jpg.
20862
20863 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20864
20865 GRUB_BACKGROUND support.
20866
20867 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20868 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20869
20870 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 Load fonts and modules for gfxmenu in grub-mkconfig.
20873 Idea by: Mario Vazquez
20874
20875 * util/grub.d/00_header.in: Load pf2 and image modules.
20876
20877 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 grub-mkconfig multiple terminal support.
20880
20881 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20882 * util/grub.d/00_header.in: Likewise.
20883
20884 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20887 we use cd $(srcdir).
20888
20889 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20890
20891 * util/grub.d/10_linux.in: Only use the first word of
20892 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20893 spaces in GRUB_DISTRIBUTOR.
20894 * util/grub.d/10_kfreebsd.in: Likewise.
20895 * util/grub.d/10_hurd.in: Likewise.
20896
20897 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20898
20899 Fix unit testing framework for Qemu 0.12.
20900
20901 * tests/util/grub-shell.in: Remove -serial stdio option.
20902
20903 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20904
20905 POSIX header file wrappers.
20906
20907 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20908 equivalents.
20909 * lib/posix_wrap/ctype.h: Likewise.
20910 * lib/posix_wrap/errno.h: Likewise.
20911 * lib/posix_wrap/langinfo.h: Likewise.
20912 * lib/posix_wrap/limits.h: Likewise.
20913 * lib/posix_wrap/localcharset.h: Likewise.
20914 * lib/posix_wrap/stdint.h: Likewise.
20915 * lib/posix_wrap/stdio.h: Likewise.
20916 * lib/posix_wrap/stdlib.h: Likewise.
20917 * lib/posix_wrap/string.h: Likewise.
20918 * lib/posix_wrap/sys/types.h: Likewise.
20919 * lib/posix_wrap/unistd.h: Likewise.
20920 * lib/posix_wrap/wchar.h: Likewise.
20921 * lib/posix_wrap/wctype.h: Likewise.
20922 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20923 (grub_script.yy.h): Likewise.
20924 * script/yylex.l: Remove POSIX emulation #defines.
20925 * Makefile.in (POSIX_CFLAGS): New variable.
20926 (GNULIB_UTIL_CFLAGS): Likewise.
20927
20928 Regexp support.
20929
20930 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20931 (regexp_mod_SOURCES): New variable.
20932 (regexp_mod_CFLAGS): Likewise.
20933 (regexp_mod_LDFLAGS): Likewise.
20934 * commands/regexp.c: New file.
20935 * gnulib/regcomp.c: New file. Imported from gnulib.
20936 * gnulib/regex.c: Likewise.
20937 * gnulib/regex_internal.c: Likewise.
20938 * gnulib/regex_internal.h: Likewise.
20939 * gnulib/regexec.c: Likewise.
20940 * gnulib/regex.h: Likewise.
20941
20942 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20945 unsupported video mode types.
20946
20947 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20950
20951 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20954 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20955
20956 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 Remove unused grub_vga_get_font.
20959
20960 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20961 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20962
20963 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20964
20965 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20966 * include/grub/misc.h: Likewise.
20967
20968 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20969
20970 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20971 for which failure is fatal.
20972
20973 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20974
20975 * util/grub-install.in: Use mkdir -p to create grub directory.
20976 * util/i386/efi/grub-install.in: Likewise.
20977 * util/ieee1275/grub-install.in: Likewise.
20978
20979 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20980
20981 * Makefile.in (LEX): new variable.
20982
20983 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20984
20985 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20986 `=' and added double quotes on operands of this equality test.
20987
20988 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 * Makefile.in (uninstall): Remove a leftover debug echo.
20991 Reported by: Grégoire Sutre
20992
20993 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 MIPS multiboot2 support.
20996
20997 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20998 (multiboot2_mod_SOURCES): New variable.
20999 (multiboot2_mod_CFLAGS): Likewise.
21000 (multiboot2_mod_LDFLAGS): Likewise.
21001 (multiboot2_mod_ASFLAGS): Likewise.
21002 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21003 definition.
21004 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21005 (MULTIBOOT_MBI_REGISTER): Likewise.
21006 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21007 (MULTIBOOT_ELF32_MACHINE): Likewise.
21008 (MULTIBOOT_ELF64_MACHINE): Likewise.
21009 * include/grub/mips/multiboot.h: New file.
21010 * include/grub/video.h (grub_video_driver_id): New type
21011 GRUB_VIDEO_DRIVER_SM712.
21012 (grub_video_get_info_and_fini): Export.
21013 (grub_video_get_palette): Likewise.
21014 (grub_video_get_driver_id): Likewise.
21015 * include/multiboot2.h: Resynced with spec.
21016 * loader/i386/multiboot.c: Moved from here ...
21017 * loader/multiboot.c: ... here. All users updated.
21018 (grub_multiboot_boot): Use platform-specific macros.
21019 * loader/i386/multiboot_elfxx.c: Moved from here ...
21020 * loader/multiboot_elfxx.c: ... here. All users updated.
21021 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21022 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21023 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21024
21025 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 Import gnulib argp module.
21028
21029 * gnulib/argp-ba.c: New file.
21030 * gnulib/argp-eexst.c: Likewise.
21031 * gnulib/argp-fmtstream.c: Likewise.
21032 * gnulib/argp-fmtstream.h: Likewise.
21033 * gnulib/argp-fs-xinl.c: Likewise.
21034 * gnulib/argp-help.c: Likewise.
21035 * gnulib/argp-namefrob.h: Likewise.
21036 * gnulib/argp-parse.c: Likewise.
21037 * gnulib/argp-pin.c: Likewise.
21038 * gnulib/argp-pv.c: Likewise.
21039 * gnulib/argp-pvh.c: Likewise.
21040 * gnulib/argp-version-etc.c: Likewise.
21041 * gnulib/argp-version-etc.h: Likewise.
21042 * gnulib/argp-xinl.c: Likewise.
21043 * gnulib/argp.h: Likewise.
21044
21045 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21046
21047 * kern/device.c (grub_device_iterate): Clear errors after failed
21048 opening device.
21049
21050 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21053 returned by firmware.
21054
21055 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21058 compilation on coreboot and qemu
21059
21060 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 * include/multiboot2.h: Resync with spec.
21063
21064 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 Multiboot2 tag support
21067
21068 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21069 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21070 Remove loader/multiboot_loader.c.
21071 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21072 (grub_multiboot2_real_boot): Likewise.
21073 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21074 (grub_get_multiboot_mmap_count): New proto.
21075 (grub_fill_multiboot_mmap): Likewise.
21076 (grub_multiboot_set_video_mode): Likewise.
21077 (grub_multiboot_set_console): Likewise.
21078 (grub_multiboot_load): Likewise.
21079 (grub_multiboot_load_elf): Likewise.
21080 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21081 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21082 * include/multiboot.h: Resynced with specification.
21083 * include/multiboot2.h: Resynced with specification.
21084 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21085 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21086 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21087 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21088 users updated.
21089 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21090 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21091 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21092 Removed.
21093 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21094 Moved from here...
21095 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21096 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21097 Moved from here...
21098 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21099 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21100 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21101 All users updated.
21102 * loader/i386/multiboot_mbi2.c: New file.
21103
21104 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 Resync with gnulib.
21107
21108 * Makefile.in (GNULIB_CFLAGS): New variable.
21109 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21110 (grub_script_check_CFLAGS): New variable.
21111 * gnulib/alloca.h: Resync with gnulib.
21112 * gnulib/error.c: Likewise.
21113 * gnulib/error.h: Likewise.
21114 * gnulib/fnmatch.c: Likewise.
21115 * gnulib/fnmatch_loop.c: Likewise.
21116 * gnulib/getdelim.c: Likewise.
21117 * gnulib/getline.c: Likewise.
21118 * gnulib/getopt.c: Likewise.
21119 * gnulib/getopt1.c: Likewise.
21120 * gnulib/getopt_int.h: Likewise.
21121 * gnulib/gettext.h: Likewise.
21122 * gnulib/progname.c: Likewise.
21123 * gnulib/progname.h: Likewise.
21124
21125 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21126
21127 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21128 which is the case with --disabled-nls.
21129
21130 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21131 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21132 * util/misc.c: Likewise.
21133 * util/mkisofs/mkisofs.c: Likewise.
21134 * util/mkisofs/mkisofs.h: Likewise.
21135
21136 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21137
21138 Simplify Apple CC support.
21139
21140 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21141 Add 0 byte at the end not to have a symbol with empty target.
21142 * mmap/i386/pc/mmap_helper.S: Likewise.
21143 * genmk.rb: Ignore errors 2030 and 2050.
21144 * kern/i386/pc/startup.S: Use LOCAL when possible.
21145
21146 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21147
21148 Testcase and the fix for final semicolon on cmdline.
21149
21150 * tests/grub_script_final_semicolon.in: New testcase.
21151 * conf/tests.rmk: Rules for the new testcase.
21152 * script/parser.y: Grammar fix.
21153
21154 2010-03-26 BVK Chaitanya <bvk@localhost>
21155
21156 Blank lines testcase for GRUB script.
21157
21158 * tests/grub_script_blanklines.in: New testcase.
21159 * conf/tests.rmk: Rules for the new testcase.
21160
21161 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 Don't use __FILE__.
21164
21165 * genmk.rb: Add -DGRUB_FILE to all C targets.
21166 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21167 * include/grub/list.h: Likewise.
21168 * include/grub/misc.h: Likewise.
21169 * include/grub/mm.h: Likewise.
21170 * include/grub/test.h: Likewise.
21171 * kern/mm.c: Likewise.
21172 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21173
21174 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 Sunpc partitions support.
21177
21178 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21179 (grub_fstest_SOURCES): Likewise.
21180 (pkglib_MODULES): Add part_sunpc.mod.
21181 (part_sunpc_mod_SOURCES): New variable.
21182 (part_sunpc_mod_CFLAGS): Likewise.
21183 (part_sunpc_mod_LDFLAGS): Likewise.
21184 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21185 * partmap/sunpc.c: New file.
21186
21187 2010-03-26 BVK Chaitanya <bvk@localhost>
21188
21189 For loop support to GRUB script.
21190
21191 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21192 (grub_script_create_cmdfor): New function prototype.
21193 (grub_script_execute_cmdfor): New function prototype.
21194 * script/execute.c (grub_script_execute_cmdfor): New function.
21195 * script/parser.y (command): New for command.
21196 (forcmd): New grammar rule.
21197 * script/script.c (grub_script_create_cmdfor): New function.
21198 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21199 function.
21200 * tests/grub_script_for1.in: New testcase.
21201 * conf/tests.rmk: Rules for new testcase.
21202
21203 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21204
21205 Nested partitions
21206
21207 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21208 'partition' is NULL, grub_partition_get_start already does that.
21209 * commands/loadenv.c (check_blocklists): Likewise.
21210 (write_blocklists): Likewise.
21211 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21212 (grub_fstest_SOURCES): Likewise.
21213 (pkglib_MODULES): Add part_bsd.mod.
21214 (part_bsd_mod_SOURCES): New variable.
21215 (part_bsd_mod_CFLAGS): Likewise.
21216 (part_bsd_mod_LDFLAGS): Likewise.
21217 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21218 (grub_emu_SOURCES): Likewise.
21219 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21220 * include/grub/bsdlabel.h: New file.
21221 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21222 'get_name'.
21223 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21224 (grub_partition_map_list): New variable.
21225 (grub_partition_map_register): Inline.
21226 (grub_partition_map_unregister): Likewise.
21227 (FOR_PARTITION_MAPS): New macro.
21228 (grub_partition_map_iterate): Removed.
21229 (grub_partition_get_start): Handle nested partitions.
21230 * include/grub/msdos_partition.h: Remove bsd-related entries.
21231 (grub_pc_partition): Remove.
21232 * kern/disk.c (grub_disk_close): Free partition data.
21233 (grub_disk_adjust_range): Handle nested partitions.
21234 * kern/partition.c (grub_partition_map_probe): New function.
21235 (grub_partition_probe): Parse name to number, handle subpartitions.
21236 (get_partmap): New function.
21237 (grub_partition_iterate): Handle subpartitions.
21238 (grub_partition_get_name): Likewise.
21239 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21240 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21241 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21242 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21243 Set 'number'.
21244 (acorn_partition_map_probe): Remove.
21245 (acorn_partition_map_get_name): Likewise.
21246 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21247 Set 'number'.
21248 Set 'index' to 0 since there can be only one partition entry per sector.
21249 (amiga_partition_map_probe): Remove.
21250 (amiga_partition_map_get_name): Likewise.
21251 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21252 Set 'number'.
21253 Set 'offset' and 'index' to real positions of partitions.
21254 (apple_partition_map_probe): Remove.
21255 (apple_partition_map_get_name): Likewise.
21256 * partmap/bsdlabel.c: New file.
21257 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21258 Set 'number'.
21259 Allocate 'data' so it can be correctly freed.
21260 Set 'index' to offset inside sector.
21261 (gpt_partition_map_probe): Remove.
21262 (gpt_partition_map_get_name): Likewise.
21263 * partmap/msdos.c (grub_partition_parse): Remove.
21264 (pc_partition_map_iterate): Don't force raw access.
21265 Set 'number'.
21266 Make 'ext_offset' a local variable.
21267 (pc_partition_map_probe): Remove.
21268 (pc_partition_map_get_name): Remove.
21269 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21270 Set 'number'.
21271 (sun_partition_map_probe): Remove.
21272 (sun_partition_map_get_name): Likewise.
21273 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21274 (grub_pcpart_type): Likewise.
21275 * util/hostdisk.c (open_device): Handle new numbering scheme.
21276 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21277 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21278 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21279 * util/grub-install.in: Insert all subpartition modules.
21280 * util/ieee1275/grub-install.in: Likewise.
21281
21282 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21283
21284 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21285 grammar.
21286
21287 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21288
21289 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21290
21291 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21292
21293 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21294 match where 'make install' puts them.
21295 * util/i386/efi/grub-install.in: Likewise.
21296
21297 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21298
21299 * .bzrignore: Add gentrigtables, grub-script-check,
21300 grub_script_check_init.c, grub_script_check_init.h, and
21301 trigtables.c.
21302
21303 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 * kern/parser.c: Indented.
21306
21307 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21310
21311 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21312
21313 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21314 alpha_mask_size == 0 case.
21315
21316 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21317
21318 GRUB shell lexer and parser improvements.
21319
21320 * conf/any-emu.rmk: Build rule updates.
21321 * conf/common.rmk: Likewise.
21322 * conf/i386-coreboot.rmk: Likewise.
21323 * conf/i386-efi.rmk: Likewise.
21324 * conf/i386-ieee1275.rmk: Likewise.
21325 * conf/i386-pc.rmk: Likewise.
21326 * conf/powerpc-ieee1275.rmk: Likewise.
21327 * conf/x86_64-efi.rmk: Likewise.
21328
21329 * configure.ac: Configure check for flex.
21330
21331 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21332 types.
21333 (grub_lexer_param): Struct member updates.
21334 (grub_parser_param): Likewise.
21335 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21336 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21337 (grub_script_lexer_init): Prototype update.
21338 (grub_script_lexer_record_start): Likewise.
21339 (grub_script_lexer_record_stop): Likewise.
21340 (grub_script_lexer_yywrap): New function prototype.
21341 (grub_script_lexer_fini): Likewise.
21342 (grub_script_execute_argument_to_string): Removed by...
21343 (grub_script_execute_argument_to_argv): ...better version.
21344
21345 * script/execute.c (ROUND_UPTO): New macro.
21346 (grub_script_execute_cmdline): Out of memory fixes.
21347 (grub_script_execute_menuentry): Likewise.
21348 (grub_script_execute_argument_to_string): Removed. Update all
21349 users by...
21350 (grub_script_execute_argument_to_argv): ...better version.
21351 * script/function.c (grub_script_function_create): Use
21352 grub_script_execute_argument_to_argv instead of
21353 grub_script_execute_argument_to_string.
21354
21355 * script/lexer.c (check_varstate): Removed.
21356 (check_textstate): Removed.
21357 (grub_script_lexer_record_start): Likewise.
21358 (grub_script_lexer_record_stop): Likewise.
21359 (recordchar): Replaced with...
21360 (grub_script_lexer_record): ...new function.
21361 (nextchar): Removed.
21362 (grub_script_lexer_init): Rewritten.
21363 (grub_script_yylex): Rewritten.
21364 (append_newline): New function.
21365 (grub_script_lexer_yywrap): New function.
21366 (grub_script_lexer_fini): New function.
21367 (grub_script_yyerror): Sets error flag.
21368
21369 * script/yylex.l: New file.
21370 (grub_lexer_yyfree): Wrapper for flex yyffre.
21371 (grub_lexer_yyalloc): Likewise.
21372 (grub_lexer_yyrealloc): Likewise.
21373 * script/parser.y: Refactored.
21374
21375 * script/script.c (grub_script_arg_add): Out of memory fixes.
21376 (grub_script_add_arglist): Likewise.
21377 (grub_script_create_cmdline): Likewise.
21378 (grub_script_create_cmdmenu): Likewise.
21379 (grub_script_add_cmd): Likewise.
21380 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21381 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21382 unnecessary code.
21383
21384 * tests/grub_script_echo1.in: New testcase.
21385 * tests/grub_script_vars1.in: New testcase.
21386 * tests/grub_script_echo_keywords.in: New testcase.
21387
21388 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 Remove some redundancy in build system.
21391
21392 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21393 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21394 (TARGET_LDFLAGS): Add -nostdlib.
21395 (TARGET_IMG_LDFLAGS): Likewise.
21396 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21397 anything since mmap isn't available.
21398 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21399 Add util/time.c.
21400 (pkglib_MODULES): Remove reboot.mod.
21401 (reboot_mod_SOURCES): Removed.
21402 (reboot_mod_CFLAGS): Likewise.
21403 (reboot_mod_LDFLAGS): Likewise.
21404 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21405 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21406 (DEFSYMFILES): Add kernel_syms.lst.
21407 (kernel_img_HEADERS): Add common headers.
21408 (symlist.c): New target.
21409 (kernel_syms.lst): Likewise.
21410 (pkglib_MODULES): Add memdisk.mod.
21411 (memdisk_mod_SOURCES): New variable.
21412 (memdisk_mod_CFLAGS): Likewise.
21413 (memdisk_mod_LDFLAGS): Likewise.
21414 (pkglib_MODULES): Add reboot.mod.
21415 (reboot_mod_SOURCES): New variable.
21416 (reboot_mod_CFLAGS): Likewise.
21417 (reboot_mod_LDFLAGS): Likewise.
21418 (pkglib_MODULES): Add date.mod.
21419 (date_mod_SOURCES): New variable.
21420 (date_mod_CFLAGS): Likewise.
21421 (date_mod_LDFLAGS): Likewise.
21422 (pkglib_MODULES): Add datehook.mod.
21423 (datehook_mod_SOURCES): New variable.
21424 (datehook_mod_CFLAGS): Likewise.
21425 (datehook_mod_LDFLAGS): Likewise.
21426 (pkglib_MODULES): Add lsmmap.mod.
21427 (lsmmap_mod_SOURCES): New variable.
21428 (lsmmap_mod_CFLAGS): Likewise.
21429 (lsmmap_mod_LDFLAGS): Likewise.
21430 (pkglib_MODULES): Add boot.mod.
21431 (boot_mod_SOURCES): New variable.
21432 (boot_mod_CFLAGS): Likewise.
21433 (boot_mod_LDFLAGS): Likewise.
21434 * conf/i386-coreboot.rmk: Removed redundant parts.
21435 * conf/i386-ieee1275.rmk: Likewise.
21436 * conf/i386-pc.rmk: Likewise.
21437 * conf/mips-yeeloong.rmk: Likewise.
21438 * conf/mips.rmk: Likewise.
21439 * conf/powerpc-ieee1275.rmk: Likewise.
21440 * conf/sparc64-ieee1275.rmk: Likewise.
21441 * conf/x86_64-efi.rmk: Likewise.
21442 * conf/i386-coreboot.rmk: Moved qemu parts ..
21443 * conf/i386-qemu.rmk: ... here
21444 * conf/i386-efi.rmk: Moved common parts to...
21445 * conf/x86-efi.rmk: ... here.
21446 * conf/i386.rmk: Added modules common to all x86 variants.
21447 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21448 * disk/memdisk.c: Remove grub/machine/kernel.h.
21449 * gensymlist.sh.in: Include symbol.h.
21450 * hook/datehook.c: Correct module name.
21451 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21452 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21453 * include/grub/i386/efi/serial.h: New file.
21454 * include/grub/x86_64/efi/serial.h: Likewise.
21455 * util/time.c: Likewise.
21456 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21457
21458 2010-03-14 Colin King <colin.king@ubuntu.com>
21459 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21460
21461 Shrink the pre-partition-table part of boot.img by eight bytes.
21462
21463 * boot/i386/pc/boot.S (ERR): New macro.
21464 (chs_mode): Use ERR.
21465 (geometry_error): Likewise.
21466 (hd_probe_error): Remove. This is only used once, so we wrwite
21467 it inline instead.
21468 (read_error): Instead of printing read_error_string, just set up
21469 %si and fall through to ...
21470 (error_message): ... this new function, also used by ERR.
21471
21472 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21473
21474 Speed up consecutive hostdisk operations on the same device.
21475
21476 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21477 (grub_util_biosdisk_open): Initialise disk->data.
21478 (struct linux_partition_cache): New structure.
21479 (linux_find_partition): Cache partition start positions; these are
21480 expensive to compute on every read and write.
21481 (open_device): Cache open file descriptor in disk->data, so that we
21482 don't have to reopen it and flush the buffer cache for consecutive
21483 operations on the same device.
21484 (grub_util_biosdisk_close): New function.
21485 (grub_util_biosdisk_dev): Set `close' member.
21486
21487 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21488 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21489 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21490 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21491 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21492
21493 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 Compile parts of grub-emu as modules.
21496
21497 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21498 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21499 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21500 (all-local): Add $(GRUB_EMU).
21501 (install-local): Install $(GRUB_EMU).
21502 (uninstall): Uninstall $(GRUB_EMU).
21503 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21504 * kern/dl.c: Likewise.
21505 * commands/sleep.c: Not include machine/time.h.
21506 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21507 (COMMON_CFLAGS): Likewise.
21508 (sbin_UTILITIES): Remove grub-emu.
21509 (grub_emu_SOURCES): Removed.
21510 (kernel_img_RELOCATABLE): New variable.
21511 (pkglib_PROGRAMS): Add kernel.img.
21512 (kernel_img_SOURCES): New variable
21513 (kernel_img_CFLAGS): Likewise.
21514 (kernel_img_LDFLAGS): Likewise.
21515 (TARGET_NO_STRIP): Likewise.
21516 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21517 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21518 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21519 (grub-emu): New target.
21520 (GRUB_EMU): New variable.
21521 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21522 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21523 * loader/xnu.c: Likewise.
21524 * include/grub/pci.h: Likewise.
21525 * genemuinit.sh: New file.
21526 * genemuinitheader.sh: Likewise.
21527 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21528 Support TARGET_NO_DYNAMIC_MODULES.
21529 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21530 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21531 * disk/loopback.c: Likewise.
21532 * font/font_cmd.c: Likewise.
21533 * partmap/acorn.c: Likewise.
21534 * partmap/amiga.c: Likewise.
21535 * partmap/apple.c: Likewise.
21536 * partmap/gpt.c: Likewise.
21537 * partmap/msdos.c: Likewise.
21538 * partmap/sun.c: Likewise.
21539 * parttool/msdospart.c: Likewise.
21540 * term/gfxterm.c: Likewise.
21541 * video/bitmap.c: Likewise.
21542 * video/readers/jpeg.c: Likewise.
21543 * video/readers/png.c: Likewise.
21544 * video/readers/tga.c: Likewise.
21545 * video/video.c: Likewise.
21546 * util/grub-emu.c (read_command_list): Removed.
21547 (main): Don't call util_init_nls.
21548 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21549 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21550
21551 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21554 date.mod, datehook.mod.
21555 (datetime_mod_SOURCES): New variable.
21556 (datetime_mod_CFLAGS): Likewise.
21557 (datetime_mod_LDFLAGS): Likewise.
21558 (date_mod_SOURCES): Likewise.
21559 (date_mod_CFLAGS): Likewise.
21560 (date_mod_LDFLAGS): Likewise.
21561 (datehook_mod_SOURCES): Likewise.
21562 (datehook_mod_CFLAGS): Likewise.
21563 (datehook_mod_LDFLAGS): Likewise.
21564 * conf/sparc64-ieee1275.rmk: Likewise.
21565 * lib/ieee1275/datetime.c: New file.
21566
21567 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21570 (ieee1275_fb_mod_SOURCES): New variable.
21571 (ieee1275_fb_mod_CFLAGS): Likewise.
21572 (ieee1275_fb_mod_LDFLAGS): Likewise.
21573 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21574 New proto.
21575 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21576 (HEAP_MAX_ADDR): Likewise.
21577 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21578 type.
21579 Correct stop condition.
21580 (grub_ieee1275_devices_iterate): New function.
21581 * video/ieee1275.c: New file.
21582
21583 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21586
21587 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21588 as scratch.
21589 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21590 SCRATCH_PAD_DISKBOOT as scratch.
21591 (bootit): Pass Openfirmware pointer in %o4.
21592 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21593 of 0x200000.
21594 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21595 with util/grub-mkrawimage.c.
21596 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21597 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21598 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21599 (grub_aout_load) [GRUB_UTIL]: Likewise.
21600 * include/grub/kernel.h (grub_modules_get_end): New proto.
21601 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21602 (SCRATCH_PAD_BOOT): New definition.
21603 (SCRATCH_PAD_DISKBOOT): Likewise.
21604 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21605 * include/grub/sparc64/ieee1275/ieee1275.h
21606 (grub_ieee1275_original_stack): New variable
21607 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21608 New definition
21609 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21610 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21611 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21612 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21613 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21614 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21615 (grub_platform_image_format_t): New type.
21616 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21617 * kern/main.c (grub_modules_get_end)
21618 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21619 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21620 (codestart): Switch stacks.
21621 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21622 variable.
21623 (grub_heap_init): Use grub_modules_get_end.
21624 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21625 stack.
21626 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21627 (main): Likewise.
21628 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21629
21630 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21631
21632 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21633
21634 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21635
21636 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21637 bug #559005).
21638
21639 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 * genmoddep.awk: Output all missing symbols and not only first.
21642
21643 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 * NEWS: Put the date of 1.98 release.
21646
21647 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21648
21649 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21650 ft2build.h.
21651
21652 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21653
21654 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21655 completition in the middle of string.
21656
21657 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * util/grub-mkrescue.in: Use mktemp with explicit template.
21660
21661 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21664
21665 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21666
21667 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21668 right pointer.
21669
21670 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 Fix FreeBSD compilation.
21673
21674 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21675 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21676
21677 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21680
21681 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21682
21683 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21684
21685 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21686
21687 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21688
21689 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21690
21691 Support relative image path in theme file.
21692
21693 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21694 (image_set_property): Handle theme_dir and relative path.
21695
21696 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21697
21698 * configure.ac: Alias amd64 to x86_64.
21699
21700 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * NEWS: mention multiboot on EFI.
21703
21704 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21705
21706 * kern/main.c (grub_load_modules): Handle errors from init functions of
21707 embeded modules.
21708
21709 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 * normal/autofs.c (autoload_fs_module): Handle errors.
21712
21713 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21714
21715 Disable linux.mod on qemu-mips since it's not functional and leads
21716 to compilation failure.
21717
21718 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21719 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21720 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21721 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21722 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21723 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21724 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21725 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21726 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21727 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21728 Reported by: BVK Chaitanya
21729
21730 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21731
21732 * INSTALL: Add gettext as a dependency and add qemu to a new section
21733 "Prerequisites for make-check".
21734
21735 2010-03-04 Christian Franke <franke@computer.org>
21736
21737 * util/grub-pe2elf.c: Add missing include "progname.h".
21738
21739 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21740
21741 * normal/crypto.c (read_crypto_list): Fix a typo.
21742 Reported by: Seth Goldberg.
21743
21744 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21745
21746 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21747 Reported by: Seth Goldberg.
21748
21749 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21752 ascii.bitmaps.
21753
21754 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * genmk.rb: Remove terminal*.lst in make clean.
21757 Reported by: Seth Goldberg.
21758
21759 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21760
21761 * util/i386/efi/grub-install.in: Copy gettext files.
21762
21763 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21764
21765 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21766
21767 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21768
21769 Wait for user entry basing on presence of output rather than on errors.
21770
21771 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21772 (grub_install_newline_hook): Likewise.
21773 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21774 * normal/menu.c (show_menu): Check line_counter to determine presence
21775 of output.
21776 * normal/term.c (grub_normal_line_counter): New variable.
21777 (grub_normal_get_line_counter): New function.
21778 (grub_install_newline_hook): Likewise.
21779
21780 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21783
21784 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21785
21786 * configure.ac: Update version to 1.98.
21787
21788 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21789
21790 * util/grub.d/10_linux.in (linux_entry): Don't default to
21791 gfxpayload=keep if Linux doesn't support video handover.
21792
21793 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21794
21795 Don't compile video modules on yeeloong since video subsystem is part
21796 of kernel.
21797
21798 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21799 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21800 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21801 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21802 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21803 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21804 * include/grub/bitmap_scale.h: Likewise.
21805 * include/grub/bufio.h: Likewise.
21806 * include/grub/font.h: Likewise.
21807 * include/grub/gfxterm.h: Likewise.
21808 * include/grub/video.h: Likewise.
21809 * include/grub/vbe.h: Don't include video_fb.h.
21810 * video/i386/pc/vbe.c: Include video_fb.h.
21811 * commands/i386/pc/vbetest.c: Include video.h.
21812
21813 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21814
21815 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21816 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21817 default entry if GRUB_SAVEDEFAULT=true. This allows using
21818 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21819 saving a new default on every boot.
21820
21821 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21822
21823 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21824 * normal/term.c (read_terminal_list): Likewise.
21825 * normal/main.c (grub_normal_init_page): Likewise.
21826 (grub_normal_read_line_real): Likewise.
21827
21828 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21829
21830 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21831 memory leak.
21832 Reported by: Seth Goldberg.
21833
21834 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21835
21836 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21837 duplicate declaration of `start'.
21838
21839 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21842 filename.
21843 Reported by: Georgy Buranov
21844
21845 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21846
21847 * util/grub-mkrawimage.c (usage): Change string formatting to
21848 improve gettext.
21849
21850 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21851
21852 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21853 backspace keys.
21854
21855 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21858 Reported by: Michael Suchanek.
21859
21860 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21861
21862 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21863 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21864
21865 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 Remove any reference to non-free fonts.
21868
21869 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21870 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21871 uses non-free components.
21872 * font/font.c (grub_font_get_name): Remove example name.
21873 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21874 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21875 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21876 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21877
21878 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21879
21880 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21881
21882 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21885 Double divisor.
21886 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21887 features.
21888 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21889
21890 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21893
21894 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21895
21896 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21897 * docs/grub.texi (Command-line and menu entry commands): Document play
21898 command.
21899
21900 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21901
21902 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21903 parse arguments as inline tempo and notes. Move code for playing notes
21904 to...
21905 (play): ... new function.
21906
21907 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21908
21909 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21910 grub_uint16_t instead of short.
21911 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21912 disk from little endian to cpu endianness.
21913
21914 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21915
21916 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21917 GRUB_TICKS_PER_SECOND instead of 120.
21918
21919 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21920
21921 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21922 escape sequence after \e.
21923
21924 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21925
21926 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21927 non-ASCII characters.
21928
21929 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21930
21931 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21932 set root in single quotes to prevent \, from being unescaped.
21933
21934 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 Prevent unknown commands from stopping menuentry execution.
21937
21938 * script/execute.c (grub_script_execute_cmdline): Print error after
21939 unknown command.
21940
21941 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21944 Reported by: Pavel Pisa.
21945
21946 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21949
21950 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 Merge grub_ieee1275_map_physical into grub_map and rename to
21953 grub_ieee1275_map
21954
21955 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21956 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21957 Remove.
21958 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21959 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21960 necessary.
21961 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21962
21963 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21966 opening and not after.
21967
21968 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21971 constants.
21972
21973 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21974
21975 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21976 (alloc_phys): Use ALIGN_UP instead of align_addr.
21977
21978 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21981
21982 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21985
21986 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21989 verbose dprintf.
21990
21991 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21992
21993 Fix over-4GiB seek on sparc64.
21994
21995 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21996 Replace pos_i and pos_lo with pos. All users updated.
21997 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21998 New constant.
21999 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22000 Likewise.
22001 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22002 and pos_lo.
22003
22004 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * util/grub-mkrawimage.c (main): Call set_program_name.
22007
22008 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 Properly align 64-bit targets.
22011
22012 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22013 (generate_image): Use ALIGN_ADDR.
22014
22015 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 Properly create cross-endian images.
22018
22019 * include/grub/types.h (grub_host_to_target_addr): New macro
22020 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22021
22022 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22023
22024 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22025
22026 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22027
22028 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22029
22030 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22031 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22032 (grub_linux_boot): Divide by 64K when on VESA.
22033
22034 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22035
22036 Support GRUB_GFXPAYLOAD_LINUX.
22037
22038 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22039 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22040
22041 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22044 to show messages instead of discarding them.
22045 Process errors after executing command and not before. Keep old method
22046 too as precaution.
22047
22048 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22049
22050 * configure.ac: Check for ft2build.h.
22051
22052 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22055
22056 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 * genkernsyms.sh.in: Use TARGET_CC.
22059
22060 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
22061
22062 * NEWS: Update.
22063
22064 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22065
22066 * include/grub/multiboot2.h: Remove leftover file.
22067 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22068 * include/grub/partition.h [GRUB_UTIL]: Likewise.
22069
22070 2010-02-07 Yves Blusseau <blusseau@zetam.org>
22071
22072 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
22073
22074 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22075
22076 Fix warnings in grub-emu when compiling with maximum warning options.
22077
22078 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22079 (grub_arch_modules_addr): Return 0 and not NULL.
22080 * util/misc.c (ENABLE_RELOCATABLE): New definition.
22081 (xstrdup): Use newstr instead of dup.
22082 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22083 of disk to dsk to avoid shadowing.
22084 (find_free_slot): Fix prototype.
22085 * util/getroot.c (grub_util_is_dmraid): Make static.
22086 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22087 Add missing prototype.
22088 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22089
22090 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22091
22092 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22093 appropriately.
22094
22095 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22098 code out.
22099
22100 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22103 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22104 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22105 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22106 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22107 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22108
22109 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22110
22111 * include/grub/err.h (grub_err_printf): Don't export.
22112
22113 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22116
22117 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22120 * kern/misc.c (grub_gettext_dummy): Make static.
22121
22122 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22123
22124 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22125 by non-valid ones.
22126 * kern/term.c (grub_putchar): Likewise.
22127
22128 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22131 buggy hook call and memory leak.
22132
22133 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22136
22137 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22140
22141 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22144 modevar.
22145 Return grub_errno on allocation error.
22146
22147 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22148
22149 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22150
22151 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22152
22153 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22154 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22155
22156 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22159 non-pxe disk.
22160 (grub_pxefs_open): Likewise.
22161
22162 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22163
22164 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22165 * util/grub.d/10_kfreebsd.in: Likewise.
22166 * util/grub.d/10_linux.in: Likewise.
22167
22168 2010-02-06 Colin D Bennett <colin@gibibit.com>
22169
22170 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22171 (gfxmenu_mod_SOURCES): New variable.
22172 (gfxmenu_mod_CFLAGS): Likewise.
22173 (gfxmenu_mod_LDFLAGS): Likewise.
22174 * include/grub/term.h (grub_term_set_current_output): Declare
22175 argument as const.
22176 * docs/gfxmenu-theme-example.txt: New file.
22177 * gfxmenu/gfxmenu.c: Likewise.
22178 * gfxmenu/gui_box.c: Likewise.
22179 * gfxmenu/gui_canvas.c: Likewise.
22180 * gfxmenu/gui_circular_progress.c: Likewise.
22181 * gfxmenu/gui_image.c: Likewise.
22182 * gfxmenu/gui_label.c: Likewise.
22183 * gfxmenu/gui_list.c: Likewise.
22184 * gfxmenu/gui_progress_bar.c: Likewise.
22185 * gfxmenu/gui_string_util.c: Likewise.
22186 * gfxmenu/gui_util.c: Likewise.
22187 * gfxmenu/icon_manager.c: Likewise.
22188 * gfxmenu/model.c: Likewise.
22189 * gfxmenu/named_colors.c: Likewise.
22190 * gfxmenu/theme_loader.c: Likewise.
22191 * gfxmenu/view.c: Likewise.
22192 * gfxmenu/widget-box.c: Likewise.
22193 * include/grub/gfxmenu_model.h: Likewise.
22194 * include/grub/gfxmenu_view.h: Likewise.
22195 * include/grub/gfxwidgets.h: Likewise.
22196 * include/grub/gui.h: Likewise.
22197 * include/grub/gui_string_util.h: Likewise.
22198 * include/grub/icon_manager.h: Likewise.
22199
22200 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 Agglomerate scrolling in gfxterm.
22203
22204 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22205 (grub_virtual_screen_setup): Initialise 'total_screen'.
22206 (write_char): Split to ...
22207 (paint_char): ... this ...
22208 (write_char): ... and this.
22209 (paint_char): Handle delayed scrolling.
22210 (draw_cursor): Likewise.
22211 (scroll_up): Split to ...
22212 (real_scroll): ... this ...
22213 (scroll_up): ... and this.
22214 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22215 characters.
22216 (grub_gfxterm_refresh): Call real_scroll.
22217
22218 2010-02-06 Colin D Bennett <colin@gibibit.com>
22219
22220 * include/grub/misc.h (grub_iscntrl): New inline function.
22221 (grub_isalnum): Likewise.
22222 (grub_strtol): Likewise.
22223
22224 2010-02-06 Colin D Bennett <colin@gibibit.com>
22225
22226 * normal/menu_text.c (get_entry_number): Move from here ...
22227 * normal/menu.c (get_entry_number): ... moved here.
22228 * include/grub/menu.h (grub_menu_get_default_entry_index):
22229 New prototype.
22230 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22231 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22232 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22233 (grub_menu_viewer_should_return): Likewise.
22234 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22235 * normal/menu_text.c (run_menu): Enable menu switching.
22236 * normal/menu_viewer.c (should_return): New variable.
22237 (menu_viewer_changed): Likewise.
22238 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22239 (grub_menu_viewer_should_return): New function.
22240 (menuviewer_write_hook): Likewise.
22241 (grub_menu_viewer_init): Likewise.
22242
22243 2010-02-06 Colin D Bennet <colin@gibibit.com>
22244 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22245
22246 Support for gfxterm in a window.
22247
22248 * include/grub/gfxterm.h: New file.
22249 * include/grub/video.h (struct grub_video_rect): New declaration.
22250 (grub_video_rect_t): Likewise.
22251 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22252 (refcount): New variable.
22253 (render_target): Likewise.
22254 (window): Likewise.
22255 (repaint_callback): Likewise.
22256 (grub_virtual_screen_setup): Use 'render_target'.
22257 (init_window): New function.
22258 (grub_gfxterm_init_window): Likewise.
22259 (grub_gfxterm_init): Check reference counter.
22260 Use init_window.
22261 (destroy_window): New function.
22262 (grub_gfxterm_destroy_window): Likewise.
22263 (grub_gfxterm_fini): Check reference counter.
22264 Use destroy_window.
22265 (redraw_screen_rect): Restore viewport.
22266 Use 'render_target' and 'window'.
22267 Call 'repaint_callback'.
22268 (write_char): Use 'render_target'.
22269 (draw_cursor): Likewise.
22270 (scroll_up): Restore viewport.
22271 Use 'render_target' and 'window'.
22272 Call 'repaint_callback'.
22273 (grub_gfxterm_cls): Likewise.
22274 (grub_gfxterm_refresh): Use 'window'.
22275 (grub_gfxterm_set_repaint_callback): New function.
22276 (grub_gfxterm_background_image_cmd): Use 'window'.
22277 (grub_gfxterm_get_term): New function.
22278 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22279
22280 2010-02-06 Colin D Bennett <colin@gibibit.com>
22281
22282 Bitmap scaling support.
22283
22284 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22285 (bitmap_scale_mod_SOURCES): New variable.
22286 (bitmap_scale_mod_CFLAGS): Likewise.
22287 (bitmap_scale_mod_LDFLAGS): Likewise.
22288 * include/grub/bitmap_scale.h: New file.
22289 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22290 (background_image_cmd_options): New variable.
22291 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22292 (cmd): Rename and change type to ...
22293 (background_image_cmd_handle): ... this. All users updated.
22294 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22295 * video/bitmap_scale.c: New file.
22296
22297 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 SDL support.
22300
22301 * Makefile.in (LIBSDL): New variable.
22302 (enable_grub_emu_sdl): Likewise.
22303 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22304 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22305 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22306 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22307 * util/sdl.c: New file.
22308
22309 2010-02-06 Colin D Bennett <colin@gibibit.com>
22310 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 Double buffering support.
22313
22314 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22315 * include/grub/video.h: Update comment.
22316 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22317 New type.
22318 (grub_video_fb_doublebuf_blit_init): New prototype.
22319 * term/gfxterm.c (scroll_up): Support double buffering.
22320 (grub_gfxterm_refresh): Likewise.
22321 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22322 (grub_video_fb_doublebuf_blit_init): Likewise.
22323 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22324 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22325 'displayed_page', 'render_page' and 'update_screen'.
22326 (grub_video_vbe_fini): Free offscreen buffer.
22327 (doublebuf_pageflipping_commit): New function.
22328 (doublebuf_pageflipping_update_screen): Likewise.
22329 (doublebuf_pageflipping_init): Likewise.
22330 (double_buffering_init): Likewise.
22331 (grub_video_vbe_setup): Enable doublebuffering.
22332 (grub_video_vbe_swap_buffers): Implement.
22333 (grub_video_vbe_set_active_render_target): Handle double buffering.
22334 (grub_video_vbe_get_active_render_target): Likewise.
22335 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22336 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22337 (grub_video_vbe_enable_double_buffering): Likewise.
22338 (grub_video_vbe_swap_buffers): Use update_screen.
22339 (grub_video_set_mode): Use double buffering.
22340
22341 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22342
22343 * maintainance/gentrigtables.py: Remove.
22344 * lib/trig.c: Likewise.
22345
22346 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22347
22348 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22349 `trigtables.c'.
22350 (trigtables.c): New rule.
22351 (gentrigtables): Likewise.
22352 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22353
22354 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22355
22356 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22357 integer constants.
22358
22359 2010-02-06 Colin D Bennet <colin@gibibit.com>
22360
22361 Trigonometry support.
22362
22363 * include/grub/trig.h: New file.
22364 * lib/trig.c: Likewise.
22365 * maintainance/gentrigtables.py: Likewise.
22366 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22367 (trig_mod_SOURCES): New variable.
22368 (trig_mod_CFLAGS): Likewise.
22369 (trig_mod_LDFLAGS): Likewise.
22370
22371 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22372
22373 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22374 disk devices.
22375
22376 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22379 error.
22380
22381 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 * util/hostdisk.c (open_device): Don't use partition device when reading
22384 before the partition.
22385 (grub_util_biosdisk_read): Don't read from partition and before the
22386 partition in single operation.
22387 (grub_util_biosdisk_write): Don't write to partition and before the
22388 partition in single operation.
22389
22390 2010-02-03 Torsten Landschoff <torsten@debian.org>
22391
22392 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22393 last sectors.
22394
22395 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22398 CDROM reads.
22399 (grub_biosdisk_write): Refuse to write to CDROM.
22400
22401 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22402
22403 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22404
22405 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22406
22407 * font/font.c (find_glyph): Check that bmp_idx is available before
22408 using it.
22409 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22410 with (font == NULL).
22411
22412 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22413
22414 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22415
22416 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22417
22418 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22419 * util/grub-script-check.c (getline): Fix empty lines case.
22420
22421 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22422
22423 * Makefile.in (check): Exit with fail status when one of the tests
22424 fails.
22425 * tests/example_functional_test.c (example_test): Fix reversed assert.
22426 * tests/example_unit_test.c (example_test): Likewise.
22427
22428 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22429
22430 * util/grub.d/10_linux.in: This script does not use any of the
22431 contents of gettext.sh, only the external command `gettext', so stop
22432 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22433 the same prefix as GRUB.)
22434 * util/grub.d/10_kfreebsd.in: Likewise.
22435
22436 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22439 of the line.
22440
22441 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22442
22443 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22444 last sectors.
22445
22446 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22449 having a 4KiB and not 32KiB buffer size.
22450
22451 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22452
22453 * util/hostfs.c: Include `<errno.h>'.
22454 (grub_hostfs_read): Handle errors from fseeko() and fread().
22455
22456 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22459 loop when using read hooks on files whose size isn't sector-aligned.
22460
22461 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22462
22463 Remove unused parameter.
22464
22465 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22466 (grub_iso9660_open): Remove initialization of `data->length'.
22467
22468 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22469
22470 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22471 memleak conditions.
22472
22473 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22474
22475 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22476 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22477
22478 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22479
22480 * util/bin2h.c (usage): Fix warning (space after backslash).
22481
22482 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22483
22484 * font/font.c: Include `grub/fontformat.h.
22485 Remove font file format constants.
22486 (grub_font_load): Use the new macros.
22487 * include/grub/fontformat.h: New file.
22488 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22489 (write_font_pf2): Use the new macros.
22490
22491 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22492
22493 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22494 does.
22495
22496 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22497
22498 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22499
22500 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22501 (_start): Macroify `0x7F'.
22502
22503 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22504 (make_install_device): Use "(pxe)" as fallback prefix when booting
22505 via PXE.
22506
22507 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 * configure.ac: Reset LIBS after check for libgcc symbols.
22510
22511 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22512
22513 * util/hostdisk.c (open_device): Add trailing newline to debug
22514 message.
22515
22516 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22517
22518 * configure.ac: Check for `limits.h'.
22519 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22520
22521 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22522
22523 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22524 capitalize error strings.
22525
22526 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22527
22528 * util/grub.d/10_hurd.in: Add a recovery mode.
22529
22530 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * configure.ac: Check for libgcc symbols with -nostdlib.
22533
22534 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22535
22536 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22537
22538 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22539
22540 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22541 stack since heap may be unavailable at that point.
22542 (grub_ofconsole_gotoxy): Likewise.
22543
22544 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 * configure.ac: Check for _restgpr_14_x.
22547 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22548 and _savegpr_* prototypes.
22549
22550 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22551
22552 Use generic grub_reboot() for i386-efi.
22553
22554 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22555 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22556 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22557
22558 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22561 presence of "prefix" variable as it breaks when normal.mod is
22562 embedded.
22563
22564 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22567 stack since heap is unavailable at that point.
22568
22569 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22572 (grub_freebsd_bootinfo): Rewritten.
22573 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22574
22575 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22578
22579 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22580
22581 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22582 domain now.
22583
22584 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22585
22586 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22587 around for handling "/" to the correct fix. Fix a memory leak. Use
22588 xstrdup instead of strdup.
22589
22590 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22593
22594 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22597
22598 * font/font.c (struct grub_font): New member 'bmp_idx'.
22599 (font_init): Initialise 'bmp_idx'.
22600 (load_font_index): Fill 'bmp_idx'.
22601 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22602
22603 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22604
22605 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22606 unnecessary calls.
22607
22608 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 Move context handling out of the kernel.
22611
22612 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22613 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22614 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22615 * conf/i386-efi.rmk: Likewise.
22616 * conf/i386-ieee1275.rmk: Likewise.
22617 * conf/i386-pc.rmk: Likewise.
22618 * conf/powerpc-ieee1275.rmk: Likewise.
22619 * conf/sparc64-ieee1275.rmk: Likewise.
22620 * conf/x86_64-efi.rmk: Likewise.
22621 * include/grub/env.h: Include grub/menu.h.
22622 (grub_env_var_type): Removed.
22623 (grub_env_var): Replaced field 'type' with 'global'.
22624 (grub_env_find): New prototype.
22625 (grub_env_context_open): Remove EXPORT_FUNC.
22626 (grub_env_context_close): Likewise.
22627 (grub_env_export): Likewise.
22628 (grub_env_set_data_slot): Removed.
22629 (grub_env_get_data_slot): Likewise.
22630 (grub_env_unset_data_slot): Likewise.
22631 (grub_env_unset_menu): New prototype.
22632 (grub_env_set_menu): Likewise.
22633 (grub_env_get_menu): Likewise.
22634 * include/grub/env_private.h: New file.
22635 * include/grub/normal.h (grub_context_init): New prototype.
22636 (grub_context_fini): Likewise.
22637 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22638 * normal/context.c (grub_cmd_export): ... to here.
22639 * kern/env.c: Include env_private.h.
22640 (HASHSZ): Moved to include/grub/env_private.h.
22641 (grub_env_context): Likewise.
22642 (grub_env_sorted_var): Likewise.
22643 (current_context): Renamed from this ...
22644 (grub_current_context): ...to this. 'static' removed. All users updated.
22645 (grub_env_find): Removed 'static'.
22646 (grub_env_context_open): Moved to normal/context.c.
22647 (grub_env_context_close): Likewise.
22648 (grub_env_export): Likewise.
22649 (mangle_data_slot_name): Removed.
22650 (grub_env_set_data_slot): Likewise.
22651 (grub_env_get_data_slot): Likewise.
22652 (grub_env_unset_data_slot): Likewise.
22653 * kern/main.c (grub_set_root_dev): Don't export root.
22654 It will be done later.
22655 (grub_main): Don't export prefix.
22656 It will be done later.
22657 * normal/context.c: New file.
22658 * normal/main.c (free_menu): Use grub_env_unset_menu.
22659 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22660 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22661 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22662 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22663
22664 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 setpci support.
22667
22668 * commands/setpci.c: New file.
22669 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22670 (setpci_mod_SOURCES): New variable.
22671 (setpci_mod_CFLAGS): Likewise.
22672 (setpci_mod_LDFLAGS): Likewise.
22673
22674 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 Byte-addressable PCI configuration space.
22677
22678 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22679 dword address.
22680 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22681 GRUB_PCI_REG_CACHELINE.
22682 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22683 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22684 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22685 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22686 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22687 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22688 grub_pci_make_address.
22689 (lock_rom_area): Likewise.
22690 * commands/lspci.c (grub_lspci_iter): Use macroses
22691 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22692 of grub_pci_make_address.
22693 * disk/ata.c (grub_ata_pciinit): Likewise.
22694 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22695 (GRUB_PCI_REG_VENDOR): Likewise.
22696 (GRUB_PCI_REG_DEVICE): Likewise.
22697 (GRUB_PCI_REG_COMMAND): Likewise.
22698 (GRUB_PCI_REG_STATUS): Likewise.
22699 (GRUB_PCI_REG_REVISION): Likewise.
22700 (GRUB_PCI_REG_CLASS): Likewise.
22701 (GRUB_PCI_REG_CACHELINE): Likewise.
22702 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22703 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22704 (GRUB_PCI_REG_BIST): Likewise.
22705 (GRUB_PCI_REG_ADDRESSES): Likewise.
22706 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22707 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22708 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22709 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22710 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22711 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22712 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22713 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22714 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22715 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22716 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22717 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22718 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22719 (GRUB_PCI_REG_MIN_GNT): Likewise.
22720 (GRUB_PCI_REG_MAX_LAT): Likewise.
22721 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22722 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22723 * video/efi_uga.c (find_framebuf): Likewise.
22724 * video/sm712.c (grub_video_sm712_setup): Likewise.
22725 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22726 space.
22727
22728 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22729
22730 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22731 can be reliably determined to be supported.
22732
22733 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22734
22735 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22736 that VESA is supported.
22737 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22738 supported.
22739
22740 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22743
22744 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22745
22746 * util/misc.c (make_system_path_relative_to_its_root): Work around
22747 special-casing of "/", as previous incarnation of this routine did.
22748
22749 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22750
22751 Fix any-emu compilation.
22752
22753 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22754 * grub_bin2h_SOURCES: New variable.
22755
22756 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22757
22758 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22759
22760 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22761
22762 * util/grub.d/00_header.in: Fix handling of locale_dir.
22763
22764 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22765
22766 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22767 as possible unifont location (Gentoo).
22768 Reported by: Alexander Brüning
22769
22770 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22771
22772 Don't try to generate lists for kernel.img.
22773
22774 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22775 (pkglib_MODULES): Remove kernel.img.
22776 (kernel_img_EXPORTS): Removed.
22777 (kernel_img_RELOCATABLE): New variable.
22778 * conf/x86_64-efi.rmk: Likewise.
22779 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22780
22781 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22782
22783 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22784 grub_xasprintf or grub_snprintf.
22785 (grub_vsprintf): Likewise.
22786 (grub_snprintf): New proto.
22787 (grub_vsnprintf): Likewise.
22788 (grub_xasprintf): Likewise.
22789 (grub_xvasprintf): Likewise.
22790 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22791 (grub_sprintf): Removed.
22792 (grub_vsnprintf): New function.
22793 (grub_snprintf): Likewise.
22794 (grub_xvasprintf): Likewise.
22795 (grub_xasprintf): Likewise.
22796 (grub_vsprintf): Renamed to ...
22797 (grub_vsnprintf_real): ...this. New argument max_len.
22798
22799 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22800
22801 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22802 fix grub-script-check warning.
22803
22804 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22805
22806 * include/grub/font.h (grub_font_load): Fix prototype.
22807
22808 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22809
22810 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22811
22812 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22813
22814 * include/grub/x86_64/at_keyboard.h: New file.
22815
22816 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22817
22818 * loader/mips/linux.c: Include missing grub/i18n.h.
22819
22820 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22821
22822 * normal/menu.c (notify_execution_failure): Clarify error message.
22823
22824 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22825
22826 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22827 return value (and revert all return statements). Update users.
22828
22829 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22830
22831 * kern/device.c (grub_device_iterate): Allocate new part_ent
22832 structure based on sizeof (*p) rather than sizeof (p->next), to
22833 account for structure padding.
22834
22835 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22836 disk is NULL, which might happen for LVM physical volumes with no
22837 LVM signature.
22838
22839 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22840
22841 * loader/mips/linux.c (grub_cmd_initrd)
22842 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22843
22844 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22845
22846 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22847 (grub_video_video_init, grub_video_bitmap_init)
22848 (grub_font_manager_init, grub_term_gfxterm_init)
22849 (grub_at_keyboard_init): New extern declarations.
22850 (grub_machine_init): Initialize gfxterm and at_keyboard.
22851
22852 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22853
22854 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22855 `gfxterm.mod' into core image.
22856
22857 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22858 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22859 (kernel_img_FORMAT): Copy to ...
22860
22861 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22862 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22863 (kernel_img_FORMAT): ... here, and ...
22864
22865 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22866 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22867 (kernel_img_FORMAT): ... here.
22868
22869 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22870 and input (at_keyboard) terminals in kernel.
22871 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22872
22873 (pkglib_MODULES): Remove `pci.mod'.
22874 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22875 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22876 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22877 (at_keyboard_mod_LDFLAGS): Remove variables.
22878
22879 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22880
22881 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22882
22883 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22884
22885 * include/grub/mips/libgcc.h: Only export symbols for functions
22886 that libgcc provides.
22887
22888 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 MIPS support.
22891
22892 * bus/bonito.c: New file.
22893 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22894 GRUB_PCI_NUM_DEVICES.
22895 * term/i386/pc/serial.c: Move to ...
22896 * term/serial.c: ... here. All users updated.
22897 * util/i386/pc/grub-mkimage.c: Move to ...
22898 * util/grub-mkrawimage.c: ... here. All users updated.
22899 * term/i386/pc/at_keyboard.c: Move to ...
22900 * term/at_keyboard.c: ... here. All users updated.
22901 * conf/mips-qemu-mips.rmk: New file.
22902 * conf/mips-yeeloong.rmk: Likewise.
22903 * conf/mips.rmk: Likewise.
22904 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22905 mipsel-qemu-mips.
22906 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22907 to port addresses.
22908 (grub_ata_pciinit): Support CS5536.
22909 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22910 * font/font_cmd.c (loadfont_command): Open file before passing it to
22911 grub_font_load.
22912 (pseudo_file_read): New function.
22913 (pseudo_file_close): Likewise.
22914 (pseudo_fs): New structure.
22915 (load_font_module): New function.
22916 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22917 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22918 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22919 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22920 * include/grub/i386/at_keyboard.h: Split into ...
22921 * include/grub/at_keyboard.h: ... this ...
22922 * include/grub/i386/at_keyboard.h: ... and this.
22923 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22924 New prototype.
22925 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22926 updated.
22927 (grub_elf64_size): Likewise.
22928 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22929 filename.
22930 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22931 * include/grub/i386/coreboot/serial.h: Rewritten.
22932 * include/grub/i386/ieee1275/serial.h: Include
22933 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22934 * include/grub/i386/pc/serial.h: Moved from here ...
22935 * include/grub/serial.h: ... to here. All users updated.
22936 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22937 (GRUB_PCI_NUM_BUS): Likewise.
22938 (GRUB_PCI_NUM_DEVICES): Likewise.
22939 (grub_pci_device_map_range): Add missing volatile keyword.
22940 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22941 * include/grub/mips/at_keyboard.h: New file.
22942 * include/grub/mips/cache.h: Likewise.
22943 * include/grub/mips/io.h: Likewise.
22944 * include/grub/mips/kernel.h: Likewise.
22945 * include/grub/mips/libgcc.h: Likewise.
22946 * include/grub/mips/pci.h: Likewise.
22947 * include/grub/mips/qemu-mips/boot.h: Likewise.
22948 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22949 * include/grub/mips/qemu-mips/loader.h: Likewise.
22950 * include/grub/mips/qemu-mips/memory.h: Likewise.
22951 * include/grub/mips/qemu-mips/serial.h: Likewise.
22952 * include/grub/mips/qemu-mips/time.h: Likewise.
22953 * include/grub/mips/relocator.h: Likewise.
22954 * include/grub/mips/time.h: Likewise.
22955 * include/grub/mips/types.h: Likewise.
22956 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22957 * include/grub/mips/yeeloong/boot.h: Likewise.
22958 * include/grub/mips/yeeloong/kernel.h: Likewise.
22959 * include/grub/mips/yeeloong/loader.h: Likewise.
22960 * include/grub/mips/yeeloong/memory.h: Likewise.
22961 * include/grub/mips/yeeloong/pci.h: Likewise.
22962 * include/grub/mips/yeeloong/serial.h: Likewise.
22963 * include/grub/mips/yeeloong/time.h: Likewise.
22964 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22965 * kern/elf.c (grub_elf32_size): New parameter. All users
22966 updated.
22967 (grub_elf64_size): Likewise.
22968 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22969 Load modules before saying "Welcome to GRUB!".
22970 Call grub_refresh after saying "Welcome to GRUB!".
22971 * kern/mips/cache.S: New file.
22972 * kern/mips/cache_flush.S: Likewise.
22973 * kern/mips/dl.c: Likewise.
22974 * kern/mips/init.c: Likewise.
22975 * kern/mips/qemu-mips/init.c: Likewise.
22976 * kern/mips/startup.S: Likewise.
22977 * kern/mips/yeeloong/init.c: Likewise.
22978 * kern/term.c (grub_putcode): Handle NULL terminal.
22979 (grub_getcharwidth): Likewise.
22980 (grub_getkey): Likewise.
22981 (grub_checkkey): Likewise.
22982 (grub_getkeystatus): Likewise.
22983 (grub_getxy): Likewise.
22984 (grub_getwh): Likewise.
22985 (grub_gotoxy): Likewise.
22986 (grub_cls): Likewise.
22987 (grub_setcolorstate): Likewise.
22988 (grub_setcolor): Likewise.
22989 (grub_getcolor): Likewise.
22990 (grub_refresh): Likewise.
22991 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22992 (write_jump): Add hatch nop.
22993 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22994 * lib/mips/setjmp.S: New file.
22995 * loader/mips/linux.c: Likewise.
22996 * term/i386/pc/at_keyboard.c: Move from here ...
22997 * term/at_keyboard.c: ... to here.
22998 * term/i386/pc/serial.c: Moved from here ...
22999 * term/serial.c: ... to here. All users updated.
23000 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23001 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23002 (serial_translate_key_sequence): Avoid deadlock.
23003 (grub_serial_getkey): Handle backspace.
23004 (grub_serial_putchar): Fix newline handling.
23005 * util/i386/pc/grub-mkimage.c: Move from here ...
23006 * util/grub-mkrawimage.c: ... to here. All users updated.
23007 (generate_image): New parameters 'font_path' and 'format'.
23008 Support embedding font.
23009 Use grub_host_to_target* instead of grub_cpu_to_le*.
23010 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23011 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23012 (options): New option "--font".
23013 (usage): Likewise.
23014 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23015 (main): Handle "--font".
23016 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23017 (grub_virtual_screen_setup): Set bg_color_display.
23018 (redraw_screen_rect): Use bg_color_display instead of incorrect
23019 bg_color.
23020 (grub_gfxterm_cls): Likewise.
23021 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23022 Support embedding config file.
23023 (add_segments): Likewise.
23024 (options): New option "--config".
23025 (main): Handle "--config".
23026 * video/sm712.c: New file.
23027
23028 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23029
23030 Fix parallel builds.
23031
23032 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23033 font.c depend on ascii.h).
23034
23035 2010-01-12 Carles Pina i Estany <carles@pina.cat>
23036
23037 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23038
23039 2010-01-11 Carles Pina i Estany <carles@pina.cat>
23040
23041 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23042 By default: disabled.
23043 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23044 parameter.
23045
23046 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23047
23048 * font/font.c: Update copyright years.
23049 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23050
23051 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23052
23053 * font/font.c: Include `ascii.h'.
23054 (ASCII_BITMAP_SIZE): New macro.
23055 (ascii_font_glyph): Define.
23056 (ascii_glyph_lookup): New function.
23057 (grub_font_get_string_width): Change comment. If glyph not found, use
23058 ascii_glyph_lookup.
23059 (grub_font_get_glyph_with_fallback): If glyph not available returns
23060 ascii_glyph_lookup.
23061 * util/grub-mkfont.c (file_formats): New enum.
23062 (options): Add `ascii-bitmaps' new option.
23063 (usage): Add `asii-bitmaps' new option.
23064 (write_font_ascii_bitmap): New function.
23065 (write_font): Rename to ...
23066 (write_font_p2): ... this. Remove print_glyphs call.
23067 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23068 used. Call print_glyphs.
23069 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23070
23071 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23072
23073 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23074 (grub_bin2h_SOURCES): New variable.
23075 * util/bin2h.c: New file.
23076
23077 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * include/multiboot.h: Resynced with spec.
23080 * include/multiboot2.h: Likewise.
23081 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23082 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23083
23084 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * include/grub/term.h (grub_term_register_input,
23087 grub_term_register_output): Check return of terminal init()
23088 routines, and abort if errors are raised.
23089
23090 * commands/terminal.c: Update copyright year.
23091
23092 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23093
23094 * commands/terminal.c (grub_cmd_terminal_input)
23095 (grub_cmd_terminal_output): Check return of terminal init()
23096 routines, and abort if errors are raised.
23097
23098 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23099
23100 * include/grub/i386/bsd.h: Fix include pathes.
23101
23102 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23103
23104 Add missing *BSD copyright headers.
23105
23106 * include/grub/aout.h: Add BSD licence.
23107 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23108 * include/grub/i386/freebsd_linker.h: ... here,
23109 * include/grub/i386/freebsd_reboot.h: ... here,
23110 * include/grub/i386/netbsd_bootinfo.h: ... here,
23111 * include/grub/i386/netbsd_reboot.h: ... here,
23112 * include/grub/i386/openbsd_bootarg.h: ... here,
23113 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23114 licence to each file.
23115
23116 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23117
23118 * acinclude.m4: Remove `nop' assembly instruction; it's not
23119 implemented by all architectures.
23120
23121 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23122
23123 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23124 ELILO. This is no longer necessary.
23125
23126 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23127
23128 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23129
23130 * util/grub-script-check.c: grub-script-check tool.
23131 * conf/common.rmk: Make rules for grub-script-check.
23132
23133 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23134
23135 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23136 spotting it back in 2008. Shame on me for forgetting he did.
23137
23138 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23139
23140 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23141
23142 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23143 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23144 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23145 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23146 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23147 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23148
23149 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23150
23151 * include/grub/test.h: Add license header.
23152 * tests/example_functional_test.c: Likewise.
23153 * tests/example_unit_test.c: Likewise.
23154 * tests/lib/functional_test.c: Likewise.
23155 * tests/lib/test.c: Likewise.
23156 * tests/lib/unit_test.c: Likewise.
23157
23158 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Use flag-based instead of hook-based video mode selection and "auto"
23161 keyword.
23162
23163 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23164 (grub_video_set_mode): Changed prototype. All users updated.
23165 (grub_video_check_mode_flag): New inline function.
23166 * video/video.c (parse_modespec): New function.
23167 (grub_video_set_mode): Parse flags and keywords.
23168
23169 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23170
23171 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23172 fprintf call.
23173
23174 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23175
23176 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23177
23178 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23179
23180 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23181 string.
23182 * util/grub-emu.c (usage): Likewise.
23183 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23184 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23185 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23186 * util/i386/pc/grub-setup.c (usage): Likewise.
23187
23188 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23189
23190 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23191 the message.
23192 (grub_util_info): Likewise.
23193 (grub_util_error): Likewise.
23194 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23195 and/or new lines in `grub_util_warna', `grub_util_info',
23196 `grub_util_error' calls.
23197 * util/getroot.c: Likewise.
23198 * util/grub-editenv.c: Likewise.
23199 * util/grub-emu.c: Likewise.
23200 * util/grub-fstest.c: Likewise.
23201 * util/grub-mkdevicemap.c: Likewise.
23202 * util/grub-mkfont.c: Likewise.
23203 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23204 * util/grub-mkrelpath.c: Likewise.
23205 * util/grub-pe2elf.c: Likewise.
23206 * util/grub-probe.c: Likewise.
23207 * util/hostdisk.c: Likewise.
23208 * util/i386/efi/grub-mkimage.c: Likewise.
23209 * util/i386/pc/grub-mkimage.c: Likewise.
23210 * util/i386/pc/grub-setup.c: Likewise.
23211 * util/ieee1275/ofpath.c: Likewise.
23212 * util/mkisofs/eltorito.c: Likewise.
23213 * util/mkisofs/rock.c: Likewise.
23214 * util/mkisofs/write.c: Likewise.
23215 * util/raid.c: Likewise.
23216 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23217 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23218
23219 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23220
23221 Enable multiboot on non-pc.
23222
23223 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23224 multiboot.mod and multiboot2.mod to ...
23225 * conf/i386.rmk (pkglib_MODULES): ... here.
23226 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23227 Moved to ...
23228 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23229 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23230 Moved to ...
23231 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23232 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23233 Moved to ...
23234 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23235 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23236 Moved to ...
23237 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23238 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23239 relocator.mod.
23240 (ata_mod_SOURCES): Removed.
23241 (ata_mod_CFLAGS): Likewise.
23242 (ata_mod_LDFLAGS): Likewise.
23243 (relocator_mod_SOURCES): Removed.
23244 (relocator_mod_CFLAGS): Likewise.
23245 (relocator_mod_ASFLAGS): Likewise.
23246 (relocator_mod_LDFLAGS): Likewise.
23247 Include i386.mk.
23248 * include/grub/x86_64/multiboot.h: New file.
23249 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23250 Terminate EFI.
23251
23252 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23253
23254 Video multiboot support.
23255
23256 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23257 New prototype.
23258 * include/multiboot.h: Resynced with multiboot specification.
23259 * include/multiboot2.h: Likewise.
23260 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23261 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23262 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23263 (HAS_VGA_TEXT): Likewise.
23264 (accepts_video): New variable.
23265 (grub_multiboot_set_accepts_video): New function.
23266 (grub_multiboot_get_mbi_size): Account for video structures.
23267 (set_video_mode): New function.
23268 (retrieve_video_parameters): Likewise.
23269 (grub_multiboot_make_mbi): Fill video fields.
23270
23271 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23272
23273 Video driver ids.
23274
23275 * include/grub/video.h (grub_video_driver_id): New type.
23276 (grub_video_adapter): New member 'id'. All users updated.
23277 (grub_video_get_driver_id): New proto.
23278 * video/video.c (grub_video_get_driver_id): New function.
23279
23280 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23281
23282 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23283 `var=val'.
23284
23285 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23286
23287 * normal/cmdline.c (print_completion): Gettextizze.
23288
23289 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23290
23291 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23292
23293 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23294
23295 * gettext/gettext.c (grub_gettext_translate): Push and pop
23296 grub_errno.
23297 (grub_gettext_delete_list): Change comment style.
23298 * kern/err.c (grub_error): Gettextizze.
23299 (grub_fatal): Gettextizze.
23300
23301 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23302
23303 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23304 (grub_linux16_real_boot): ... this.
23305 * kern/i386/loader.S: Likewise.
23306 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23307 (grub_linux16_boot): New function. Switches to text mode and calls
23308 grub_linux16_real_boot().
23309
23310 * loader/i386/bsd.c: Include `<grub/video.h>'.
23311 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23312 text mode before calling grub_unix_real_boot().
23313
23314 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23315 (grub_multiboot_boot): Switch to text mode before calling
23316 grub_relocator32_boot().
23317
23318 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23319 (grub_chainloader_boot): Switch to text mode before calling
23320 grub_chainloader_real_boot().
23321
23322 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23323 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23324
23325 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23326 non-empty value.
23327
23328 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23329 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23330
23331 * util/grub.d/00_header.in: Define a "savedefault" function for use
23332 in menu entries.
23333 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23334
23335 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23336 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23337
23338 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23339 saved_entry if boot_once is unset.
23340 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23341 previous saved entry (i.e. grub-reboot).
23342
23343 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23344
23345 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23346
23347 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23348
23349 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23350 `var=val'.
23351 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23352
23353 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23354
23355 * util/grub-reboot.in: Fix --version output.
23356 * util/grub-set-default.in: Likewise.
23357
23358 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23359
23360 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23361 blocks.
23362
23363 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23364
23365 * util/grub.d/00_header.in: Quote the value assigned to `default',
23366 in case it contains spaces.
23367
23368 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23369
23370 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23371 `save_default_entry' call from the macosx case to the linux case.
23372
23373 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23374 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23375
23376 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23377 in `chosen' environment variable.
23378 * normal/menu_text.c (get_entry_number): Check if the variable
23379 matches the title of a menu entry.
23380 (run_menu): Pass menu to get_entry_number.
23381
23382 * util/grub-reboot.in: New file.
23383 * util/grub-set-default.in: New file.
23384 * conf/common.rmk (grub-reboot): New utility.
23385 (grub-set-default): New utility.
23386
23387 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23388 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23389 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23390 move it to `saved_entry' for the next boot. Load environment on
23391 initialisation.
23392 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23393 * util/grub.d/10_hurd.in: Likewise.
23394 * util/grub.d/10_linux.in (linux_entry): Likewise.
23395 * util/grub.d/10_windows.in: Likewise.
23396 * util/grub.d/30_os-prober.in: Likewise.
23397
23398 * util/grub-install.in: Create environment block.
23399 * util/i386/efi/grub-install.in: Likewise.
23400 * util/ieee1275/grub-install.in: Likewise.
23401 * util/sparc64/ieee1275/grub-install.in: Likewise.
23402
23403 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23404
23405 Unit testing framework for GRUB.
23406
23407 * Makefile.in: Test framework build rules for 'make check'.
23408 * conf/tests.rmk: Build rules for individual tests and framework.
23409
23410 * include/grub/test.h: Header file for whitebox tests.
23411 * tests/lib/functional_test.c: Framework support for whitebox
23412 functional tests.
23413 * tests/lib/test.c: Common whitebox testing code for unit and
23414 functional tests.
23415 * tests/lib/unit_test.c: Framework support for whitebox unit
23416 tests.
23417
23418 * tests/util/grub-shell-tester.in: Support utility for grub-script
23419 tests.
23420 * tests/util/grub-shell.in: Utility to execute grub-script
23421 commands in a Qemu instance.
23422
23423 * tests/example_functional_test.c: Example whitebox functional
23424 test.
23425 * tests/example_grub_script_test.in: Example grub-script test.
23426 * tests/example_scripted_test.in: Example scripted test.
23427 * tests/example_unit_test.c: Example whitebox unit test.
23428
23429 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23430
23431 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23432 Add loader/i386/multiboot_mbi.c.
23433 (multiboot2_mod_SOURCES): Likewise.
23434 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23435 (multiboot2_mod_SOURCES): Likewise.
23436 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23437 (grub_multiboot_make_mbi): Likewise.
23438 (grub_multiboot_free_mbi): Likewise.
23439 (grub_multiboot_init_mbi): Likewise.
23440 (grub_multiboot_add_module): Likewise.
23441 (grub_multiboot_set_bootdev): Likewise.
23442 * loader/i386/multiboot.c (mbi): Removed.
23443 (mbi_dest): Likewise.
23444 (alloc_mbi): New variable.
23445 (grub_multiboot_payload_size): Removed. All users updated.
23446 (grub_multiboot_pure_size): New variable.
23447 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23448 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23449 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23450 (grub_fill_multiboot_mmap): Likewise.
23451 (grub_multiboot_get_bootdev): Likewise.
23452 (grub_multiboot): Use multiboot_mbi functions.
23453 * loader/i386/multiboot_mbi.c: New file.
23454
23455 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23458 it would result in module crash.
23459
23460 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23461
23462 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23463 (grub_ofconsole_getwh): Split to ...
23464 (grub_ofconsole_getwh): ... this.
23465 (grub_ofconsole_dimensions): ...and this.
23466 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23467
23468 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23469
23470 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23471
23472 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23473
23474 * loader/i386/pc/multiboot2.c: Removed stalled file.
23475
23476 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23477
23478 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23479 Reported by: Grégoire Sutre
23480
23481 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23482
23483 * util/misc.c (canonicalize_file_name): New function.
23484 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23485 instead of realpath().
23486
23487 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23488
23489 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23490 and make it clearer that it's optional. Based on confusion
23491 witnessed on IRC.
23492
23493 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23496 in premature implicit newline.
23497
23498 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23499
23500 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23501 which resulted in garbled command line at the end of screen.
23502
23503 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23506 initialization with similar approach as with other Linux loaders.
23507
23508 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23509
23510 Fix i386-ieee1275 build.
23511
23512 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23513 and grub_term_height() for video_{width,height} initialization.
23514
23515 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23516
23517 Fix grub-emu build.
23518
23519 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23520
23521 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23522 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23523
23524 Support for multiple terminals.
23525
23526 * Makefile.in (pkglib_DATA): terminal.lst.
23527 (terminal.lst): New target.
23528 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23529 (GRUB_MOD_INIT(handler)): Likewise.
23530 (GRUB_MOD_FINI(handler)): Likewise.
23531 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23532 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23533 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23534 (grub_cmd_sleep): Use grub_term_save_pos.
23535 * commands/terminal.c: New file.
23536 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23537 commands/terminal.c and lib/charset.c.
23538 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23539 (pkglib_MODULES): Add terminal.mod.
23540 (terminal_mod_SOURCES): New variable.
23541 (terminal_mod_CFLAGS): Likewise.
23542 (terminal_mod_LDFLAGS): Likewise.
23543 * genhandlerlist.sh: Don't handle terminals.
23544 * genmk.rb: Generate terminal-*.lst.
23545 * genterminallist.sh: New file.
23546 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23547 (grub_is_valid_utf8): Likewise.
23548 (grub_utf8_to_ucs4_alloc): Likewise.
23549 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23550 (grub_menu_register_viewer): Changed argument.
23551 (grub_menu_try_text): New proto.
23552 (grub_gfxmenu_try_hook): New declaration.
23553 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23554 (grub_menu_init_page): Additional argument term.
23555 (grub_normal_init_page): Likewise.
23556 (grub_cmdline_get): Arguments simplified.
23557 (grub_utf8_to_ucs4_alloc): Removed.
23558 (grub_print_ucs4): Additional argument term.
23559 (grub_getstringwidth): Likewise.
23560 (grub_print_message_indented): Likewise.
23561 (grub_menu_text_register_instances): New proto.
23562 (grub_show_menu): Likewise.
23563 (read_terminal_list): Likewise.
23564 (grub_set_more): Likewise.
23565 * include/grub/parser.h: Include handler.h.
23566 * include/grub/reader.h: Rewritten.
23567 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23568 (GRUB_TERM_WIDTH): Changed to function.
23569 (GRUB_TERM_HEIGHT): Likewise.
23570 (GRUB_TERM_BORDER_WIDTH): Likewise.
23571 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23572 (GRUB_TERM_NUM_ENTRIES): Likewise.
23573 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23574 (GRUB_TERM_CURSOR_X): Likewise.
23575 (grub_term_input_class): Likewise.
23576 (grub_term_output_class): Likewise.
23577 (grub_term_outputs_disabled): New declaration.
23578 (grub_term_inputs_disabled): Likewise.
23579 (grub_term_outputs): Likewise.
23580 (grub_term_inputs): Likewise.
23581 (grub_term_register_input): Rewritten.
23582 (grub_term_register_output): Likewise.
23583 (grub_term_unregister_input): Likewise.
23584 (grub_term_unregister_output): Likewise.
23585 (FOR_ACTIVE_TERM_INPUTS): New macro.
23586 (FOR_DISABLED_TERM_INPUTS): Likewise.
23587 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23588 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23589 * include/grub/terminfo.h: Add oterm argument to all protypes.
23590 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23591 Use grub_rescue_run.
23592 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23593 All users updated.
23594 * kern/reader.c: Removed. All users updated.
23595 * kern/rescue_reader.c (grub_rescue_init): Removed.
23596 (grub_rescue_reader): Likewise.
23597 (grub_register_rescue_reader): Likewise.
23598 (grub_rescue_run): New function based on kern/reader.c.
23599 * kern/term.c: Adapted for multiterm.
23600 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23601 (grub_is_valid_utf8): Likewise.
23602 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23603 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23604 right terminal.
23605 * loader/i386/linux.c (grub_linux_boot): Likewise.
23606 * normal/auth.c (grub_username_get): New function.
23607 (grub_auth_check_authentication): Use grub_username_get.
23608 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23609 * normal/color.c: Adapt for multiterm.
23610 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23611 (grub_normal_init_page): Additional argument term.
23612 (read_lists): Call read_terminal_lists.
23613 (grub_enter_normal_mode): Call grub_cmdline_run.
23614 Handle grub_normal_exit_level.
23615 (grub_cmd_normal): Make reentrant.
23616 (grub_cmd_normal_exit): New function.
23617 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23618 * normal/menu.c: Adapt for multiterm.
23619 * normal/menu_entry.c: Likewise.
23620 * normal/menu_text.c: Likewise.
23621 * normal/menu_viewer.c: Removed. All users updated.
23622 * normal/term.c: New file.
23623 * util/console.c: Change order of includes to workaround a bug in
23624 ncurses headers.
23625 * term/terminfo.c: New argument oterm on all exported functions.
23626 All users updated.
23627 * util/grub-editenv.c (grub_term_input_class): Removed.
23628 (grub_term_output_class): Likewise.
23629
23630 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23631
23632 Make loader output a bit more user-friendly.
23633
23634 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23635 is being loaded. Likewise for the Hurd.
23636
23637 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23638 that kernel of FreeBSD ${version} is being loaded.
23639
23640 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23641 grub_dprintf().
23642 (grub_cmd_initrd): Likewise.
23643 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23644 that Linux ${version} is being loaded. Likewise for initrd.
23645
23646 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23647
23648 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23649
23650 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23651
23652 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23653 (GRUB_MOD_INIT): Gettextizze.
23654 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23655 (GRUB_MOD_INIT): Gettextizze.
23656 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23657 (grub_cmd_linux): Capitalise Linux.
23658 (GRUB_MOD_INIT): Gettextizze.
23659 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23660 (grub_cmd_linux): Capitalise Linux.
23661 (GRUB_MOD_INIT): Gettextizze.
23662 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23663 (grub_cmd_linux): Capitalise Linux.
23664 (GRUB_MOD_INIT): Gettextizze.
23665 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23666 (GRUB_MOD_INIT): Gettextizze.
23667 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23668 (grub_cmd_linux): Capitalise Linux.
23669 (GRUB_MOD_INIT): Gettextizze.
23670 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23671 (grub_cpu_xnu_init): Gettextizze.
23672 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23673 (GRUB_MOD_INIT): Gettextizze.
23674 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23675 (GRUB_MOD_INIT): Gettextizze.
23676 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23677 (grub_linux_load64): Capitalise Linux.
23678 (GRUB_MOD_INIT): Gettextizze.
23679 * loader/xnu.c: Include `<grub/i18n.h>'.
23680 (GRUB_MOD_INIT): Gettextizze.
23681 * po/POTFILES: Add `loader/efi/appleloader.c',
23682 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23683 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23684 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23685 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23686 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23687 and `loader/xnu.c'.
23688
23689 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23690
23691 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23692
23693 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23694
23695 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23696 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23697 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23698
23699 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23700
23701 Reset Multiboot 2 support. New loader implements the draft in
23702 /branches/multiboot2 and shares as much code as possible with the
23703 production Multiboot 1 implementation.
23704
23705 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23706 * loader/multiboot2.c: Likewise.
23707 * loader/i386/multiboot_helper.S: Likewise.
23708 * include/multiboot2.h: Replace with latest version from the draft
23709 in /branches/multiboot2.
23710
23711 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23712 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23713 and `loader/multiboot2.c'.
23714 (pkglib_MODULES): Add `multiboot2.mod'.
23715 (multiboot2_mod_SOURCES): New variable.
23716 (multiboot2_mod_LDFLAGS): Likewise.
23717 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23718
23719 * conf/i386-pc.rmk: Likewise.
23720
23721 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23722 (multiboot_mod_SOURCES): Remove variable.
23723 (multiboot_mod_LDFLAGS): Likewise.
23724 (multiboot_mod_CFLAGS): Likewise.
23725
23726 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23727 `<multiboot2.h>' instead of `<multiboot.h>'.
23728 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23729 (MULTIBOOT_HEADER_MAGIC): New macros.
23730
23731 * loader/multiboot_loader.c (module_version_status): Remove variable.
23732 (find_multi_boot2_header): Remove function.
23733 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23734 logic. Always check for the Multiboot version we're compiling for.
23735 (grub_cmd_module_loader): Likewise.
23736 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23737 command instead of `multiboot'.
23738
23739 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23742 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23743 all users.
23744
23745 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23746 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 Fix breakage introduced with previous commit.
23749
23750 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23751 commands.
23752 * normal/handler.c (read_handler_list): Revert part of previous commit
23753 affecting this file.
23754 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23755 (grub_normal_execute): ... here.
23756
23757 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23758
23759 Merge prefix-redefinition-fix branch.
23760
23761 * normal/autofs.c (read_fs_list): Make function capable of being
23762 run multiple times, gracefuly replacing the previous data
23763 structures.
23764 * normal/dyncmd.c (read_command_list): Likewise.
23765 * normal/handler.c (read_handler_list): Likewise.
23766 * normal/main.c (read_lists): New function. Calls all the
23767 list reading functions.
23768 (grub_normal_execute): Use read_lists() instead of calling all
23769 list reading functions explicitly. Register read_lists() as a
23770 variable hook attached to ${prefix}.
23771
23772 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 Merge crypto branch.
23775
23776 * Makefile.in (pkglib_DATA): Add crypto.lst.
23777 (crypto.lst): New target.
23778 * commands/hashsum.c: New file.
23779 * commands/password.c (check_password): Use grub_crypto_memcmp.
23780 * commands/password_pbkdf2.c: New file.
23781 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23782 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23783 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23784 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23785 -I$(srcdir)/lib/libgcrypt_wrap.
23786 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23787 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23788 password_pbkdf2.mod.
23789 (crypto_mod_SOURCES): New variable.
23790 (crypto_mod_CFLAGS): Likewise.
23791 (crypto_mod_LDFLAGS): Likewise.
23792 (hashsum_mod_SOURCES): New variable.
23793 (hashsum_mod_CFLAGS): Likewise.
23794 (hashsum_mod_LDFLAGS): Likewise.
23795 (pbkdf2_mod_SOURCES): New variable.
23796 (pbkdf2_mod_CFLAGS): Likewise.
23797 (pbkdf2_mod_LDFLAGS): Likewise.
23798 (password_pbkdf2_mod_SOURCES): New variable.
23799 (password_pbkdf2_mod_CFLAGS): Likewise.
23800 (password_pbkdf2_mod_LDFLAGS): Likewise.
23801 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23802 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23803 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23804 Include conf/gcry.rmk.
23805 * include/grub/auth.h: Rewritten.
23806 * include/grub/crypto.h: New file.
23807 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23808 * include/grub/normal.h (read_crypto_list): New prototype.
23809 * lib/crypto.c: New file.
23810 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23811 * lib/pbkdf2.c: Likewise.
23812 * normal/auth.c (grub_auth_strcmp): Removed.
23813 (grub_iswordseparator): Likewise.
23814 (grub_auth_strword): Likewise.
23815 (is_authenticated): Use grub_strword.
23816 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23817 and grub_strword. Pass entered password to authentication callback.
23818 * normal/crypto.c: New file.
23819 * normal/main.c: Call read_crypto_list.
23820 * util/grub-mkpasswd-pbkdf2.c: New file.
23821 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23822
23823 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23824
23825 Fix descent and ascent calculation.
23826
23827 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23828 (options): New option "asce".
23829 (usage): Likewise.
23830 (add_char): Ignore invalid glyphs for descent calculation.
23831 Calculate ascent from actual content.
23832 (print_glyphs): Use 'asce'.
23833 (write_font): Likewise. Allow ascent override.
23834 (main): Handle "asce" option.
23835
23836 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23837
23838 * kern/err.c: Include `<grub/i18n.h>'.
23839 (grub_print_error): Add full stop. Gettextizze.
23840 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23841 (grub_bsd_load_elf): Capitalise ELF.
23842 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23843 (grub_cmd_freebsd_module): Likewise.
23844 (grub_cmd_freebsd_module_elf): Likewise.
23845 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23846
23847 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23848
23849 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23850 * commands/search_file.c (HELP_MESSAGE): New macro.
23851 * commands/search_label.c (HELP_MESSAGE): Likewise.
23852 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23853 * po/POTFILES: Add `commands/search_file.c',
23854 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23855 `commands/search.c'.
23856
23857 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23858
23859 * config.rpath: Update from Gnulib.
23860
23861 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23862
23863 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23864
23865 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23866
23867 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23868
23869 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23870
23871 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23872 arguments to fread so that we get a return value in bytes, rather
23873 than something that will normally be rounded down to 0.
23874 Adjust error handling to avoid producing garbage when size_t is not
23875 the same size as long long.
23876
23877 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23878
23879 * util/mkisofs/write.c (padblock_write): Check return value of
23880 fread.
23881
23882 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23883
23884 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23885 floppy images now.
23886
23887 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23888
23889 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23890
23891 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23892 instead of manual alignment.
23893 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23894 verbose). Avoid attempts to read past end of the device
23895 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23896 but GRUB_DISK_CACHE_SIZE may exceed that).
23897
23898 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23899
23900 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23901 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23902 it to upper layer.
23903
23904 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23905
23906 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23907 New constant.
23908 (grub_efi_piwg_device_path): New structure
23909 (grub_efi_piwg_device_path_t): New type.
23910 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23911 (devpath_1): Transform to a structure. All users updated.
23912 (devpath_2): Likewise.
23913 (devpath_3): Likewise.
23914 (devpath_4): Likewise.
23915 (devpath_5): Likewise.
23916
23917 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23918
23919 * loader/efi/appleloader.c: Restored. Update all users.
23920
23921 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23922
23923 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23924
23925 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23926 (struct boot_blocklist): Move from here ...
23927 * include/grub/i386/pc/boot.h [ASM_FILE]
23928 (struct grub_boot_blocklist): ... to here. Update all users.
23929 (setup): Only initialize `start' member of `first_block'
23930 structure. Add assert() calls to verify the other members.
23931
23932 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23933 (generate_image): Fix broken blocklist length initialization.
23934 Add assert() call to verify blocklist `segment' field.
23935
23936 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 * loader/efi/appleloader.c: Remove. Update all users.
23939
23940 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23941
23942 * boot/i386/pc/boot.S: Update copyright year.
23943 * boot/i386/pc/cdboot.S: Likewise.
23944 * boot/i386/pc/diskboot.S: Likewise.
23945 * boot/i386/pc/lnxboot.S: Likewise.
23946 * boot/i386/pc/pxeboot.S: Likewise.
23947 * bus/pci.c: Likewise.
23948 * commands/cmp.c: Likewise.
23949 * commands/help.c: Likewise.
23950 * commands/hexdump.c: Likewise.
23951 * commands/i386/pc/halt.c: Likewise.
23952 * commands/i386/pc/play.c: Likewise.
23953 * commands/i386/pc/vbeinfo.c: Likewise.
23954 * commands/ls.c: Likewise.
23955 * commands/test.c: Likewise.
23956 * disk/dmraid_nvidia.c: Likewise.
23957 * disk/i386/pc/biosdisk.c: Likewise.
23958 * disk/ieee1275/nand.c: Likewise.
23959 * disk/ieee1275/ofdisk.c: Likewise.
23960 * disk/lvm.c: Likewise.
23961 * disk/raid.c: Likewise.
23962 * disk/raid6_recover.c: Likewise.
23963 * disk/scsi.c: Likewise.
23964 * fs/affs.c: Likewise.
23965 * fs/cpio.c: Likewise.
23966 * fs/ext2.c: Likewise.
23967 * fs/hfs.c: Likewise.
23968 * fs/iso9660.c: Likewise.
23969 * fs/ntfs.c: Likewise.
23970 * fs/sfs.c: Likewise.
23971 * fs/udf.c: Likewise.
23972 * fs/ufs.c: Likewise.
23973 * fs/xfs.c: Likewise.
23974 * gencmdlist.sh: Likewise.
23975 * genmk.rb: Likewise.
23976 * include/grub/disk.h: Likewise.
23977 * include/grub/efi/api.h: Likewise.
23978 * include/grub/efi/efi.h: Likewise.
23979 * include/grub/efi/pe32.h: Likewise.
23980 * include/grub/elf.h: Likewise.
23981 * include/grub/fs.h: Likewise.
23982 * include/grub/i386/at_keyboard.h: Likewise.
23983 * include/grub/i386/pc/memory.h: Likewise.
23984 * include/grub/i386/pc/vbe.h: Likewise.
23985 * include/grub/i386/pci.h: Likewise.
23986 * include/grub/i386/tsc.h: Likewise.
23987 * include/grub/ieee1275/ieee1275.h: Likewise.
23988 * include/grub/ntfs.h: Likewise.
23989 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23990 * include/grub/sparc64/libgcc.h: Likewise.
23991 * include/grub/symbol.h: Likewise.
23992 * include/grub/types.h: Likewise.
23993 * include/multiboot2.h: Likewise.
23994 * io/gzio.c: Likewise.
23995 * kern/device.c: Likewise.
23996 * kern/disk.c: Likewise.
23997 * kern/efi/efi.c: Likewise.
23998 * kern/efi/mm.c: Likewise.
23999 * kern/elf.c: Likewise.
24000 * kern/file.c: Likewise.
24001 * kern/i386/dl.c: Likewise.
24002 * kern/i386/pc/init.c: Likewise.
24003 * kern/i386/pc/startup.S: Likewise.
24004 * kern/ieee1275/ieee1275.c: Likewise.
24005 * kern/ieee1275/init.c: Likewise.
24006 * kern/main.c: Likewise.
24007 * kern/mm.c: Likewise.
24008 * kern/powerpc/dl.c: Likewise.
24009 * kern/sparc64/dl.c: Likewise.
24010 * kern/x86_64/dl.c: Likewise.
24011 * lib/hexdump.c: Likewise.
24012 * loader/efi/appleloader.c: Likewise.
24013 * loader/i386/ieee1275/linux.c: Likewise.
24014 * loader/i386/pc/chainloader.c: Likewise.
24015 * loader/i386/pc/linux.c: Likewise.
24016 * loader/i386/pc/multiboot2.c: Likewise.
24017 * loader/ieee1275/multiboot2.c: Likewise.
24018 * loader/multiboot2.c: Likewise.
24019 * loader/multiboot_loader.c: Likewise.
24020 * loader/powerpc/ieee1275/linux.c: Likewise.
24021 * normal/completion.c: Likewise.
24022 * normal/menu_entry.c: Likewise.
24023 * partmap/apple.c: Likewise.
24024 * util/grub.d/10_hurd.in: Likewise.
24025 * util/hostfs.c: Likewise.
24026 * video/readers/png.c: Likewise.
24027
24028 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
24029
24030 * include/grub/misc.h (GNUC_PREREQ): New macro.
24031 (ATTRIBUTE_ERROR): New macro.
24032 * include/grub/list.h (grub_bad_type_cast_real): Use
24033 ATTRIBUTE_ERROR.
24034
24035 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24036
24037 * normal/menu_text.c (print_message): Change messages.
24038
24039 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24040
24041 * normal/menu_entry.c (store_completion): Gettextizze.
24042
24043 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24044
24045 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24046
24047 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24048
24049 * po/POTFILES: Sort correctly.
24050
24051 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24052
24053 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24054 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24055 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24056 full stop.
24057 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24058 summary. Gettextizze the strings.
24059 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24060 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24061 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24062 full stop.
24063 (GRUB_MOD_INIT): Remove command name from summary.
24064 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24065 summary.
24066 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24067 * term/i386/pc/serial.c (options): Add full stops.
24068 (GRUB_MOD_INIT): Remove command name from the summary.
24069
24070 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24071
24072 * commands/acpi.c: Gettextizze help strings and/or options. Include
24073 `grub/i18n.h' if needed.
24074 * commands/blocklist.c: Likewise.
24075 * commands/boot.c: Likewise.
24076 * commands/cat.c: Likewise.
24077 * commands/cmp.c: Likewise.
24078 * commands/configfile.c: Likewise.
24079 * commands/crc.c: Likewise.
24080 * commands/date.c: Likewise.
24081 * commands/echo.c: Likewise.
24082 * commands/efi/fixvideo.c: Likewise.
24083 * commands/efi/loadbios.c: Likewise.
24084 * commands/gptsync.c: Likewise.
24085 * commands/halt.c: Likewise.
24086 * commands/handler.c: Likewise.
24087 * commands/hdparm.c: Likewise.
24088 * commands/hexdump.c: Likewise.
24089 * commands/i386/cpuid.c: Likewise.
24090 * commands/i386/pc/drivemap.c: Likewise.
24091 * commands/i386/pc/halt.c: Likewise.
24092 * commands/i386/pc/pxecmd.c: Likewise.
24093 * commands/i386/pc/vbeinfo.c: Likewise.
24094 * commands/i386/pc/vbetest.c: Likewise.
24095 * commands/ieee1275/suspend.c: Likewise.
24096 * commands/keystatus.c: Likewise.
24097 * commands/loadenv.c: Likewise.
24098 * commands/ls.c: Likewise.
24099 * commands/lsmmap.c: Likewise.
24100 * commands/lspci.c: Likewise.
24101 * commands/memrw.c: Likewise.
24102 * commands/minicmd.c: Likewise.
24103 * commands/parttool.c: Likewise.
24104 * commands/password.c: Likewise.
24105 * commands/probe.c: Likewise.
24106 * commands/read.c: Likewise.
24107 * commands/reboot.c: Likewise.
24108 * commands/search.c: Likewise.
24109 * commands/sleep.c: Likewise.
24110 * commands/test.c: Likewise.
24111 * commands/true.c: Likewise.
24112 * commands/usbtest.c: Likewise.
24113 * commands/videotest.c: Likewise.
24114 * commands/xnu_uuid.c: Likewise.
24115 * disk/loopback.c: Likewise.
24116 * hello/hello.c: Likewise.
24117 * loader/i386/bsd.c: Likewise.
24118 * term/i386/pc/serial.c: Likewise.
24119 * po/POTFILES: Add new files.
24120
24121 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24122
24123 * term/i386/pc/at_keyboard.c
24124 (keyboard_controller_wait_untill_ready): Rename to ...
24125 (keyboard_controller_wait_until_ready): ... this. Update all users.
24126
24127 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24128
24129 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24130 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24131 string using string width.
24132 * normal/menu_text.c (grub_print_message_indented): Use
24133 grub_print_spaces and not print_spaces.
24134 (print_timeout): Likewise.
24135 (print_spaces): Move to...
24136 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24137
24138 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24139
24140 Import from Gnulib.
24141
24142 * gnulib/getdelim.c: New file.
24143 * gnulib/getline.c: Likewise.
24144
24145 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24146
24147 * include/grub/list.h (grub_assert_fail): Removed.
24148 (grub_bad_type_cast_real): New function.
24149 (grub_bad_type_cast): New macro.
24150 (GRUB_AS_LIST): Use grub_bad_type_cast.
24151 (GRUB_AS_LIST_P): Likewise.
24152 (GRUB_AS_NAMED_LIST): Likewise.
24153 (GRUB_AS_NAMED_LIST_P): Likewise.
24154 (GRUB_AS_PRIO_LIST): Likewise.
24155 (GRUB_AS_PRIO_LIST_P): Likewise.
24156 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24157
24158 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24159
24160 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24161 Fix syntax error.
24162
24163 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24164
24165 * configure.ac: Check for TARGET_CFLAGS initialization before we
24166 initialize it ourselves (sigh).
24167 Move a few modifications to TARGET_CFLAGS to be unconditional
24168 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24169 eh_frame)
24170
24171 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24172 * term/i386/pc/at_keyboard.c
24173 (keyboard_controller_wait_untill_ready): Likewise.
24174 (keyboard_controller_led): Rename `led_status' paramter to avoid
24175 name conflict.
24176
24177 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24178
24179 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24180 quotes.
24181
24182 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24183
24184 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24185
24186 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * normal/menu_text.c (grub_print_message_indented): Prevent
24189 past-the-end-of-array dereference.
24190
24191 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24194 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24195
24196 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24197
24198 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24199 * normal/main.c (grub_normal_read_line): Remove a space from the
24200 default prompt.
24201
24202 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24203
24204 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24205 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24206 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24207 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24208 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24209 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24210 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24211
24212 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24213
24214 * video/readers/jpeg.c (cmd): Declare.
24215 (grub_cmd_jpegtest): Use `grub_command_t' type.
24216 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24217 Assign to `cmd'.
24218 (GRUB_MOD_FINI): Use `cmd' to unregister.
24219 * video/readers/png.c (cmd): Declare.
24220 (grub_cmd_pngtest): Use `grub_command_t' type.
24221 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24222 Assign to `cmd'.
24223 (GRUB_MOD_FINI): Use `cmd' to unregister.
24224 * video/readers/tga.c (cmd): Declare.
24225 (grub_cmd_tgatest): Use `grub_command_t' type.
24226 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24227 Assign to `cmd'.
24228 (GRUB_MOD_FINI): Use `cmd' to unregister.
24229
24230 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24231
24232 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24233 stops.
24234 * kern/corecmd.c (grub_register_core_commands): Likewise.
24235 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24236 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24237 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24238 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24239 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24240 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24241 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24242 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24243 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24244 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24245 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24246 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24247 * normal/handler.c (insert_handler): Likewise.
24248 * normal/main.c (GRUB_MOD_INIT): Likewise.
24249 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24250
24251 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24252
24253 * commands/help.c (grub_cmd_help): Print the command name before the
24254 summary.
24255 (GRUB_MOD_INIT): Remove command name from the summary.
24256 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24257 string as summary.
24258 * lib/arg.c (find_long): Print the command name before the summary.
24259 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24260 summary.
24261 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24262 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24263 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24264 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24265 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24266 * commands/date.c (GRUB_MOD_INIT): Likewise.
24267 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24268 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24269 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24270 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24271 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24272 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24273 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24274 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24275 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24276 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24277 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24278 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24279 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24280 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24281 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24282 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24283 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24284 * commands/password.c (GRUB_MOD_INIT): Likewise.
24285 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24286 * commands/read.c (GRUB_MOD_INIT): Likewise.
24287 * commands/search.c (GRUB_MOD_INIT): Likewise.
24288 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24289 * commands/test.c (GRUB_MOD_INIT): Likewise.
24290 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24291 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24292 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24293 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24294 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24295 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24296 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24297 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24298 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24299 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24300 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24301 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24302 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24303 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24304
24305 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24306
24307 Use search command for preliminar UUID search.
24308
24309 * commands/search.c: Split into ...
24310 * commands/search_wrap.c: ...this
24311 * commands/search.c: ...and this.
24312 * commands/search_file.c: New file.
24313 * commands/search_label.c: New file.
24314 * commands/search_uuid.c: New file.
24315 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24316 Add commands/search_wrap.c, commands/search_file.c,
24317 commands/search_label.c and commands/search_uuid.c.
24318 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24319 (search_mod_SOURCES): Set to commands/search_wrap.c.
24320 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24321 search_label.mod.
24322 (search_fs_file_mod_SOURCES): New variable.
24323 (search_fs_file_mod_CFLAGS): Likewise.
24324 (search_fs_file_mod_LDFLAGS): Likewise.
24325 (search_label_mod_SOURCES): Likewise.
24326 (search_label_mod_CFLAGS): Likewise.
24327 (search_label_mod_LDFLAGS): Likewise.
24328 (search_fs_uuid_mod_SOURCES): New variable.
24329 (search_fs_uuid_mod_CFLAGS): Likewise.
24330 (search_fs_uuid_mod_LDFLAGS): Likewise.
24331 (fs_file_mod_SOURCES): Removed.
24332 (fs_file_mod_CFLAGS): Likewise.
24333 (fs_file_mod_LDFLAGS): Likewise.
24334 (fs_uuid_mod_SOURCES): Removed.
24335 (fs_uuid_mod_CFLAGS): Likewise.
24336 (fs_uuid_mod_LDFLAGS): Likewise.
24337 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24338 Set to util/grub-install.in.
24339 * disk/fs_file.c: Removed.
24340 * disk/fs_uuid.c: Likewise.
24341 * include/grub/search.h: New file.
24342 * util/grub-install.in: Handle sparc64.
24343 Create and use load.cfg.
24344 * util/sparc64/ieee1275/grub-install.in: Removed.
24345
24346 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24347
24348 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24349 Ignore return status if CF is cleared.
24350 (grub_biosdisk_get_diskinfo_standard): Likewise.
24351
24352 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24353
24354 * term/i386/pc/at_keyboard.c
24355 (keyboard_controller_wait_untill_ready): New function.
24356 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24357 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24358 for keyboard polling, rather than duplicate the same loop. This
24359 saves a few bytes in code size.
24360
24361 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24362
24363 Support for (pxe[:server[:gateway]]) syntax and
24364 use environment variable for PXE.
24365
24366 * commands/i386/pc/pxecmd.c (options): Removed.
24367 (print_ip): Removed.
24368 (grub_cmd_pxe): Removed
24369 (grub_cmd_pxe_unload): New function.
24370 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24371 (grub_pxe_your_ip): Made static.
24372 (grub_pxe_default_server_ip): Likewise.
24373 (grub_pxe_default_gateway_ip): Likewise.
24374 (grub_pxe_blksize): Likewise.
24375 (parse_ip): New function.
24376 (grub_pxe_open): Support server and gateway specification.
24377 (grub_pxe_close): Free disk->data.
24378 (grub_pxefs_open): Use disk->data.
24379 (grub_pxefs_read): Likewise.
24380 (grub_env_write_readonly): New function.
24381 (set_mac_env): Likewise.
24382 (set_env_limn_ro): Likewise.
24383 (parse_dhcp_vendor): Likewise.
24384 (grub_pxe_detect): Set the environment variables.
24385 (set_ip_env): New function.
24386 (write_ip_env): Likewise.
24387 (grub_env_write_pxe_default_server): Likewise.
24388 (grub_env_write_pxe_default_gateway): Likewise.
24389 (grub_env_write_pxe_blocksize): Likewise.
24390 (GRUB_MOD_INIT(pxe)): Set environment variables.
24391 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24392 (grub_pxe_mac_addr_t): ... this. All users updated.
24393 (grub_pxe_your_ip): Removed.
24394 (grub_pxe_server_ip): Likewise.
24395 (grub_pxe_gateway_ip): Likewise.
24396 (grub_pxe_blksize): Likewise.
24397
24398 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24399
24400 * commands/help.c: Include `<grub/i18n.h>'.
24401 (grub_cmd_help): Gettextizze.
24402 (GRUB_MOD_INIT): Likewise.
24403 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24404 (GRUB_MOD_INIT): Gettextizze.
24405 * commands/search.c: Include `<grub/i18n.h>'.
24406 (options): Gettextizze.
24407 (GRUB_MOD_INIT): Gettextizze.
24408 * lib/arg.c: Include `<grub/i18n.h>'.
24409 (help_options): Gettextizze.
24410 (find_long): Likewise.
24411 (grub_arg_show_help): Likewise.
24412 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24413 (read_command_list): Gettextizze.
24414 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24415 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24416
24417 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24418
24419 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24420 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24421 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24422 (led_status): New variable.
24423 (keyboard_controller_led): New function.
24424 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24425 update led status for caps lock, num lock and scroll lock.
24426
24427 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24428
24429 * util/hostdisk.c (open_device): Fix a comment.
24430
24431 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24432
24433 * util/grub-install.in (host_os): New variable.
24434 * util/i386/efi/grub-install.in (host_os): Likewise.
24435
24436 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24437
24438 * util/mkisofs/write.c (padblock_write): Abort when given an
24439 excedingly large embed image, instead of silently truncating it.
24440
24441 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24442
24443 * include/multiboot.h: Indentation fixes.
24444
24445 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24446
24447 * include/multiboot.h (struct multiboot_aout_symbol_table)
24448 (struct multiboot_elf_section_header_table): New structure
24449 declarations (stolen from GRUB Legacy).
24450 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24451 table information.
24452
24453 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24454 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24455 type aliases.
24456
24457 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24458
24459 * include/multiboot.h: Make comments src2texi-friendly.
24460
24461 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24462
24463 For consistency with [multiboot]/docs/boot.S.
24464
24465 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24466 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24467 (MULTIBOOT_MAGIC2): Rename from this ...
24468 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24469
24470 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24471
24472 * include/multiboot.h: Remove `<grub/types.h>'.
24473 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24474 types. Update all users.
24475
24476 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24477
24478 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24479 `couldn't' and `can not' by `cannot'.
24480 * commands/i386/pc/drivemap.c: Likewise.
24481 * disk/ata.c: Likewise.
24482 * disk/ieee1275/nand.c: Likewise.
24483 * fs/affs.c: Likewise.
24484 * fs/fat.c: Likewise.
24485 * fs/hfs.c: Likewise.
24486 * fs/hfsplus.c: Likewise.
24487 * fs/iso9660.c: Likewise.
24488 * fs/jfs.c: Likewise.
24489 * fs/minix.c: Likewise.
24490 * fs/reiserfs.c: Likewise.
24491 * fs/sfs.c: Likewise.
24492 * fs/udf.c: Likewise.
24493 * fs/ufs.c: Likewise.
24494 * fs/xfs.c: Likewise.
24495 * loader/powerpc/ieee1275/linux.c: Likewise.
24496 * loader/sparc64/ieee1275/linux.c: Likewise.
24497 * util/grub-probe.c: Likewise.
24498 * util/misc.c: Likewise.
24499
24500 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24501
24502 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24503 grub_errno calls.
24504 * commands/acpi.c: Likewise.
24505 * commands/blocklist.c: Likewise.
24506 * commands/efi/loadbios.c: Likewise.
24507 * commands/i386/pc/drivemap.c: Likewise.
24508 * commands/loadenv.c: Likewise.
24509 * commands/memrw.c: Likewise.
24510 * commands/password.c: Likewise.
24511 * commands/videotest.c: Likewise.
24512 * disk/ata.c: Likewise.
24513 * disk/ata_pthru.c: Likewise.
24514 * disk/dmraid_nvidia.c: Likewise.
24515 * disk/ieee1275/nand.c: Likewise.
24516 * disk/ieee1275/ofdisk.c: Likewise.
24517 * disk/loopback.c: Likewise.
24518 * disk/lvm.c: Likewise.
24519 * disk/mdraid_linux.c: Likewise.
24520 * disk/raid.c: Likewise.
24521 * disk/raid6_recover.c: Likewise.
24522 * disk/scsi.c: Likewise.
24523 * efiemu/main.c: Likewise.
24524 * efiemu/mm.c: Likewise.
24525 * efiemu/pnvram.c: Likewise.
24526 * efiemu/symbols.c: Likewise.
24527 * font/font.c: Likewise.
24528 * fs/cpio.c: Likewise.
24529 * fs/hfsplus.c: Likewise.
24530 * fs/iso9660.c: Likewise.
24531 * fs/jfs.c: Likewise.
24532 * fs/minix.c: Likewise.
24533 * fs/ntfs.c: Likewise.
24534 * fs/ntfscomp.c: Likewise.
24535 * fs/reiserfs.c: Likewise.
24536 * fs/ufs.c: Likewise.
24537 * fs/xfs.c: Likewise.
24538 * gettext/gettext.c: Likewise.
24539 * include/grub/auth.h: Likewise.
24540 * kern/elf.c: Likewise.
24541 * kern/file.c: Likewise.
24542 * kern/ieee1275/init.c: Likewise.
24543 * kern/ieee1275/mmap.c: Likewise.
24544 * kern/ieee1275/openfw.c: Likewise.
24545 * kern/powerpc/dl.c: Likewise.
24546 * kern/sparc64/dl.c: Likewise.
24547 * lib/arg.c: Likewise.
24548 * loader/i386/bsd.c: Likewise.
24549 * loader/i386/bsdXX.c: Likewise.
24550 * loader/i386/efi/linux.c: Likewise.
24551 * loader/i386/efi/xnu.c: Likewise.
24552 * loader/i386/ieee1275/linux.c: Likewise.
24553 * loader/i386/linux.c: Likewise.
24554 * loader/i386/multiboot.c: Likewise.
24555 * loader/i386/pc/linux.c: Likewise.
24556 * loader/i386/pc/multiboot2.c: Likewise.
24557 * loader/i386/xnu.c: Likewise.
24558 * loader/ieee1275/multiboot2.c: Likewise.
24559 * loader/macho.c: Likewise.
24560 * loader/machoXX.c: Likewise.
24561 * loader/multiboot2.c: Likewise.
24562 * loader/multiboot_loader.c: Likewise.
24563 * loader/powerpc/ieee1275/linux.c: Likewise.
24564 * loader/sparc64/ieee1275/linux.c: Likewise.
24565 * loader/xnu.c: Likewise.
24566 * loader/xnu_resume.c: Likewise.
24567 * mmap/i386/pc/mmap.c: Likewise.
24568 * normal/menu_viewer.c: Likewise.
24569 * partmap/acorn.c: Likewise.
24570 * partmap/amiga.c: Likewise.
24571 * partmap/apple.c: Likewise.
24572 * script/lexer.c: Likewise.
24573 * term/gfxterm.c: Likewise.
24574 * term/i386/pc/serial.c: Likewise.
24575 * term/i386/pc/vga.c: Likewise.
24576 * term/ieee1275/ofconsole.c: Likewise.
24577 * term/terminfo.c: Likewise.
24578 * video/bitmap.c: Likewise.
24579 * video/efi_gop.c: Likewise.
24580 * video/efi_uga.c: Likewise.
24581 * video/fb/video_fb.c: Likewise.
24582 * video/i386/pc/vbe.c: Likewise.
24583 * video/readers/tga.c: Likewise.
24584 * video/video.c: Likewise.
24585
24586 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24587
24588 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24589 * commands/lspci.c: Likewise.
24590 * commands/probe.c: Likewise.
24591 * commands/xnu_uuid.c: Likewise.
24592 * conf/i386-coreboot.rmk: Likewise.
24593 * conf/i386-efi.rmk: Likewise.
24594 * conf/i386-ieee1275.rmk: Likewise.
24595 * conf/i386-pc.rmk: Likewise.
24596 * conf/powerpc-ieee1275.rmk: Likewise.
24597 * conf/sparc64-ieee1275.rmk: Likewise.
24598 * conf/x86_64-efi.rmk: Likewise.
24599 * fs/i386/pc/pxe.c: Likewise.
24600 * gettext/gettext.c: Likewise.
24601 * include/grub/efi/graphics_output.h: Likewise.
24602 * include/grub/i386/pc/memory.h: Likewise.
24603 * kern/env.c: Likewise.
24604 * kern/i386/qemu/startup.S: Likewise.
24605 * lib/i386/pc/biosnum.c: Likewise.
24606 * lib/i386/relocator.c: Likewise.
24607 * lib/i386/relocator_asm.S: Likewise.
24608 * lib/relocator.c: Likewise.
24609 * loader/i386/bsd.c: Likewise.
24610 * loader/i386/multiboot.c: Likewise.
24611 * loader/i386/pc/chainloader.c: Likewise.
24612 * loader/i386/xnu.c: Likewise.
24613 * loader/xnu.c: Likewise.
24614 * normal/main.c: Likewise.
24615 * normal/menu_text.c: Likewise.
24616 * util/getroot.c: Likewise.
24617 * util/grub-mkconfig_lib.in: Likewise.
24618 * util/grub.d/00_header.in: Likewise.
24619 * util/i386/pc/grub-mkimage.c: Likewise.
24620 * util/mkisofs/eltorito.c: Likewise.
24621 * util/mkisofs/exclude.h: Likewise.
24622 * util/mkisofs/hash.c: Likewise.
24623 * util/mkisofs/iso9660.h: Likewise.
24624 * util/mkisofs/joliet.c: Likewise.
24625 * util/mkisofs/mkisofs.c: Likewise.
24626 * util/mkisofs/mkisofs.h: Likewise.
24627 * util/mkisofs/multi.c: Likewise.
24628 * util/mkisofs/name.c: Likewise.
24629 * util/mkisofs/rock.c: Likewise.
24630 * util/mkisofs/tree.c: Likewise.
24631 * util/mkisofs/write.c: Likewise.
24632 * video/efi_gop.c: Likewise.
24633
24634 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24635
24636 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24637 size counting.
24638
24639 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24640
24641 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24642 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24643
24644 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24647 (GRUB_MOD_INIT(memrw)): Update help line.
24648
24649 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24650
24651 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24652 Use grub_extcmd_t. All users updated.
24653 (options): New variable.
24654 (grub_cmd_read): Restructure for readability. Support "-v" option.
24655 (grub_cmd_write): Restructure for readability.
24656
24657 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24658
24659 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24660
24661 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24662
24663 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24664 with the actual contents of the correspondending make variable.
24665 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24666 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24667 specifying `*.lst' and `efiemu??.o'
24668
24669 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24670
24671 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24672 after function name.
24673 Noticed by Rene Engelhard <rene@debian.org>.
24674
24675 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24676
24677 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24678 (options): New variable.
24679 (iospace): Likewise.
24680 (grub_lspci_iter): List IO spaces if "-i" was given.
24681 (grub_cmd_lspci): Parse options.
24682 (GRUB_MOD_INIT(lspci)): Use extcmd.
24683 (GRUB_MOD_FINI(lspci)): Likewise.
24684
24685 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24686
24687 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24688 `function' keyword.
24689 Patch by Tony Mancill <tmancill@debian.org>.
24690
24691 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24692
24693 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24694 (grub_uhci_portstatus): Likewise.
24695 (grub_uhci_portstatus): Add necessary delay.
24696 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24697
24698 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24699
24700 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24701 (GRUB_MOD_INIT): Likewise.
24702 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24703 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24704 * commands/echo.c (options): Fix capitalizations and/or full stops.
24705 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24706 (enable_rom_area): Likewise.
24707 (GRUB_MOD_INIT): Likewise.
24708 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24709 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24710 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24711 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24712 * commands/hexdump.c (options): Likewise.
24713 * commands/i386/cpuid.c (options): Likewise.
24714 (GRUB_MOD_INIT): Likewise.
24715 * commands/i386/pc/drivemap.c (options): Likewise.
24716 (GRUB_MOD_INIT): Likewise.
24717 * commands/i386/pc/halt (options): Likewise.
24718 (GRUB_MOD_INIT): Likewise.
24719 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24720 * commands/i386/pc/pxecmd.c (options): Likewise.
24721 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24722 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24723 * commands/keystatus.c (options): Likewise.
24724 (GRUB_MOD_INIT): Likewise.
24725 * commands/loadenv.c (options): Likewise.
24726 * commands/ls.c (options): Likewise.
24727 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24728 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24729 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24730 * commands/parttool.c (helpmsg): Likewise.
24731 * commands/probe.c (options): Likewise.
24732 * commands/read.c (GRUB_MOD_INIT): Likewise.
24733 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24734 * commands/search.c (options): Likewise.
24735 * commands/sleep.c (options): Likewise.
24736 * commands/test.c (GRUB_MOD_INIT): Likewise.
24737 * commands/true.c (GRUB_MOD_INIT): Likewise.
24738 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24739 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24740 * lib/arg.c (help_options): Likewise.
24741 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24742 `$(XGETTEXT)'.
24743 * po/POTFILES: Add `commands/loadenv.c'.
24744
24745 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24746
24747 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24748 instead of specifying them explicit.
24749
24750 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24751
24752 * NEWS: Add grub-probe support for GNU/Hurd.
24753
24754 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24755
24756 * NEWS: gettext was added after 1.97.
24757
24758 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24759
24760 * util/mkisofs/msdos_partition.h: New file (based on
24761 include/grub/msdos_partition.h).
24762 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24763 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24764 (ld_options, main): Recognize --protective-msdos-label.
24765 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24766 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24767 (padblock_write): If `use_protective_msdos_label' is set, patch a
24768 protective DOS-style label in the output image.
24769
24770 * util/grub-mkrescue.in: Use --protective-msdos-label.
24771
24772 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24773
24774 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24775 boot.
24776
24777 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24778
24779 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24780 variables.
24781 (ld_options, main): Recognize `--embedded-boot'.
24782 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24783 declarations.
24784 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24785 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24786 (padblock_write): Likewise. Rewrite to support embedded boot image.
24787
24788 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24789 for BIOS-based disk boot instead of only ElTorito.
24790
24791 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24792
24793 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24794 build (not needed for bootstrap).
24795
24796 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24797
24798 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24799 from i386-pc build (not needed for bootstrap).
24800 Rewrite a pair of strings.
24801
24802 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24803
24804 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24805
24806 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24807
24808 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24809
24810 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24811
24812 * kern/env.c (grub_env_context_open): Mark exported variable for
24813 reexport.
24814
24815 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24816
24817 * kern/env.c (grub_env_export): Create nonexistent variables before
24818 exporting.
24819
24820 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24821
24822 * include/grub/auth.h: Include `<grub/i18n.h>'.
24823 (GRUB_GET_PASSWORD): Gettextizze string.
24824 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24825 menu_text.c.
24826 (grub_utf8_to_ucs4_alloc): Fix indentation.
24827 (grub_print_ucs4): Likewise.
24828 (grub_getstringwidth): Likewise.
24829 (print_message_indented): New declaration.
24830 * normal/auth.c: Include `<grub/i18n.h>'.
24831 (grub_auth_check_authentication): Gettexttize string.
24832 * normal/cmdline.c: Include `<grub/i18n.h>'.
24833 (grub_cmdline_get): Gettextizze.
24834 * normal/color.c: Include `<grub/i18n.h>'.
24835 (grub_parse_color_name_pair): Gettexttize strings.
24836 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24837 string (use `print_message_indented').
24838 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24839 `include/grub/normal.h'.
24840 (print_message_indented): Renamed to ...
24841 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24842 used in normal/main.c).
24843 (print_message): Use `grub_print_message_indented' instead of
24844 `print_message_indented'.
24845 (print_timeout): Likewise.
24846 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24847 (grub_normal_print_device_info): Gettexttize strings.
24848 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24849
24850 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24851
24852 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24853 of arguments. Return number of tokens and not arguments. All users
24854 updated.
24855
24856 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24857
24858 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24859 non-MSDOS paritions.
24860
24861 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24862
24863 * include/grub/types.h (UNUSED): Removed since it conflicts with
24864 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24865 Reported by Grégoire Sutre.
24866
24867 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24868
24869 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24870 (grub_print_ucs4_alloc): Likewise.
24871 (grub_getstringwidth): Likewise.
24872 * normal/main.c (grub_normal_init_page): Gettextize version string.
24873 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24874 (getstringwidth): Renamed to ...
24875 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24876 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24877 (grub_print_ucs4): Remove `static' qualifer (now used in
24878 normal/main.c).
24879 * po/POTFILES: Add normal/main.c.
24880
24881 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24882
24883 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24884 (print_message_indented): Add `margin_left' and `margin_right'
24885 parameters.
24886 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24887 strings.
24888 (print_timeout): Use `print_message_indented' to print the message.
24889 Deletes `second_stage' parameter.
24890 (run_menu): Update `print_timeout' calls.
24891
24892 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 Fix console palette on OpenFirmware.
24895
24896 * term/ieee1275/ofconsole.c (MAX): Removed.
24897 (colors): Redone based on VGA palette.
24898 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24899 colors are supported.
24900 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24901
24902 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 Fix potential EfiEmu double prepare.
24905
24906 * efiemu/main.c (prepared): New variable
24907 (grub_efiemu_unload): Set prepare to '0'.
24908 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24909
24910 set_virtual_address_map support.
24911
24912 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24913 prototype.
24914 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24915 prototype.
24916 (grub_efiemu_crc32): Likewise.
24917 (grub_efiemu_crc64): Likewise.
24918 (grub_efiemu_set_virtual_address_map): Likewise.
24919 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24920 New definition.
24921 (grub_autoefi_set_virtual_address_map): Likewise.
24922 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24923 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24924 Restructure flow to accomodate it.
24925 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24926 (grub_efiemu_crc): Recompute CRC32.
24927 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24928 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24929 * efiemu/symbols.c (relocated_handle): New variable.
24930 (grub_efiemu_free_syms): Free relocated_handle.
24931 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24932 (grub_efiemu_write_sym_markers): New function.
24933 (grub_efiemu_set_virtual_address_map): Likewise.
24934
24935 Newer XNU parameters.
24936
24937 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24938 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24939 (grub_xnu_fill_devicetree): New prototype.
24940 (grub_xnu_heap_real_start): New variable.
24941 * loader/xnu.c (get_name_ptr): New function.
24942 (grub_xnu_load_driver): Fill namelen and name.
24943
24944 64-bit xnu support.
24945
24946 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24947 and 'loader/macho64.c'.
24948 * conf/i386-pc.rmk: Likewise.
24949 * conf/x86_64-efi.rmk: Likewise.
24950 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24951 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24952 * include/grub/macho.h (grub_macho_segment64): New structure.
24953 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24954 (grub_macho_size32): ... to this.
24955 (grub_macho32_get_entry_point): Renamed from ...
24956 (grub_macho_get_entry_point32): ... to this.
24957 (grub_macho_contains_macho64): New prototype.
24958 (grub_macho_size64): Likewise.
24959 (grub_macho_get_entry_point64): Likewise.
24960 (grub_macho32_load): Renamed from ...
24961 (grub_macho_load32): ... to this.
24962 (grub_macho32_filesize): Renamed from ...
24963 (grub_macho_filesize32): ... to this.
24964 (grub_macho32_readfile): Renamed from ...
24965 (grub_macho_readfile32): ... to this.
24966 (grub_macho_filesize64): New prototype.
24967 (grub_macho_readfile64): Likewise.
24968 (grub_macho_parse32): Likewise.
24969 (grub_macho_parse64): Likewise.
24970 * loader/macho.c: Split into ...
24971 * loader/machoXX.c: ... and this. Replace 32 with XX.
24972 * loader/macho32.c: New file.
24973 * loader/macho64.c: Likewise.
24974 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24975 (grub_cmd_xnu_kernel): Make 32-bit only.
24976 (grub_cmd_xnu_kernel64): New function.
24977 (grub_xnu_load_driver): Support Mach-O 64.
24978 (grub_cmd_xnu_mkext): Likewise.
24979 * util/grub.d/30_os-prober.in (osx_entry): New function.
24980 Generate entries for 64-bit boot too.
24981
24982 Eliminate ad-hoc tree format in XNU and EfiEmu.
24983
24984 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24985 * efiemu/pnvram.c: Rewritten to use environment variables.
24986 All users updated.
24987
24988 Inline utf16_to_utf8.
24989
24990 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24991 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24992 All users updated.
24993 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24994
24995 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24996 * commands/usbtest.c (grub_usb_get_string): ... move here.
24997 (usb_print_str): Fix error handling.
24998 * include/grub/usb.h (grub_usb_get_string): Remove.
24999
25000 UTF-8 to UTF-16 transformation.
25001
25002 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25003 (charset_mod_SOURCES): New variable.
25004 (charset_mod_CFLAGS): Likewise.
25005 (charset_mod_LDFLAGS): Likewise.
25006 * include/grub/utf.h: New file.
25007 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25008
25009 Support for device properties.
25010
25011 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25012 (grub_xnu_devprop_device_header): Likewise.
25013 (grub_xnu_devprop_device_descriptor): Likewise.
25014 (grub_xnu_devprop_add_device): New prototype.
25015 (grub_xnu_devprop_remove_device): Likewise.
25016 (grub_xnu_devprop_remove_property): Likewise.
25017 (grub_xnu_devprop_add_property_utf8): Likewise.
25018 (grub_xnu_devprop_add_property_utf16): Likewise.
25019 (grub_cpu_xnu_init): Likewise.
25020 (grub_cpu_xnu_fini): Likewise.
25021 (grub_cpu_xnu_unload): Likewise.
25022 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25023 (property_descriptor): Likewise.
25024 (devices): New variable.
25025 (grub_xnu_devprop_remove_property): New function.
25026 (grub_xnu_devprop_add_device): Likewise.
25027 (grub_xnu_devprop_remove_device): Likewise.
25028 (grub_xnu_devprop_add_property): Likewise.
25029 (grub_xnu_devprop_add_property_utf8): Likewise.
25030 (grub_xnu_devprop_add_property_utf16): Likewise.
25031 (hextoval): Likewise.
25032 (grub_cpu_xnu_fill_devprop): Likewise.
25033 (grub_cmd_devprop_load): Likewise.
25034 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25035 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25036 (cmd_devprop_load): New variable.
25037 (grub_cpu_xnu_init): New function.
25038 (grub_cpu_xnu_fini): Likewise.
25039 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25040 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25041 (grub_cmd_xnu_devtree): Likewise.
25042 (hextoval): New function.
25043 (unescape): Likewise.
25044 (grub_xnu_fill_devicetree): Likewise.
25045
25046 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25047 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25048
25049 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25050
25051 Workaround for broken ATI VBE.
25052
25053 * video/i386/pc/vbe.c (last_set_mode): New variable.
25054 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25055 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25056 (grub_video_vbe_setup): Don't check for reserved flag.
25057
25058 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
25059
25060 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25061 the `find' command.
25062
25063 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 UUID support for HFS.
25066
25067 * fs/hfs.c (grub_hfs_uuid): New function.
25068 (grub_hfs_fs): New value .uuid.
25069 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25070
25071 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
25072
25073 Fix a segfault with parsing unknown long options.
25074
25075 * util/grub-mkrelpath.c (options): Zero terminate it.
25076
25077 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25078
25079 * include/grub/misc.h (grub_puts): New declaration.
25080 (grub_puts_): Likewise.
25081 * kern/misc.c (grub_puts): New definition.
25082 (grub_puts_): Likewise.
25083
25084 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25085
25086 * util/grub-probe.c (probe): Improve error message.
25087
25088 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25089
25090 * loader/i386/multiboot_elfxx.c
25091 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25092 initialization.
25093
25094 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25095
25096 Relocator framework
25097
25098 * loader/i386/xnu_helper.S: Removed. All users updated.
25099 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25100 (relocator_mod_SOURCES): New variable.
25101 (relocator_mod_CFLAGS): Likewise.
25102 (relocator_mod_LDFLAGS): Likewise.
25103 (relocator_mod_ASFLAGS): Likewise.
25104 * conf/x86_64.rmk: Likewise.
25105 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25106 (grub_multiboot_payload_entry_offset): Likewise.
25107 (grub_multiboot_forward_relocator): Likewise.
25108 (grub_multiboot_forward_relocator_end): Likewise.
25109 (grub_multiboot_backward_relocator): Likewise.
25110 (grub_multiboot_backward_relocator_end): Likewise.
25111 (grub_multiboot_payload_eip): New variable.
25112 (grub_multiboot_payload_orig): Likewise.
25113 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25114 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25115 * include/grub/i386/memory.h
25116 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25117 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25118 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25119 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25120 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25121 * include/grub/i386/relocator.h: New file.
25122 * include/grub/x86_64/relocator.h: Likewise.
25123 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25124 (XNU_RELOCATOR): New macro.
25125 (grub_xnu_launcher_start): Remove.
25126 (grub_xnu_launcher_end): Likewise.
25127 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25128 (grub_xnu_heap_real_start): Remove.
25129 (grub_xnu_heap_start): Change to void *. All users updated.
25130 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25131 * lib/i386/relocator.c: New file.
25132 * lib/i386/relocator_asm.S: Likewise.
25133 * lib/i386/relocator_backward.S: Likewise.
25134 * lib/mips/relocator.c: Likewise.
25135 * lib/mips/relocator_asm.S: Likewise.
25136 * lib/relocator.c: Likewise.
25137 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25138 (entry): Removed.
25139 (playground): Likewise.
25140 (grub_multiboot_payload_orig): New variable.
25141 (grub_multiboot_payload_dest): Likewise.
25142 (grub_multiboot_payload_size): Likewise.
25143 (grub_multiboot_payload_eip): Likewise.
25144 (grub_multiboot_payload_esp): Likewise.
25145 (grub_multiboot_boot): Use grub_relocator32_boot.
25146 (grub_multiboot_unload): Free relocators.
25147 (grub_multiboot): Setup stack. Use relocators.
25148 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25149 (grub_multiboot_load_elfXX): Use relocators.
25150 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25151 (grub_multiboot_payload_size): Likewise.
25152 (grub_multiboot_payload_dest): Likewise.
25153 (grub_multiboot_payload_entry_offset): Likewise.
25154 (grub_multiboot_forward_relocator): Likewise.
25155 (grub_multiboot_backward_relocator): Likewise.
25156 (grub_multiboot_real_boot): Likewise.
25157 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25158 (grub_xnu_entry_point): Likewise.
25159 (grub_xnu_arg1): Likewise.
25160 (grub_xnu_stack): Likewise.
25161 (grub_xnu_launch): Removed.
25162 (grub_xnu_boot_resume): New function.
25163 (grub_xnu_boot): Use relocators.
25164 * loader/i386/xnu_helper.S: Removed.
25165 * loader/xnu.c (grub_xnu_heap_start): New variable.
25166 (grub_xnu_heap_size): Likewise.
25167 (grub_xnu_heap_malloc): Use relocators.
25168 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25169
25170 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25173 anything.
25174
25175 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25176
25177 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25178 GRUB_ERR_NONE before calling grub_env_set.
25179
25180 2009-12-12 Robert Millan <rmh@aybabtu.com>
25181
25182 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25183 * genmk.rb (video): New variable.
25184 (CLEANFILES, VIDEOFILES): Add #{video}.
25185 (#{video}): New target rule.
25186 * genvideolist.sh: New file.
25187 * Makefile.in (pkglib_DATA): Add video.lst.
25188 (video.lst): New target rule.
25189 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25190 `video.lst'.
25191 * util/grub.d/30_os-prober.in: Replace `vbe' with
25192 ${GRUB_VIDEO_BACKEND}.
25193
25194 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25195
25196 * THANKS: Add David Miller.
25197
25198 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25199
25200 libpciaccess support.
25201
25202 * Makefile.in (LIBPCIACCESS): New variable.
25203 (enable_grub_emu_pci): Likewise.
25204 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25205 util/pci.c and commands/lspci.c.
25206 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25207 * configure.ac (grub-emu-pci): New option.
25208 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25209 (grub_pci_device_unmap_range): Likewise.
25210 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25211 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25212 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25213 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25214 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25215 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25216 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25217 * include/grub/pciutils.h: New file.
25218 * util/pci.c: Likewise.
25219
25220 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25221
25222 * util/misc.c: Don't include <errno.h> twice.
25223
25224 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25225
25226 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25227 name in an error message.
25228 (grub_biosdisk_rw): Likewise.
25229
25230 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25231
25232 Eliminate NTFS 4Gib barrier.
25233
25234 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25235 (read_run_data): Likewise.
25236 (grub_ntfs_read_run_list): Likewise.
25237 (grub_ntfs_read_block): Likewise.
25238 (grub_ntfs_iterate_dir): Likewise.
25239 (read_mft): Likewise.
25240 (read_data): Likewise.
25241 Use COM_LOG_LEN.
25242 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25243 to avoid 64-bit division
25244 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25245 (grub_ntfs_rlst): Use grub_disk_addr_t.
25246
25247 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25248
25249 Eliminate grub-fstest 4Gib barrier.
25250
25251 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25252 (read_file): Fix error reporting.
25253
25254 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25255
25256 Eliminate hexdump 4Gib barrier.
25257
25258 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25259 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25260
25261 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25262
25263 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25264 Fixes amarsh bug.
25265
25266 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25267
25268 Remove miscellaneous files in distclean target.
25269
25270 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25271
25272 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25273
25274 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25275 if they're already set. This resolves the conflict between my
25276 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25277 fixing the --grub-probe option again.
25278 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25279 change on 2009-10-06, so that we now once again source
25280 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25281
25282 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25283
25284 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25285 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25286 `util/devicemap.c'.
25287
25288 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25289
25290 * include/grub/misc.h (grub_printf_): New declaration.
25291 * kern/misc.c (grub_printf_): New definition.
25292 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25293 instead of `grub_printf' and `_'.
25294 * normal/menu_entry.c (store_completion): Likewise.
25295 (run): Likewise.
25296 (grub_menu_entry_run): Likewise.
25297 * normal/menu_text.c (grub_wait_after_message): Likewise.
25298 (notify_booting): Likewise.
25299 (notify_fallback): Likewise.
25300 (notify_execution_failure): Likewise.
25301
25302 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25303
25304 * configure.ac: Check for vasprintf.
25305 * util/misc.c (asprintf): Move allocation from here ...
25306 (vasprintf): ... to here. New function.
25307 (xasprintf): New function.
25308 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25309 prototypes.
25310 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25311 * util/grub-mkfont.c (write_font): Likewise.
25312 * util/grub-probe.c (probe): Likewise.
25313 * util/hostdisk.c (make_device_name): Likewise.
25314
25315 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25316
25317 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25318 anything even prefixed with 'cdrom' as a cdrom.
25319
25320 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25321
25322 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25323 mount points.
25324
25325 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25326
25327 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25328 grub_gettext_msg_list.
25329 (grub_gettext_gettranslation_from_position): Return const char *
25330 and not char *.
25331 (grub_gettext_translate): Add the translated strings into a list,
25332 returns from the list if existing there.
25333 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25334 (grub_gettext_delete_list): Delete the list.
25335 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25336 lang environment variable is changed.
25337 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25338
25339 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 Rename kernel.mod to kernel.img.
25342
25343 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25344 (kernel_mod_EXPORTS): Rename to ...
25345 (kernel_img_EXPORTS): ... this.
25346 (kernel_mod_SOURCES): Rename to ...
25347 (kernel_img_SOURCES): ... this.
25348 (kernel_mod_HEADERS): Rename to ...
25349 (kernel_img_HEADERS): ... this. All users updated.
25350 (kernel_mod_CFLAGS): Rename to ...
25351 (kernel_img_CFLAGS): ... this.
25352 (kernel_mod_ASFLAGS): Rename to ...
25353 (kernel_img_ASFLAGS): ... this.
25354 (kernel_mod_LDFLAGS): Rename to ...
25355 (kernel_img_LDFLAGS): ... this.
25356 * conf/x86_64-efi.rmk: Likewise.
25357 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25358 (read_kernel_image): ... this. All users updated.
25359 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25360
25361 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25362
25363 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25364 (print_spaces): New function.
25365 (grub_print_ucs4): New function.
25366 (getstringwidth): New function.
25367 (print_message_indented): New function.
25368 (print_message): Gettexttize strings using print_message_indented.
25369 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25370 width.
25371 (get_entry_number): Gettextize and uses dynamic terminal width.
25372 (notify_booting, notify_fallback, notify_execution_failure):
25373 Gettextize.
25374 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25375 string.
25376 (run): Likewise.
25377 (grub_menu_entry_run): Likewise.
25378 * PO/POTFILES: Add normal/menu_entry.c.
25379
25380 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25383
25384 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25385
25386 * util/grub-install.in: Install gettext .mo files.
25387 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25388
25389 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25390
25391 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25392 grub_dprintf.
25393
25394 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25395
25396 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25397 non-firmware-dependant one in realmode.S takes precedence.
25398
25399 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25400
25401 * commands/halt.c: Replace misc arch-specific headers with
25402 `<grub/misc.h>'.
25403 * commands/reboot.c: Likewise.
25404 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25405 `<grub/misc.h>'.
25406 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25407 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25408 (kernel_img_SOURCES): ... to here.
25409
25410 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25411 * include/grub/i386/pc/init.h: Likewise.
25412 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25413 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25414
25415 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25416
25417 * include/grub/i386/halt.h: Remove.
25418 * include/grub/i386/reboot.h: Likewise.
25419
25420 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25421
25422 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25423
25424 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25425 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25426 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25427 "progname.h"
25428 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25429 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25430 (usage): Add missing comma in printf.
25431
25432 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25433
25434 Use the same reboot approach on i386 coreboot and qemu as we do on
25435 BIOS.
25436
25437 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25438 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25439 * kern/i386/reboot.c: Remove.
25440 * include/grub/i386/reboot.h (grub_reboot): Export function.
25441 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25442 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25443 0xf000:0xfff0 instead of 0xffff:0x0000.
25444 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25445 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25446
25447 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25448
25449 Fix $srcdir != $objdir build.
25450
25451 * Makefile.in (po/%.po): Rewrite as ...
25452 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25453
25454 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25455
25456 Fix GNU/Hurd grub-install crash.
25457 * util/grub-probe.c (probe): Try to access `path' only when it is not
25458 NULL.
25459
25460 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 Correct module naming.
25463
25464 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25465 (GRUB_MOD_INIT(efi_uga)): ... to this
25466 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25467 (GRUB_MOD_FINI(efi_uga)): ... to this
25468 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25469 (GRUB_MOD_INIT(efi_gop)): ... to this
25470 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25471 (GRUB_MOD_FINI(efi_gop)): ... to this
25472
25473 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25474
25475 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25476 translatable.
25477 (usage): Translate `arg' strings using gettext().
25478 Thanks to Jordi Mallach for the suggestion.
25479
25480 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25481
25482 GOP support. Based on patch from Bean
25483 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25484
25485 * video/efi_gop.c: New file.
25486 * include/grub/efi/graphics_output.h: Likewise.
25487 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25488 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25489 variables.
25490 * conf/x86_64-efi.rmk: Likewise.
25491
25492 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25493
25494 Rename efi_fb to efi_uga.
25495
25496 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25497 'efi_uga.mod'.
25498 (efi_fb_mod_SOURCES): Rename this ...
25499 (efi_uga_mod_SOURCES): ... to this.
25500 (efi_fb_mod_CFLAGS): Rename this ...
25501 (efi_uga_mod_CFLAGS): ... to this.
25502 (efi_fb_mod_LDFLAGS): Rename this ...
25503 (efi_uga_mod_LDFLAGS): ... to this.
25504 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25505 'efi_uga.mod'.
25506 (efi_fb_mod_SOURCES): Rename this ...
25507 (efi_uga_mod_SOURCES): ... to this.
25508 (efi_fb_mod_CFLAGS): Rename this ...
25509 (efi_uga_mod_CFLAGS): ... to this.
25510 (efi_fb_mod_LDFLAGS): Rename this ...
25511 (efi_uga_mod_LDFLAGS): ... to this.
25512 * video/efi_fb.c: Move this ...
25513 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25514
25515 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25516
25517 * po/README: New file. Explain our PO file workflow.
25518
25519 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25520
25521 * po/ChangeLog: Remove. Move relevant entries back to ...
25522 * ChangeLog: ... here.
25523 * po/ca.po: Remove (now handled by TLP).
25524 * po/id.po: Likewise.
25525 * po/zh_CN.po: Likewise.
25526 * Makefile.in (LINGUAS): Initialize in a way that supports
25527 empty set.
25528
25529 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25530
25531 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25532 reliing on po/LINGUAS.
25533 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25534 (po/%.po): ... this.
25535
25536 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25537
25538 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25539 (main): Use `program_name' instead of nonexistent `progname'.
25540
25541 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25542
25543 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25544 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25545
25546 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25547
25548 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25549 commit.
25550 * conf/i386-efi.rmk: Likewise.
25551 * conf/i386-ieee1275.rmk: Likewise.
25552 * conf/powerpc-ieee1275.rmk: Likewise.
25553 * conf/sparc64-ieee1275.rmk: Likewise.
25554 * conf/x86_64-efi.rmk: Likewise.
25555
25556 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25557
25558 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25559
25560 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25561
25562 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25563
25564 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25565
25566 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25567 (grub_mkdevicemap_SOURCES): New variable.
25568 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25569 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25570 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25571 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25572 (grub_mkdevicemap_SOURCES): Remove.
25573 * conf/i386-efi.rmk: Likewise.
25574 * conf/i386-ieee1275.rmk: Likewise.
25575 * conf/i386-pc.rmk: Likewise.
25576 * conf/powerpc-ieee1275.rmk: Likewise.
25577 * conf/sparc64-ieee1275.rmk: Likewise.
25578 * conf/x86_64-efi.rmk: Likewise.
25579 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25580 (usage): Fix strings to use `program_name'.
25581 (main): Initialize gettext.
25582 * util/grub-editenv.c: Likewise.
25583 * util/grub-emu.c: Likewise.
25584 * util/grub-fstest.c: Likewise.
25585 * util/grub-mkdevicemap.c: Likewise.
25586 * util/grub-mkfont.c: Likewise.
25587 * util/grub-mkrelpath.c: Likewise.
25588 * util/grub-pe2elf.c: Likewise.
25589 * util/grub-probe.c: Likewise.
25590 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25591 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25593
25594 * util/misc.c: Include `"progname.h"'.
25595 (progname): Remove variable.
25596 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25597
25598 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25599
25600 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25601 printf and print a newline after the menuentry header line.
25602 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25603
25604 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25605
25606 autoconf >= 2.60 support $(localedir).
25607
25608 * INSTALL: Note that autoconf 2.60 is required.
25609 * configure.ac (AC_PREREQ): Bump to 2.60.
25610 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25611 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25612
25613 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25614
25615 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25616 aclocal is run.
25617
25618 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25619
25620 * normal/main.c (grub_normal_read_line): Fix off-by-one
25621 buffer overflow.
25622
25623 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25624
25625 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25626 "parser.grub" in grub_command_execute() call.
25627
25628 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25629
25630 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25631 * conf/i386-efi.rmk: Likewise.
25632 * conf/i386-ieee1275.rmk: Likewise.
25633 * conf/i386-pc.rmk: Likewise.
25634 * conf/powerpc-ieee1275.rmk: Likewise.
25635 * conf/sparc64-ieee1275.rmk: Likewise.
25636 * conf/x86_64-efi.rmk: Likewise.
25637 * gettext/gettex.c: Include <grub/i18n.h>.
25638 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25639 here ...
25640 * include/grub/i18n.h: ... to here
25641 * include/grub/i18n.h: ... to here.
25642 * kern/misc.c: Include <grub/i18n.h>
25643 (grub_gettext_dummy): Move above user.
25644
25645 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25646
25647 * util/Makefile.in (install-local): Convert a `for' into a normal
25648 shell expansion.
25649
25650 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25651
25652 * autogen.sh: Add automake call.
25653 * config.guess: Remove.
25654 * config.sub: Likewise.
25655 * install-sh: Likewise.
25656
25657 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25658
25659 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25660
25661 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25662
25663 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25664 function to a normal shell `for'.
25665
25666 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25667
25668 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25669
25670 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25671
25672 * util/grub-mkrelpath.c: New file.
25673 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25674 (grub_mkrelpath_SOURCES): New variable.
25675 * include/grub/util/misc.h: New function prototype.
25676 * util/misc.c (make_system_path_relative_to_its_root): New function.
25677
25678 * util/grub-mkconfig_lib.in (bindir): New variable.
25679 (grub_mkrelpath): Likewise.
25680 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25681
25682 * util/probe.c (probe): Make the file path relative to its root.
25683 Change a info message to use the GRUB path. Enable again the
25684 check if we can read the file with GRUB facilities.
25685
25686 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25687 to its root.
25688
25689 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25690
25691 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25692 platform.
25693
25694 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25695
25696 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25697 strncmp().
25698
25699 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25700
25701 * util/getroot.c (grub_util_is_dmraid): New function.
25702 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25703 devices as normal ones, not as LVM.
25704
25705 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25706
25707 * conf/common.rmk: Add grub-gettext_lib target and updates
25708 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25709 LDFLAGS.
25710 * gettext/gettext.c: New file. (Reads mo files).
25711 * include/grub/file.h (grub_file_pread): New prototype.
25712 * include/grub/i18n.h (_): New prototype.
25713 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25714 prototypes.
25715 * kern/misc.c (grub_gettext_dummy): New function.
25716 * normal/menu_text.c: Include <grub/i18n.h>.
25717 * normal/menu_text.c (print_timeout): Gettexttize string.
25718 * normal/menu_text.c (print_message): Gettexttize string.
25719 * po/POTFILES: Add `normal/menu_text.c'.
25720 * po/ca.po: Add new translations.
25721 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25722 gettext module and defines locale_dir and lang in grub.cfg.
25723 * NEWS: Add gettext support.
25724
25725 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25726
25727 * util/hostdisk.c: Include `<grub/i18n.h>'.
25728 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25729 (make_device_name): Rewrite using asprintf.
25730 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25731 (find_system_device): If a device is not found, generate one just
25732 by reusing the OS path name.
25733 (read_device_map): Make it permissible for device.map not to exist.
25734
25735 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25736
25737 * script/sh/execute.c: Move from here ...
25738 * script/execute.c: ... to here. Update all users.
25739 * script/sh/function.c: Move from here ...
25740 * script/function.c: ... to here. Update all users.
25741 * script/sh/lexer.c: Move from here ...
25742 * script/lexer.c: ... to here. Update all users.
25743 * script/sh/main.c: Move from here ...
25744 * script/main.c: ... to here. Update all users.
25745 * script/sh/parser.y: Move from here ...
25746 * script/parser.y: ... to here. Update all users.
25747 * script/sh/script.c: Move from here ...
25748 * script/script.c: ... to here. Update all users.
25749
25750 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25751
25752 * configure.ac: Detect all `emu' platforms. Define
25753 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25754 --enable-grub-emu logic. Disable include/grub/machine
25755 symlink on `emu' platforms.
25756
25757 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25758 * gensymlist.sh.in: Likewise.
25759
25760 * include/grub/i386/coreboot/machine.h: Remove file.
25761 * include/grub/i386/efi/machine.h: Likewise.
25762 * include/grub/i386/ieee1275/machine.h: Likewise.
25763 * include/grub/i386/pc/machine.h: Likewise.
25764 * include/grub/i386/qemu/machine.h: Likewise.
25765 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25766 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25767 * include/grub/x86_64/efi/machine.h: Likewise.
25768
25769 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25770 * commands/halt.c: Likewise.
25771 * commands/reboot.c: Likewise.
25772 * include/grub/autoefi.h: Likewise.
25773 * include/grub/i386/at_keyboard.h: Likewise.
25774 * include/grub/i386/kernel.h: Likewise.
25775 * include/grub/i386/loader.h: Likewise.
25776 * include/grub/i386/pc/memory.h: Likewise.
25777 * kern/dl.c: Likewise.
25778 * kern/i386/coreboot/init.c: Likewise.
25779 * loader/i386/bsd.c: Likewise.
25780 * loader/i386/linux.c: Likewise.
25781 * loader/multiboot_loader.c: Likewise.
25782 * term/i386/pc/serial.c: Likewise.
25783 * term/usb_keyboard.c: Likewise.
25784
25785 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25786 `<grub/machine/machine.h>'
25787 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25788 * util/misc.c: Remove `<grub/machine/machine.h>' and
25789 `<grub/machine/time.h>'.
25790
25791 * Makefile.in (enable_grub_emu): Remove variable.
25792 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25793
25794 * conf/any-emu.rmk: New file.
25795 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25796 (grub_emu_init.c): Move from here ...
25797 * conf/any-emu.rmk: ... to here.
25798
25799 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25800 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25801 * conf/any-emu.rmk: ... to here.
25802
25803 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25804
25805 * include/grub/parser.h (grub_parser_register): Document need
25806 of `name' parameter.
25807 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25808 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25809 "sh" to "grub".
25810
25811 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25812
25813 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25814 `$(XGETTEXT)'.
25815 * include/grub/i18n.h (N_): New macro.
25816 * util/mkisofs/mkisofs.h: Likewise.
25817 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25818 around N_().
25819 (usage): Use gettext() to translate help strings when printing them.
25820
25821 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25822
25823 Based on patch from Bean
25824 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25825
25826 * video/efi_fb.c: New file.
25827 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25828 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25829 variables.
25830 * conf/x86_64-efi.rmk: Likewise.
25831
25832 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25833
25834 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25835 * util/i386/pc/grub-setup.c: Likewise.
25836
25837 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25838
25839 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25840 <hurd/fs.h>
25841 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25842 file_get_storage_info to implement grub_guess_root_device.
25843
25844 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25845
25846 * Makefile.in (target): Use make's builtin $(shell) function
25847 instead of calling directly $(SHELL) to create the locale directories,
25848 inside the $(foreach) function.
25849
25850 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25851
25852 * util/grub-mkrescue.in: Print an error and usage if output option
25853 has not been given.
25854
25855 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25856
25857 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25858 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25859 root and /boot are on different devices.
25860
25861 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25862
25863 Fix build for srcdir != objdir.
25864
25865 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25866 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25867 $(srcdir).
25868 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25869 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25870 reference for input.
25871
25872 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25873
25874 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25875 or hardlinking it). Remove -J option, Joliet is not compatible with
25876 multiple source directories.
25877
25878 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25879 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25880
25881 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25882 (process_input_dir): New function. Process an arbitrary input
25883 directory.
25884 Misc adjustments to support both "override mode" and system-wide mode.
25885
25886 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25887
25888 * configure.ac (UNIFONT_BDF): Rename to ...
25889 (FONT_SOURCE): ... this. Update all users.
25890
25891 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25892
25893 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25894 to the list of unifont files to look for.
25895
25896 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25897
25898 Patch from Joe Auricchio <jauricchio@gmail.com>
25899 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25900 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25901 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25902
25903 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25904
25905 * Makefile.in (install-local): Add a missing backslash.
25906
25907 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25908
25909 * include/grub/x86_64/io.h: New file.
25910
25911 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25912
25913 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25914 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25915 Include `"progname.h"'.
25916 (main): Initialize gettext.
25917 * util/i386/pc/grub-setup.c: Gettexttize.
25918 * util/i386/pc/grub-mkimage.c: Likewise.
25919
25920 * Makefile.in (po/*.po): Redefine as ...
25921 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25922
25923 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25924
25925 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25926
25927 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25928 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25929 (program_name): Remove.
25930 (main): Initialize gettext support.
25931 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25932 Include `<libintl.h>'.
25933 (_): New macro.
25934
25935 * util/mkisofs/eltorito.c: Gettexttize.
25936 * util/mkisofs/joliet.c: Likewise.
25937 * util/mkisofs/mkisofs.c: Likewise.
25938 * util/mkisofs/multi.c: Likewise.
25939 * util/mkisofs/rock.c: Likewise.
25940 * util/mkisofs/tree.c: Likewise.
25941 * util/mkisofs/write.c: Likewise.
25942
25943 * po/POTFILES: Update with new files.
25944
25945 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25946
25947 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25948 * util/mkisofs/iso9660.h: Likewise.
25949 * util/mkisofs/joliet.c: Likewise.
25950 * util/mkisofs/mkisofs.c: Likewise.
25951 * util/mkisofs/mkisofs.h: Likewise.
25952 * util/mkisofs/rock.c: Likewise.
25953 * util/mkisofs/tree.c: Likewise.
25954 * util/mkisofs/write.c: Likewise.
25955
25956 * util/mkisofs/eltorito.c (rcsid): Remove.
25957 * util/mkisofs/hash.c: Likewise.
25958 * util/mkisofs/joliet.c: Likewise.
25959 * util/mkisofs/name.c: Likewise.
25960 * util/mkisofs/rock.c: Likewise.
25961 * util/mkisofs/tree.c: Likewise.
25962 * util/mkisofs/write.c: Likewise.
25963
25964 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25965
25966 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25967 instead of static allocation.
25968 * util/mkisofs/match.h: Likewise.
25969
25970 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25971
25972 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25973 and `util/grub.d/10_linux.in'.
25974 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25975 translatable Shell files.
25976
25977 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25978
25979 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25980
25981 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25982
25983 * INSTALL: Document Automake is needed for bootstrap.
25984 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25985 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25986 Add gettext initialization.
25987 (kfreebsd_entry): Make menuentry output translatable.
25988
25989 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25990
25991 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25992 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25993 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25994 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25995 (LINGUAS): Auto-generate using `po/LINGUAS'.
25996 * po/LINGUAS: New file.
25997
25998 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25999
26000 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26001 other things).
26002 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26003 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26004 bindtextdomain() calls for gettext initialization.
26005
26006 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26007
26008 * gnulib/progname.c: New file (imported from Gnulib).
26009 * gnulib/progname.h: Likewise.
26010 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26011 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26012 (usage): Replace `progname' with `program_name'.
26013 (main): Use set_program_name() for program name initialization.
26014
26015 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26016
26017 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26018 from here ...
26019 * Makefile.in (CPPFLAGS): ... to here.
26020
26021 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26022
26023 * aclocal.m4: Move from here ...
26024 * acinclude.m4: ... to here.
26025 * autogen.sh: Add call to `aclocal'.
26026 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26027
26028 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26029
26030 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26031 (LINGUAS): New variable.
26032 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26033 (install-local): Install MO files.
26034 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26035 * include/grub/i18n.h: New file.
26036 * po/POTFILES: New file.
26037 * po/ca.po: New file.
26038 * util/grub.d/10_linux.in (bindir): New variable.
26039 Add gettext initialization.
26040 (linux_entry): Make menuentry output translatable.
26041 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26042 (usage): Make --help output translatable.
26043 (main): Initialize gettext.
26044
26045 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26046
26047 * import_gcry.py: New file (written by Vladimir with minor
26048 adjustments).
26049 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26050 ciphers.
26051 * INSTALL: Document that Python is required for bootstrap.
26052
26053 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26054
26055 Import ciphers from libgcrypt 1.4.4.
26056
26057 * lib/libgcrypt/cipher/ChangeLog
26058 * lib/libgcrypt/cipher/ac.c
26059 * lib/libgcrypt/cipher/arcfour.c
26060 * lib/libgcrypt/cipher/bithelp.h
26061 * lib/libgcrypt/cipher/blowfish.c
26062 * lib/libgcrypt/cipher/camellia-glue.c
26063 * lib/libgcrypt/cipher/camellia.c
26064 * lib/libgcrypt/cipher/camellia.h
26065 * lib/libgcrypt/cipher/cast5.c
26066 * lib/libgcrypt/cipher/cipher.c
26067 * lib/libgcrypt/cipher/crc.c
26068 * lib/libgcrypt/cipher/des.c
26069 * lib/libgcrypt/cipher/dsa.c
26070 * lib/libgcrypt/cipher/ecc.c
26071 * lib/libgcrypt/cipher/elgamal.c
26072 * lib/libgcrypt/cipher/hash-common.c
26073 * lib/libgcrypt/cipher/hash-common.h
26074 * lib/libgcrypt/cipher/hmac-tests.c
26075 * lib/libgcrypt/cipher/md.c
26076 * lib/libgcrypt/cipher/md4.c
26077 * lib/libgcrypt/cipher/md5.c
26078 * lib/libgcrypt/cipher/primegen.c
26079 * lib/libgcrypt/cipher/pubkey.c
26080 * lib/libgcrypt/cipher/rfc2268.c
26081 * lib/libgcrypt/cipher/rijndael-tables.h
26082 * lib/libgcrypt/cipher/rijndael.c
26083 * lib/libgcrypt/cipher/rmd.h
26084 * lib/libgcrypt/cipher/rmd160.c
26085 * lib/libgcrypt/cipher/rsa.c
26086 * lib/libgcrypt/cipher/seed.c
26087 * lib/libgcrypt/cipher/serpent.c
26088 * lib/libgcrypt/cipher/sha1.c
26089 * lib/libgcrypt/cipher/sha256.c
26090 * lib/libgcrypt/cipher/sha512.c
26091 * lib/libgcrypt/cipher/tiger.c
26092 * lib/libgcrypt/cipher/twofish.c
26093 * lib/libgcrypt/cipher/whirlpool.c
26094
26095 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26096
26097 Fix build for systems without error().
26098
26099 * gnulib/error.c: New file (imported from Gnulib).
26100 * gnulib/error.h: Likewise.
26101 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26102 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26103 (this variable is now used by error()).
26104
26105 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26106
26107 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26108 instead of relying that char is signed.
26109
26110 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26111
26112 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26113 blocksize different from specified.
26114 (grub_pxefs_read): Likewise.
26115
26116 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26117
26118 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26119
26120 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26121 (grub_ata_readwrite): Likewise. Update 2 format strings.
26122 (grub_atapi_read): Likewise.
26123
26124 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26125 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26126 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26127 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26128 (ata_mod_LDFLAGS): Move from here ...
26129 * conf/i386.rmk: ... to here ...
26130 * conf/x86_64-efi.rmk: ... and here.
26131 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26132 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26133
26134 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 Relicense multiboot.h, with RMS' blessing.
26137
26138 * include/multiboot.h: Change to X11 license.
26139
26140 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 Support --version in grub-mkisofs.
26143
26144 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26145 (OPTION_VERSION): New macro.
26146 (ld_options): Recognize --version.
26147 (usage): Move `program_name' from here ...
26148 (program_name): ... to here. Add `static' qualifier.
26149 (main): Recognize `OPTION_VERSION'.
26150
26151 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26152
26153 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26154 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26155
26156 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26157
26158 Fix help2man generation for mkisofs.
26159
26160 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26161 (usage): Send output to stdout (rather than stderr).
26162
26163 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26164
26165 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26166 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26167 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26168 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26169 (bin_SCRIPTS): Add `grub-mkfloppy'.
26170 (grub_mkfloppy_SOURCES): New variable.
26171
26172 * util/grub-mkrescue.in: New file.
26173 * util/i386/pc/grub-mkfloppy.in: New file.
26174
26175 * util/i386/coreboot/grub-mkrescue.in: Remove.
26176 * util/i386/pc/grub-mkrescue.in: Remove.
26177
26178 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26179
26180 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26181 from here ...
26182 * include/multiboot.h (struct multiboot_header): ... to here. Update
26183 all users.
26184 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26185 from here ...
26186 * include/multiboot.h (struct multiboot_info): ... to here. Update
26187 all users.
26188 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26189 from here ...
26190 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26191 Update all users.
26192 * include/grub/multiboot.h (struct grub_mod_list): Move
26193 from here ...
26194 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26195 Update all users.
26196
26197 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26198
26199 * include/multiboot2.h (multiboot_word): Rename from this ...
26200 (multiboot2_word): ... to this. Update all users.
26201 (multiboot_header): Rename from this ...
26202 (multiboot2_header): ... to this. Update all users.
26203 (multiboot_tag_header): Rename from this ...
26204 (multiboot2_tag_header): ... to this. Update all users.
26205 (multiboot_tag_start): Rename from this ...
26206 (multiboot2_tag_start): ... to this. Update all users.
26207 (multiboot_tag_name): Rename from this ...
26208 (multiboot2_tag_name): ... to this. Update all users.
26209 (multiboot_tag_module): Rename from this ...
26210 (multiboot2_tag_module): ... to this. Update all users.
26211 (multiboot_tag_memory): Rename from this ...
26212 (multiboot2_tag_memory): ... to this. Update all users.
26213 (multiboot_tag_unused): Rename from this ...
26214 (multiboot2_tag_unused): ... to this. Update all users.
26215 (multiboot_tag_end): Rename from this ...
26216 (multiboot2_tag_end): ... to this. Update all users.
26217
26218 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26219
26220 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26221 this platform we should support Multiboot1 first.
26222
26223 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26224 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26225 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26226
26227 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26228
26229 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26230 of write calls (converting them to fwrite() if they aren't already).
26231 (get_torito_desc): Likewise.
26232 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26233
26234 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26235
26236 * util/i386/pc/grub-install.in: Move from here ...
26237 * util/grub-install.in: ... to here. Update all users.
26238
26239 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26240
26241 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26242
26243 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26244
26245 Support for El Torito without floppy emulation.
26246
26247 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26248 (init_boot_catalog): Improve error handling.
26249 (get_torito_desc): Don't use floppy emulation unless requested by
26250 user. Patch boot information table when requested via
26251 `-boot-info-table'.
26252 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26253 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26254 (use_boot_info_table): New variables.
26255 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26256 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26257 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26258 `--eltorito-emul-floppy'.
26259 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26260 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26261 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26262 (use_boot_info_table, get_731): New prototypes.
26263 * util/mkisofs/write.c (get_731): New function.
26264
26265 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26266
26267 Fix the generation of the man page.
26268
26269 * util/pc/i386/grub-install.in: Source
26270 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26271
26272 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26273
26274 Large file support for grub-mkisofs.
26275
26276 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26277 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26278 (session_start): Upgrade type to `uint64_t'. Update all users.
26279 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26280 (struct directory_entry): Upgrade type of `starting_block' and
26281 `size' to `uint64_t'. Update all users.
26282 (struct deferred): Remove unused structure.
26283 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26284 Update all users.
26285 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26286 file is larger than `UINT32_MAX'.
26287 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26288 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26289 return value.
26290 (struct deferred_write): Upgrade type of `extent' and `size' to
26291 `uint64_t'. Update all users.
26292 (last_extent_written): Upgrade type to `uint64_t'. Update all
26293 users.
26294 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26295 Update all users. Upgrade type of `remain' to `int64_t' and
26296 `use' to `size_t'. Use error() to handle fread() errors.
26297 (write_files): Rely on write_one_file() rather than calling
26298 xfwrite() directly.
26299
26300 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26301
26302 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26303
26304 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26305
26306 * util/mkisofs/fnmatch.c: Remove.
26307 * util/mkisofs/getopt1.c: Likewise.
26308 * util/mkisofs/getopt.c: Likewise.
26309 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26310 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26311 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26312 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26313 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26314
26315 * configure.ac: Detect `mingw32msvc' host_os.
26316 Check for lstat(), getuid() and getgid().
26317
26318 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26319 instances of `u_char' with `uint8_t'.
26320
26321 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26322 [!HAVE_GETUID] (getuid): New function (stub).
26323 [!HAVE_GETGID] (getgid): Likewise.
26324 [!HAVE_LSTAT] (lstat): Likewise.
26325 [!S_IROTH] (S_IROTH): New macro (dummy).
26326 [!S_IRGRP] (S_IRGRP): Likewise.
26327
26328 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26329
26330 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26331 conditional expression).
26332
26333 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26334
26335 Import from Gnulib.
26336
26337 * gnulib/fnmatch.c: New file.
26338 * gnulib/fnmatch.h: Likewise.
26339 * gnulib/fnmatch_loop.c: Likewise.
26340 * gnulib/getopt.c: Likewise.
26341 * gnulib/getopt.h: Likewise.
26342 * gnulib/getopt1.c: Likewise.
26343 * gnulib/getopt_int.h: Likewise.
26344 * gnulib/gettext.h: Likewise.
26345
26346 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26347
26348 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26349 * normal/handler.c (read_handler_list): Likewise.
26350
26351 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26352
26353 Misc cleanup.
26354
26355 * kern/command.c (grub_register_command_prio): Use
26356 grub_zalloc() instead of explicitly zeroing data.
26357 * kern/list.c: Include `<grub/mm.h>'.
26358 (grub_named_list_find): Replace `0' with `NULL'.
26359 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26360 (fs_module_list): Change type to `grub_named_list_t'. Update all
26361 users.
26362 * normal/dyncmd.c (read_command_list): Add space between function
26363 call and parenthesis.
26364 * normal/handler.c (read_handler_list): Likewise.
26365
26366 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26367
26368 * normal/auth.c (punishment_delay): Moved from here ...
26369 (grub_auth_strcmp): ... to here (inside function).
26370
26371 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26372
26373 * include/grub/list.h (struct grub_named_list): Remove `const'
26374 qualifier from `name'.
26375 (struct grub_prio_list): Likewise.
26376
26377 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26378
26379 * normal/auth.c: Include `<grub/time.h>'.
26380 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26381
26382 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26383
26384 * normal/auth.c (punishment_delay): New variable.
26385 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26386 (grub_auth_check_authentication): Punish failed login attempts with
26387 an incremental (2^N) delay.
26388
26389 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26390
26391 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26392 path with $(srcdir).
26393
26394 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26395
26396 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26397
26398 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26399
26400 * util/i386/coreboot/grub-mkrescue.in: New file.
26401 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26402 variables.
26403
26404 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26405 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26406 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26407 requirements.
26408 * util/mkisofs/defaults.h: New file.
26409 * util/mkisofs/eltorito.c: Likewise.
26410 * util/mkisofs/exclude.h: Likewise.
26411 * util/mkisofs/fnmatch.c: Likewise.
26412 * util/mkisofs/getopt.c: Likewise.
26413 * util/mkisofs/getopt1.c: Likewise.
26414 * util/mkisofs/hash.c: Likewise.
26415 * util/mkisofs/include/fctldefs.h: Likewise.
26416 * util/mkisofs/include/mconfig.h: Likewise.
26417 * util/mkisofs/include/prototyp.h: Likewise.
26418 * util/mkisofs/include/statdefs.h: Likewise.
26419 * util/mkisofs/iso9660.h: Likewise.
26420 * util/mkisofs/joliet.c: Likewise.
26421 * util/mkisofs/match.c: Likewise.
26422 * util/mkisofs/match.h: Likewise.
26423 * util/mkisofs/mkisofs.c: Likewise.
26424 * util/mkisofs/mkisofs.h: Likewise.
26425 * util/mkisofs/multi.c: Likewise.
26426 * util/mkisofs/name.c: Likewise.
26427 * util/mkisofs/rock.c: Likewise.
26428 * util/mkisofs/tree.c: Likewise.
26429 * util/mkisofs/write.c: Likewise.
26430
26431 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26432
26433 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26434 being insecure.
26435
26436 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26437
26438 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26439 `grub-mkimage' (and use $0 when possible).
26440
26441 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26442
26443 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26444 error message for excessively large memory map.
26445
26446 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26447
26448 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26449 executable bit.
26450
26451 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26452
26453 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26454 message for coreboot users.
26455
26456 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26457
26458 Fix build with GNU gold.
26459
26460 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26461 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26462 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26463 link addresses.
26464 * aclocal.m4: Likewise.
26465
26466 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26467
26468 * configure.ac (AC_PREREQ): Bump to 2.59d.
26469 * INSTALL: Make it more clear when Autoconf and Ruby are
26470 needed and when to run `./autogen.sh'.
26471
26472 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26473
26474 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26475 OSes.
26476
26477 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26478
26479 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26480
26481 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26482
26483 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26484 giving it to GNU Mach.
26485
26486 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26487
26488 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26489 GNU partition number to get internal GRUB partition number.
26490
26491 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26492
26493 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26494 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26495
26496 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26497
26498 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26499 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26500 case.
26501
26502 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26503
26504 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26505
26506 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26507
26508 Fix build problem.
26509
26510 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26511 `-isystem=$(srcdir)/include'.
26512
26513 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26514
26515 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26516 checked (grub-install doesn't currently rely on it).
26517
26518 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26519
26520 Revert SVN r2660.
26521
26522 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26523 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26524 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26525 * conf/i386-ieee1275.rmk: Likewise.
26526 * conf/i386-pc.rmk: Likewise.
26527 * conf/powerpc-ieee1275.rmk: Likewise.
26528 * conf/sparc64-ieee1275.rmk: Likewise.
26529 * conf/x86_64-efi.rmk: Likewise.
26530
26531 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26532
26533 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26534
26535 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26536
26537 * include/grub/misc.h: Stop checking for APPLE_CC.
26538
26539 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26540
26541 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26542 doesn't cause an infinite call loop.
26543
26544 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26545
26546 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26547 strings.
26548
26549 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26550
26551 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26552 variable.
26553 * Makefile.in: Likewise.
26554
26555 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26556
26557 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26558
26559 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26560
26561 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26562
26563 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26564
26565 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26566
26567 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26570 from here ...
26571 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26572
26573 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26576 in $(MAKEINFO) invocation. This makes it clear in output that
26577 errors are being ignored.
26578
26579 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26580
26581 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26582 from here ...
26583 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26584 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26585 * conf/i386-ieee1275.rmk: Likewise.
26586 * conf/i386-pc.rmk: Likewise.
26587 * conf/powerpc-ieee1275.rmk: Likewise.
26588 * conf/sparc64-ieee1275.rmk: Likewise.
26589 * conf/x86_64-efi.rmk: Likewise.
26590
26591 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26592
26593 * util/grub-editenv.c (main): If only a command is given, use
26594 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26595 (usage): FILENAME is now optional and has a default.
26596
26597 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26598
26599 Improve grub-mkconfig performance when there are several menu
26600 entries on a single filesystem.
26601
26602 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26603 prepare_grub_to_access_device.
26604 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26605 * util/grub.d/30_os-prober.in: Likewise.
26606
26607 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26608
26609 * util/grub.d/10_freebsd.in: Remove.
26610 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26611 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26612
26613 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26614
26615 * docs/grub.cfg: Fix example usage of *BSD loaders.
26616
26617 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26618
26619 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26620 grub_util_error() call.
26621
26622 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26623
26624 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26625 `reserved_first_sector' member.
26626 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26627 `reserved_first_sector' to 1.
26628 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26629 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26630 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26631 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26632 filesystems which begin at first sector.
26633 (options): New option --skip-fs-probe.
26634 (main): Handle --skip-fs-probe and pass it to setup().
26635
26636 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26637
26638 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26639 (memset): Fix function prototype.
26640
26641 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26642 2009-10-25 Vasily Averin <vvs@parallels.com>
26643
26644 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26645 `dirent.direntlen == 0'.
26646
26647 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26650 `cpio'.
26651 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26652
26653 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26654
26655 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26656 `__trampoline_setup' and `__ucmpdi2'.
26657 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26658 that libgcc provides.
26659
26660 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26661
26662 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26663 * include/grub/sparc64/libgcc.h (memset): Likewise.
26664 * include/grub/misc.h (memset, memcmp): New function prototypes.
26665
26666 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26667
26668 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26669 `cpio'.
26670 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26671
26672 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26673
26674 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26675 * docs/grub.cfg: Compensate for recent change in multiboot
26676 loader (since 2009-08-14 it won't pass filename to payload).
26677 * util/grub.d/10_hurd.in: Likewise.
26678
26679 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26680
26681 * config.guess: Update to latest version from config git
26682 repository.
26683 * config.sub: Likewise.
26684
26685 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26686
26687 Fix build on sparc64.
26688
26689 * configure.ac: Perform checks for libgcc symbols before
26690 adding `-nostdlib' to LDFLAGS.
26691
26692 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 Let user specify OpenBSD root device.
26695
26696 * loader/i386/bsd.c (openbsd_root): New variable.
26697 (openbsd_opts): New option 'root'.
26698 (OPENBSD_ROOT_ARG): New macro.
26699 (grub_openbsd_boot): Use 'openbsd_root'.
26700 (grub_cmd_openbsd): Fill 'openbsd_root'.
26701
26702 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26703
26704 * NEWS: Misc adjustments.
26705
26706 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26707
26708 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26709
26710 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26711
26712 * configure.ac: Bump version to 1.97.
26713
26714 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26715
26716 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26717 -mno-3dnow on x86 architectures. Some toolchains enable these
26718 features by default, but they rely on registers that aren't enabled
26719 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26720
26721 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26722
26723 Make entry text a bit more readable.
26724
26725 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26726
26727 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26728
26729 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26730
26731 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26734 operations.
26735
26736 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26737
26738 * configure.ac: Add missing dollar.
26739
26740 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26741
26742 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26743
26744 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26745 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26746 exports.
26747 * include/grub/sparc64/libgcc.h: Likewise. Use
26748 preprocessor conditionals.
26749
26750 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26751
26752 * conf/common.rmk (grub-dumpbios): Remove rule.
26753 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26754 * util/grub-dumpbios.in: Remove file.
26755
26756 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26757
26758 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26759 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26760
26761 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26762 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26763 users.
26764
26765 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26766 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26767 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26768 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26769 users.
26770
26771 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26772
26773 * term/tparm.c: Switch to GPLv3.
26774
26775 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26776
26777 * include/grub/i386/cpuid.h: Add header protection.
26778
26779 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26780
26781 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26782
26783 * include/grub/i386/cpuid.h: New file.
26784 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26785 (has_longmode): Rename to ...
26786 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26787 `static' attribute.
26788 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26789 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26790 on a CPU that doesn't implement AMD64 instruction set.
26791
26792 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26793
26794 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26795 that version.texi is rebuilt on version number changes.
26796
26797 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26798
26799 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26800 Fixes bug #27602.
26801
26802 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26803
26804 * util/i386/pc/grub-install.in: Source
26805 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26806 that the --grub-probe option will work.
26807 * util/sparc64/ieee1275/grub-install.in: Likewise.
26808
26809 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26810
26811 * configure.ac: Bump version to 1.97~beta4.
26812
26813 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26814
26815 Resync grub-mkdevicemap in x86_64-efi.
26816
26817 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26818 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26819 `util/devicemap.c'.
26820
26821 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26822
26823 * util/grub-editenv.c (create_envblk_file): Write new block with a
26824 .new suffix and then rename it into place, to ensure atomic
26825 creation.
26826
26827 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26828
26829 Do not automatically install headers.
26830
26831 * Makefile.in (include_DATA): Remove. Update all users.
26832
26833 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26834
26835 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26836 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26837
26838 * util/osdetect.lua: Remove.
26839 * script/lua/lauxlib.c: Likewise.
26840 * script/lua/ldebug.c: Likewise.
26841 * script/lua/grub_main.c: Likewise.
26842 * script/lua/lauxlib.h: Likewise.
26843 * script/lua/ldebug.h: Likewise.
26844 * script/lua/ltablib.c: Likewise.
26845 * script/lua/liolib.c: Likewise.
26846 * script/lua/lstrlib.c: Likewise.
26847 * script/lua/lualib.h: Likewise.
26848 * script/lua/ldo.c: Likewise.
26849 * script/lua/ldump.c: Likewise.
26850 * script/lua/ldo.h: Likewise.
26851 * script/lua/loslib.c: Likewise.
26852 * script/lua/lundump.c: Likewise.
26853 * script/lua/grub_lib.c: Likewise.
26854 * script/lua/ldblib.c: Likewise.
26855 * script/lua/lundump.h: Likewise.
26856 * script/lua/lmem.c: Likewise.
26857 * script/lua/grub_lib.h: Likewise.
26858 * script/lua/lmathlib.c: Likewise.
26859 * script/lua/lstate.c: Likewise.
26860 * script/lua/ltm.c: Likewise.
26861 * script/lua/lvm.c: Likewise.
26862 * script/lua/lmem.h: Likewise.
26863 * script/lua/lstate.h: Likewise.
26864 * script/lua/ltm.h: Likewise.
26865 * script/lua/ltable.c: Likewise.
26866 * script/lua/lvm.h: Likewise.
26867 * script/lua/llex.c: Likewise.
26868 * script/lua/lgc.c: Likewise.
26869 * script/lua/grub_lua.h: Likewise.
26870 * script/lua/loadlib.c: Likewise.
26871 * script/lua/lfunc.c: Likewise.
26872 * script/lua/lopcodes.c: Likewise.
26873 * script/lua/lparser.c: Likewise.
26874 * script/lua/ltable.h: Likewise.
26875 * script/lua/llex.h: Likewise.
26876 * script/lua/lgc.h: Likewise.
26877 * script/lua/lfunc.h: Likewise.
26878 * script/lua/lbaselib.c: Likewise.
26879 * script/lua/lopcodes.h: Likewise.
26880 * script/lua/lparser.h: Likewise.
26881 * script/lua/lzio.c: Likewise.
26882 * script/lua/linit.c: Likewise.
26883 * script/lua/lobject.c: Likewise.
26884 * script/lua/llimits.h: Likewise.
26885 * script/lua/lstring.c: Likewise.
26886 * script/lua/lzio.h: Likewise.
26887 * script/lua/lapi.c: Likewise.
26888 * script/lua/lcode.c: Likewise.
26889 * script/lua/lua.h: Likewise.
26890 * script/lua/lobject.h: Likewise.
26891 * script/lua/lstring.h: Likewise.
26892 * script/lua/lapi.h: Likewise.
26893 * script/lua/lcode.h: Likewise.
26894 * script/lua/luaconf.h: Likewise.
26895
26896 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26897
26898 * docs/grub.texi (Command-line and menu entry commands): Document
26899 date and echo commands.
26900
26901 2009-09-24 Pavel Roskin <proski@gnu.org>
26902
26903 * include/grub/kernel.h (struct grub_module_header): Remove
26904 `grub_module_header_types'. Make `type' unsigned. Make `size'
26905 32-bit on all platforms.
26906 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26907 8-bit field. Use grub_host_to_target32() for `size'.
26908 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26909 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26910 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26911
26912 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26913
26914 Fix "lost keypress" bug in at_keyboard.
26915
26916 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26917 Checks for readyness of input buffer (without flushing it).
26918 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26919 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26920
26921 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26922
26923 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26924 size check within GRUB_MACHINE_PCBIOS section.
26925
26926 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26927
26928 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26929 return value.
26930 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26931 KEYBOARD_ISREADY check.
26932 (grub_at_keyboard_checkkey): Rename to ...
26933 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26934 Remove gratuitous cast.
26935
26936 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26937
26938 * configure.ac: Call AC_PROG_MKDIR_P.
26939 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26940 version.texi in $(builddir) rather than $(srcdir).
26941 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26942 to makeinfo's @include search path.
26943
26944 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26945
26946 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26947
26948 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26949
26950 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26951 for `*.dpkg-new'.
26952
26953 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26954
26955 Build info documentation. Some code borrowed from Automake.
26956
26957 * configure.ac: Check for makeinfo.
26958 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26959 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26960 docs/version.texi.
26961 (MOSTLYCLEANFILES): Add vti.tmp.
26962 (docs/version.texi, docs/stamp-vti): Update automatically.
26963 (docs/grub.info): Build info documentation. Use --force and ignore
26964 errors for now.
26965 (all-local): Add $(INFOS).
26966 (install-local): Install info files.
26967 (uninstall): Uninstall info files.
26968 * docs/version.texi: Remove from revision control. This file is
26969 automatically generated on build now.
26970 * gendistlist.sh: Add `*.info'.
26971
26972 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26973
26974 * kern/term.c: Fix indentation.
26975
26976 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26977
26978 * util/hostdisk.c: Fix a comment.
26979
26980 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26981
26982 Fix regression introduced in r2539.
26983
26984 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26985 to 0xA1.
26986
26987 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26988
26989 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26990 os-prober. Under normal operation, it does not print anything to
26991 stderr; if it does, we need to debug it, and throwing away stderr
26992 makes that excessively difficult.
26993
26994 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26997
26998 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26999
27000 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27001 AC_LANG_PROGRAM from autoconf.
27002 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27003 prototypes (fixes warning).
27004
27005 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27006 `--disable-werror' was used.
27007
27008 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27009
27010 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27011 uninitialized `lastaddr'.
27012
27013 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27014
27015 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
27016
27017 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27018
27019 * commands/test.c (get_fileinfo): Return immediately if
27020 grub_fs_probe fails.
27021
27022 2009-09-14 José Martínez <xosemp@gmail.com>
27023
27024 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27025
27026 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27027
27028 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27029 output.
27030
27031 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27032
27033 * configure.ac: Remove --enable-grub-pe2elf. Only build
27034 grub-pe2elf when needed by the build system itself.
27035 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27036
27037 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27038
27039 * configure.ac: Bump version to 1.97~beta3.
27040 * docs/version.texi: Likewise.
27041
27042 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27043
27044 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27045 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27046 from here ...
27047 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27048 (grub_linux_setup_video): ... to here (with some adjustments).
27049
27050 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27051
27052 Fix memory corruption issue (spotted by Colin Watson).
27053
27054 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27055 causing returned size to be stored in an incorrect memory location.
27056 Fix use of uninitialized value when storing the returned size.
27057
27058 2009-09-12 Yves Blusseau <blusseau@zetam.org>
27059
27060 Change clean rules to properly remove files
27061
27062 * genmk.rb: add new clean rules
27063 * Makefile.in (clean): add the new targets
27064 (mostlyclean): likewise
27065
27066 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27067
27068 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27069 to grub_uint64_t.
27070 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27071 non-resident files.
27072
27073 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27074
27075 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27076 part of bug #27349.
27077
27078 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27079
27080 * util/grub-mkconfig.in: Make the created config mode 400 and
27081 print a warning if it fails.
27082
27083 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27084
27085 * util/grub.d/40_custom.in: Ask user to type custom entries below
27086 comment, rather than below 'exec tail' line.
27087
27088 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27089
27090 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27091 visible in grub.cfg.
27092
27093 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27094
27095 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27096 file.
27097
27098 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27099
27100 * docs/grub.cfg: Add an example menu entry for memtest86+.
27101
27102 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27103
27104 * config.guess: Update to latest version from config git.
27105 * config.sub: Likewise.
27106
27107 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27108
27109 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27110 unknown-command case. Fixes bug #27320.
27111
27112 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27113
27114 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27115 `help' if the command exists.
27116
27117 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27118
27119 * INSTALL: Require GCC 4.1.3 or later.
27120
27121 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27122
27123 * Makefile.in (RMKFILES): add i386-qemu.rmk
27124 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27125 $(srcdir)/stamp-h.in
27126
27127 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27128
27129 * util/grub-probe.c (probe): Comment out buggy codepath, which
27130 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27131 should be re-enabled after 1.97.
27132
27133 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27134
27135 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27136 find searches for.
27137
27138 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27139
27140 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27141 unnecessary calls to grub_error.
27142
27143 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27144
27145 * NEWS: Mention `keystatus' and Unicode fonts.
27146
27147 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27148
27149 * configure.ac: Bump version to 1.97~beta2.
27150 * docs/version.texi: Likewise.
27151
27152 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27153
27154 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27155 containing unwind information in some cases where it previously did
27156 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27157 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27158 discussion.
27159
27160 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27161
27162 Embedding loadenv module into grub-emu
27163
27164 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27165 commands/loadenv.c
27166 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27167 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27168 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27170 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27171 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27172
27173 2009-09-03 Magnus Granberg <zorry@ume.nu>
27174
27175 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27176 include -fPIE in the default specs.
27177 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27178 to TARGET_CFLAGS.
27179
27180 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27181
27182 * INSTALL: Note that GNU Bison 2.3 or later is required.
27183
27184 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27185
27186 * kern/i386/pc/startup.S: Fix typo.
27187
27188 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27189
27190 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27191 according to GCS.
27192
27193 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27194
27195 * docs/grub.texi (Naming convention): Describe one-based partition
27196 numbering.
27197 (Device syntax): Likewise.
27198 (File name syntax): Likewise.
27199 (Block list syntax): Likewise.
27200 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27201 menu.lst.
27202 (File name syntax): Likewise.
27203 (Command-line and menu entry commands): Document acpi, blocklist,
27204 crc, export, insmod, keystatus, ls, set, and unset commands.
27205
27206 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27207
27208 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27209 to avoid implying that only one of --shift, --ctrl, or --alt may be
27210 used.
27211
27212 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27213
27214 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27215 rather than comparing against S_IFREG, which will almost never work.
27216
27217 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27218
27219 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27220 (write_blocklists): Likewise.
27221
27222 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27223
27224 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27225 argument to grub_printf.
27226
27227 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27228
27229 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27230 non GNU test.
27231
27232 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27233
27234 * kern/file.c (grub_file_read): Spelling fix
27235
27236 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27237
27238 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27239 loading of headers in some cases.
27240
27241 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 * configure.ac: Bump version to 1.97~beta1.
27244 * docs/version.texi: Likewise.
27245
27246 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27247
27248 * include/grub/i386/xnu.h: Add license header.
27249 include grub/err.h explicitly.
27250
27251 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27252
27253 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27254 to `ufs' in the vfs.root.mountfrom kernel parameter.
27255
27256 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27257
27258 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27259
27260 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27261 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27262
27263 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27264 `ARRAY_SIZE' macro.
27265
27266 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 * kern/file.c (grub_file_read): Check offset.
27269 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27270 * fs/jfs.c (grub_jfs_read_file): Likewise.
27271 * fs/ntfs.c (grub_ntfs_read): Likewise.
27272 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27273 * fs/minix.c (grub_minix_read_file): Correct offset check.
27274 * fs/ufs.c (grub_ufs_read_file): Likewise.
27275
27276 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27277
27278 * term/i386/pc/console.c (bios_data_area): Cast
27279 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27280
27281 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 1-bit optimised blitters.
27284
27285 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27286 prototype.
27287 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27288 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27289 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27290 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27291 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27292 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27293 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27294 function.
27295 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27296 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27297 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27298 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27299 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27300 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27301 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27302 when possible.
27303 * video/video.c (grub_video_get_blit_format): Return
27304 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27305
27306 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27307
27308 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27309 the first argument to grub_printf.
27310
27311 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27312 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27313
27314 Add `getkeystatus' terminal method. Add a new `keystatus' command
27315 to query it.
27316
27317 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27318 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27319 modifier key bitmasks.
27320 (struct grub_term_input): Add `getkeystatus' member.
27321 (grub_getkeystatus): Add prototype.
27322 * kern/term.c (grub_getkeystatus): New function.
27323
27324 * include/grub/i386/pc/memory.h
27325 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27326 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27327 Data Area layout.
27328 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27329 (grub_console_term_input): Set `getkeystatus' member.
27330 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27331 constants.
27332 (grub_usb_keyboard_getreport): Likewise.
27333 (grub_usb_keyboard_checkkey): Likewise.
27334 (grub_usb_keyboard_getkeystatus): New function.
27335 (grub_usb_keyboard_term): Set `getkeystatus' member.
27336
27337 * commands/keystatus.c: New file.
27338 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27339 (keystatus_mod_SOURCES): New variable.
27340 (keystatus_mod_CFLAGS): Likewise.
27341 (keystatus_mod_LDFLAGS): Likewise.
27342 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27343 commands/keystatus.c.
27344 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27345 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27346 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27349 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27350
27351 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27352
27353 Split befs.mod and afs.mod into *_be.mod and *.mod
27354
27355 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27356 (grub_fstest_SOURCES): Likewise.
27357 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27358 (afs_be_mod_SOURCES): New variable.
27359 (afs_be_mod_CFLAGS): Likewise.
27360 (afs_be_mod_LDFLAGS): Likewise.
27361 (befs_be_mod_SOURCES): Likewise.
27362 (befs_be_mod_CFLAGS): Likewise.
27363 (befs_be_mod_LDFLAGS): Likewise.
27364 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27365 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27366 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27367 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27368 (grub_emu_SOURCES): Likewise.
27369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27370 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27371 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27372 * fs/afs_be.c: New file.
27373 * fs/befs_be.c: New file.
27374 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27375 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27376 (U16): Replaced with ...
27377 (grub_afs_to_cpu16): ...this. All users updated.
27378 (U32): Replaced with ...
27379 (grub_afs_to_cpu32): ...this. All users updated.
27380 (U64): Replaced with ...
27381 (grub_afs_to_cpu64): ...this. All users updated.
27382 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27383 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27384 (grub_afs_validate_sblock): Check only one endianness.
27385 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27386 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27387 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27388 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27389 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27390 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27391 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27392 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27393
27394 2009-08-26 Bean <bean123ch@gmail.com>
27395
27396 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27397 64-bit number.
27398 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27399 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27400 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27401
27402 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 NetBSD memory map support.
27405
27406 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27407 (grub_netbsd_btinfo_mmap_header): New structure.
27408 (grub_netbsd_btinfo_mmap_entry): Likewise.
27409 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27410
27411 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27412
27413 Enable bsd.mod on coreboot.
27414
27415 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27416 (bsd_mod_SOURCES): New variable.
27417 (bsd_mod_CFLAGS): Likewise.
27418 (bsd_mod_LDFLAGS): Likewise.
27419 (bsd_mod_ASFLAGS): Likewise.
27420 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27421 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27422
27423 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27424
27425 Cleanup NetBSD root support.
27426
27427 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27428 grub_bsd_get_device.
27429 Fix typo.
27430
27431 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27432
27433 * util/grub.d/00_header.in: Move check for the video backend of
27434 gfxterm from here ...
27435 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27436 a suitable video backend.
27437
27438 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27439
27440 Fix breakage in grub-setup.
27441
27442 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27443 "msdos_partition_map".
27444
27445 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Fix breakage in normal/auth.c.
27448
27449 * normal/auth.c (grub_iswordseparator): New function.
27450
27451 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27452
27453 Authentication support.
27454
27455 * commands/password.c: New file.
27456 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27457 (password_mod_SOURCES): New variable.
27458 (password_mod_CFLAGS): Likewise.
27459 (password_mod_LDFLAGS): Likewise.
27460 (normal_mod_SOURCES): Add normal/auth.c.
27461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27462 normal/auth.c.
27463 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27464 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27465 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27468 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27469 * include/grub/auth.h: New file.
27470 * include/grub/err.h (grub_err_t): New enum value
27471 GRUB_ERR_ACCESS_DENIED.
27472 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27473 'users'.
27474 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27475 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27476 users updated.
27477 * normal/auth.c: New file.
27478 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27479 (grub_cmdline_run): Don't allow to go to command line without
27480 authentication.
27481 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27482 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27483 menuentry without superuser rights.
27484 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27485 user isn't a superuser.
27486
27487 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27488
27489 Save space by inlining misc.c functions.
27490
27491 * kern/misc.c (grub_iswordseparator): Made static.
27492 * kern/misc.c (grub_strcat): Moved from here ...
27493 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27494 * kern/misc.c (grub_strncat): Moved from here ...
27495 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27496 * kern/misc.c (grub_strcasecmp): Moved from here ...
27497 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27498 * kern/misc.c (grub_strncasecmp): Moved from here ...
27499 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27500 * kern/misc.c (grub_isalpha): Moved from here ...
27501 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27502 * kern/misc.c (grub_isdigit): Moved from here ...
27503 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27504 * kern/misc.c (grub_isgraph): Moved from here ...
27505 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27506 * kern/misc.c (grub_tolower): Moved from here ...
27507 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27508
27509 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27510
27511 * script/sh/function.c (grub_script_function_find): Cut error message
27512 not to flood terminal.
27513 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27514 limit.
27515 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27516
27517 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27518
27519 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27520 `report' grub_uint8_t *.
27521 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27522 Use a 50-millisecond timeout rather than just repeating
27523 grub_usb_keyboard_getreport 50 times.
27524 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27525
27526 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 Rename *_partition_map to part_*
27529
27530 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27531 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27532 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27533 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27534 All users updated.
27535 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27536 All users updated.
27537 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27538 * util/grub-probe.c (probe_partmap): Don't transform partition name
27539 to get module name.
27540
27541 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27542
27543 Fix OpenBSD and NetBSD support.
27544
27545 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27546 memory address conflict.
27547 (OPENBSD_MMAP_ACPI): New definition.
27548 (OPENBSD_MMAP_NVS): Likewise.
27549 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27550 and OPENBSD_MMAP_NVS.
27551 Add memory map terminator
27552 Explicit cast when calling grub_unix_real_boot.
27553 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27554
27555 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 Let user specify NetBSD root device.
27558
27559 * loader/i386/bsd.c (netbsd_root): New variable.
27560 (netbsd_opts): New option 'root'.
27561 (NETBSD_ROOT_ARG): New macro.
27562 (grub_netbsd_boot): Use 'netbsd_root'.
27563 (grub_bsd_unload): Free 'netbsd_root'.
27564 (grub_cmd_netbsd): Fill 'netbsd_root'.
27565
27566 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27567
27568 Support for 64-bit NetBSD.
27569
27570 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27571 point when booting non-FreeBSD.
27572
27573 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 Support --no-smp and --no-acpi for NetBSD.
27576
27577 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27578 (NETBSD_AB_NOACPI): Likewise.
27579 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27580 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27581
27582 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27583
27584 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27585 errors.
27586 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27587 errors. Call grub_error when needed.
27588
27589 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27590
27591 * commands/search.c (search_fs): Try searching without autoload first.
27592 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27593 filesystem module explicitly for faster booting.
27594
27595 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27596
27597 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27598
27599 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27600
27601 * util/grub.d/30_os-prober.in: Disable os-prober if
27602 `GRUB_DISABLE_OS_PROBER' was set to true.
27603
27604 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27605
27606 * partmap/pc.c: Rename to ...
27607 * partmap/msdos.c: ... this. Update all users.
27608 (grub_pc_partition_map): Rename to ...
27609 (grub_msdos_partition_map): ... this. Update all users.
27610
27611 * parttool/pcpart.c: Rename to ...
27612 * parttool/msdospart.c: ... this. Update all users.
27613
27614 * include/grub/pc_partition.h: Rename to ...
27615 * include/grub/msdos_partition.h: ... this. Update all users.
27616 (grub_pc_partition_bsd_entry): Rename to ...
27617 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27618 (grub_pc_partition_disk_label): Rename to ...
27619 (grub_msdos_partition_disk_label): ... this. Update all users.
27620 (grub_pc_partition_entry): Rename to ...
27621 (grub_msdos_partition_entry): ... this. Update all users.
27622 (grub_pc_partition_mbr): Rename to ...
27623 (grub_msdos_partition_mbr): ... this. Update all users.
27624 (grub_pc_partition): Rename to ...
27625 (grub_msdos_partition): ... this. Update all users.
27626 (grub_pc_partition_is_empty): Rename to ...
27627 (grub_msdos_partition_is_empty): ... this. Update all users.
27628 (grub_pc_partition_is_extended): Rename to ...
27629 (grub_msdos_partition_is_extended): ... this. Update all users.
27630 (grub_pc_partition_is_bsd): Rename to ...
27631 (grub_msdos_partition_is_bsd): ... this. Update all users.
27632
27633 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27634 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27635 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27636 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27637 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27638 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27639 (gpt_mod_LDFLAGS): Rename to ...
27640 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27641 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27642 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27643 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27644 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27645 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27646 (part_gpt_mod_LDFLAGS): ... this.
27647 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27648 `pcpart.mod' to `msdospart.mod'.
27649 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27650 to ...
27651 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27652 (msdospart_mod_LDFLAGS): ... this.
27653
27654 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27657 (openbsd_opts): Likewise.
27658 (netbsd_opts): Likewise.
27659 (freebsd_flags): Added 0 terminator.
27660 (openbsd_flags): Likewise.
27661 (netbsd_flags): Likewise.
27662 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27663 (grub_cmd_freebsd): Transformed into extended command.
27664 (grub_cmd_openbsd): Likewise.
27665 (grub_cmd_netbsd): Likewise.
27666 (cmd_freebsd): Changed type to grub_extcmd_t.
27667 (cmd_openbsd): Likewise.
27668 (cmd_netbsd): Likewise.
27669 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27670 grub_cmd_openbsd as extended commands.
27671 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27672 cmd_netbsd and cmd_openbsd
27673
27674 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27677
27678 2009-08-21 Pavel Roskin <proski@gnu.org>
27679
27680 * Makefile.in (install-local): When checking if a file is in the
27681 build directory, use "test -e" to detect symlinks.
27682
27683 * Makefile.in (install-local): Remove all files in
27684 $(DESTDIR)$(pkglibdir) before installing new files there.
27685
27686 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27687
27688 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27689 grub-mkelfimage.
27690
27691 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27692
27693 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27694 explicitly specified by the user.
27695
27696 2009-08-18 Pavel Roskin <proski@gnu.org>
27697
27698 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27699 grub_uint8_t pointer for data.
27700 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27701 Likewise.
27702 * video/fb/fbutil.c: Remove unnecessary casts.
27703
27704 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27705
27706 VBE cleanup.
27707
27708 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27709 (grub_vbe_set_video_mode): Save active mode info
27710 only after setting the mode.
27711 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27712 second argument.
27713
27714 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27715
27716 Rename variables for clarity.
27717
27718 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27719 (active_vbe_mode_info): ... this. All users updated.
27720 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27721 All users updated.
27722 (initial_mode): Rename to ...
27723 (initial_vbe_mode): ... this. All users updated.
27724 (mode_in_use): Rename to ..
27725 (vbe_mode_in_use): ... this. All users updated.
27726 (mode_list): Rename to ..
27727 (vbe_mode_list): ... this. All users updated.
27728 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27729 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27730 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27731 'mode_list_size' to 'vbe_mode_list_size'.
27732 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27733 'best_mode_info' to 'best_vbe_mode_info' and
27734 'best_mode' to 'best_vbe_mode'
27735
27736 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27737
27738 Remove duplicate grub_video_fb_get_video_ptr.
27739
27740 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27741 (grub_video_fb_get_video_ptr): ... this.
27742 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27743 * video/fb/fbutil.c: Add comment about addressing.
27744 (get_data_ptr): Rename to ...
27745 (grub_video_fb_get_video_ptr): ... this. All users updated.
27746 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27747
27748 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27749
27750 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27751 grub_dprintf() that was just added.
27752
27753 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27754
27755 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27756 (DEFAULT_VIDEO_MODE): Remove macros.
27757 (grub_linux_boot): Remove assumption that Linux has FB support,
27758 and use "text" as default video mode.
27759
27760 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27761
27762 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27763 grub_dprintf.
27764 * fs/fat.c (grub_fat_read_data): Likewise.
27765
27766 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27767
27768 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27769 payload.
27770 (grub_module): Likewise.
27771
27772 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27775 mbi->cmdline but free playground.
27776
27777 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 Handle group offset on UFS1.
27780
27781 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27782 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27783
27784 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27785
27786 Split ufs.mod into ufs1.mod and ufs2.mod.
27787
27788 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27789 (grub_fstest_SOURCES): Likewise.
27790 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27791 (ufs_mod_SOURCES): Remove.
27792 (ufs_mod_CFLAGS): Likewise.
27793 (ufs_mod_LDFLAGS): Likewise.
27794 (ufs1_mod_SOURCES): New variable.
27795 (ufs1_mod_CFLAGS): Likewise.
27796 (ufs1_mod_LDFLAGS): Likewise.
27797 (ufs2_mod_SOURCES): New variable.
27798 (ufs2_mod_CFLAGS): Likewise.
27799 (ufs2_mod_LDFLAGS): Likewise.
27800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27801 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27802 Likewise.
27803 (grub_emu_SOURCES): Likewise.
27804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27805 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27806 (grub_setup_SOURCES): Likewise.
27807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27808 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27809 (grub_setup_SOURCES): Likewise.
27810 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27811 Likewise.
27812 * fs/ufs2.c: New file.
27813 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27814
27815 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 Framebuffer split.
27818
27819 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27820 subsystem at the end.
27821 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27822 (video_fb_mod_SOURCES): New variable.
27823 (video_fb_mod_CFLAGS): Likewise.
27824 (video_fb_mod_LDFLAGS): Likewise.
27825 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27826 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27827 * video/i386/pc/vbeblit.c: Moved from here ...
27828 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27829 * video/i386/pc/vbefill.c: Moved from here ...
27830 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27831 * video/i386/pc/vbeutil.c: Moved from here ...
27832 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27833 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27834 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27835 * include/grub/i386/pc/vbefill.h: Moved from here ...
27836 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27837 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27838 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27839 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27840 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27841 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27842 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27843 (grub_video_adapter): Added 'get_info_and_fini'.
27844 (grub_video_get_info_and_fini): New prototype.
27845 (grub_video_set_mode): make modestring const char *.
27846 * loader/i386/linux.c (grub_linux_setup_video): Use
27847 grub_video_get_info_and_fini.
27848 (grub_linux_boot): Move modesetting just before booting.
27849 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27850 grub_video_get_info_and_fini.
27851 * video/i386/pc/vbe.c: Moved framebuffer part ...
27852 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27853 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27854 grub_video_fbstd_colors and grub_video_fb_set_palette.
27855 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27856 grub_video_fb_init.
27857 (grub_video_vbe_fini): Use grub_video_fb_fini.
27858 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27859 render_target and use grub_video_fb_set_active_render_target and
27860 grub_video_fb_set_palette.
27861 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27862 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27863 (grub_video_vbe_adapter): Use framebuffer.
27864 * video/video.c (grub_video_get_info_and_fini): New function.
27865 (grub_video_set_mode): Make modestring const char *.
27866 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27867 values are already initialised.
27868
27869 2009-08-14 Pavel Roskin <proski@gnu.org>
27870
27871 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27872 ABS and APPLE_CC.
27873 * boot/i386/pc/diskboot.S: Likewise.
27874 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27875 sectors allow compilation on MacOSX.
27876 * conf/i386-pc.rmk: Enable unconditional compilation of
27877 lnxboot.img.
27878
27879 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27880
27881 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27882 * util/grub.d/00_header.in: Enter interruptible sleep if
27883 GRUB_HIDDEN_TIMEOUT is set.
27884
27885 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27886
27887 * include/grub/symbol.h: Add the LOCAL macro.
27888 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27889 starting with "L_".
27890
27891 2009-08-13 Pavel Roskin <proski@gnu.org>
27892
27893 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27894 any modern compilers we support.
27895
27896 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27897 Use local labels starting with "L_" so that Apple assembler
27898 knows they are local.
27899
27900 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27901
27902 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27903 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27904 (bsd_kernel_types): ... this enum.
27905
27906 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27907 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27908 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27909
27910 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27911 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27912 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27913 messages.
27914
27915 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27916
27917 * util/grub-dumpdevtree: Moved from here ...
27918 * util/i386/efi/grub-dumpdevtree: ... to here.
27919 (hexify): New function. Converts a string to its hex version.
27920 Generate hex versions of "efi" and "device-properties" by calling
27921 hexify() on the ASCII strings rather than by hardcoding numbers.
27922
27923 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27924
27925 * fs/jfs.c: Update copyright year.
27926
27927 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27928
27929 * util/grub.d/00_header.in: Fix a comment.
27930 * util/grub.d/10_linux.in: Likewise.
27931 * util/grub.d/10_windows.in: Likewise.
27932 * util/grub.d/10_hurd.in: Likewise.
27933
27934 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27935
27936 * util/grub-mkconfig.in: Allow the user to specify the used font
27937 with GRUB_FONT.
27938
27939 2009-08-08 Pavel Roskin <proski@gnu.org>
27940
27941 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27942 available, xfs.mod needs it now.
27943
27944 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27945 the "g" modifier in sed when the intention is to strip something
27946 once. This fixes comparison of kernels with multiple dashes.
27947
27948 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27949 on it. Add missing space before closing bracket. Fix
27950 misleading formatting.
27951
27952 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27953
27954 * docs/grub.texi: Major overhaul. Remove all sections that are
27955 specific to GRUB Legacy, or mostly composed of Legacy-specific
27956 information.
27957
27958 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27959
27960 * docs/version.texi: New file. Provides version information for
27961 grub.texi.
27962
27963 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27964
27965 * docs/grub.texi: Update CVS information to SVN.
27966 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27967
27968 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27969
27970 * util/grub-mkconfig.in: Remove a wrong `fi'.
27971
27972 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27973
27974 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27975 (grub_jfs_uuid): New function.
27976 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27977
27978 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27979
27980 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27981 of it to ...
27982 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27983 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27984
27985 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27986
27987 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27988 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27989 Update all users.
27990
27991 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27992 not just "vmlinu[zx]".
27993 Moved from here ...
27994 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27995 all users.
27996
27997 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27998 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27999 all users.
28000
28001 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28002
28003 * util/grub.d/10_freebsd.in: Use an absolute device path for
28004 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28005
28006 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
28007
28008 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28009 handling of multiple abstraction modules.
28010
28011 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28012
28013 Fix a bug resulting in black screen when loading Linux using a
28014 packed video mode.
28015
28016 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28017 function.
28018
28019 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28020 (grub_vbe_bios_getset_dac_palette_width): New function.
28021 (grub_vbe_bios_get_dac_palette_width)
28022 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28023 grub_vbe_bios_getset_dac_palette_width()).
28024
28025 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28026 check for return status.
28027 (grub_vbe_get_video_mode_info): When getting information for a packed
28028 mode (<= 8 bpp), obtain DAC palette width using
28029 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28030 {red,green,blue}_mark_size.
28031
28032 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
28033
28034 * commands/search.c (options): Fix help output to match actual code.
28035
28036 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28037
28038 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28039 of homegrown code.
28040
28041 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28042
28043 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28044 on XFS or ReiserFS.
28045
28046 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 Support Apple partition map with sector size different from 512 bytes.
28049
28050 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28051 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28052 and 'apart.partmap_size'.
28053
28054 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28055 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28056
28057 Fix cpuid command.
28058
28059 * commands/i386/cpuid.c (options): New variable.
28060 (grub_cmd_cpuid): Return real error.
28061 (GRUB_MOD_INIT(cpuid)): Declare options.
28062
28063 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28064
28065 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28066 valid.
28067
28068 2009-07-31 Bean <bean123ch@gmail.com>
28069
28070 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28071 log2_inode.
28072 (grub_fshelp_node): Move inode field to the end.
28073 (grub_xfs_data): Remove inode field.
28074 (grub_xfs_inode_block): Calculate inode size using sblock.
28075 (grub_xfs_inode_offset): Likewise.
28076 (grub_xfs_read_inode): Calculate inode size using sblock.
28077 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28078 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28079 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28080 to match inode size.
28081 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28082 not accessible when data is null.
28083 (grub_xfs_open): Likewise.
28084
28085 2009-07-31 Bean <bean123ch@gmail.com>
28086
28087 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28088 Don't change pv->disk if it's already set.
28089
28090 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28091 (grub_raid_register): ... here.
28092 (grub_raid_rescan): Removed.
28093
28094 * include/grub/raid.h (grub_raid_rescan): Removed.
28095
28096 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28097 (fstest): Replace grub_raid_rescan with module fini function followed
28098 by init function.
28099
28100 * util/grub-probe.c: Add include file <grub/raid.h>.
28101 (probe_raid_level): New function.
28102 (probe): Detect abstraction by walking the disk device, support two
28103 level of abstraction (LVM on RAID) when detecting partition map.
28104
28105 2009-07-31 Pavel Roskin <proski@gnu.org>
28106
28107 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28108 to grub_zalloc(), it was erroneous.
28109 Reported by Bean <bean123ch@gmail.com>
28110
28111 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28114 embedding zone, not only the first one.
28115
28116 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28117
28118 * term/gfxterm.c (clear_char): New function.
28119 (grub_virtual_screen_setup): Use clear_char.
28120 (scroll_up): Likewise.
28121 (grub_virtual_screen_cls): Likewise.
28122
28123 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28124
28125 * util/deviceiter.c (get_acceleraid_disk_name): New static
28126 function.
28127 (grub_util_iterate_devices): Handle Accelraid devices.
28128 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28129
28130 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28131
28132 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28133 separator for the suggested gfxpayload string (';' collides with the
28134 parser and needs escaping).
28135
28136 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28139 Clear direction flag before jumping to OS.
28140 (grub_multiboot2_real_boot): Likewise.
28141
28142 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28143
28144 * util/i386/pc/grub-install: Fix parsing of --disk-module
28145 option.
28146
28147 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28148
28149 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28150 when embedding.
28151
28152 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28153
28154 * util/grub-mkconfig.in (package_version): New variable.
28155 Use it do display the version.
28156
28157 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28158
28159 * kern/file.c (grub_file_open): Revert to previous check with
28160 grub_errno.
28161
28162 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28163
28164 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28165 from help line. It's out of sync with code.
28166
28167 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28168
28169 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28170 entries on failed boot.
28171
28172 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28173
28174 * kern/file.c (grub_file_open): Fix an error check.
28175
28176 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28177
28178 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28179 partition map couldn't be identified.
28180
28181 2009-07-23 Pavel Roskin <proski@gnu.org>
28182
28183 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28184 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28185 case of little endian words becomes just an optimization.
28186 Respect const modifier.
28187 (md5_final): Use code that doesn't depend on endianness.
28188
28189 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28190 to avoid loss of upper bits if align is unsigned and shorter
28191 than addr.
28192
28193 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 UUID support for UFS
28196
28197 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28198 (grub_ufs_uuid): New function.
28199 (grub_ufs_fs): add .uuid
28200
28201 2009-07-21 Pavel Roskin <proski@gnu.org>
28202
28203 * kern/dl.c (grub_dl_check_header): Make static.
28204
28205 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28206
28207 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28208 add drivemap for Vista. It breaks Windows 7.
28209
28210 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28211
28212 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28213 128 bytes
28214
28215 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28216
28217 Add BFS support
28218
28219 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28220 (grub_fstest_SOURCES): Likewise.
28221 (pkglib_MODULES): Add befs.mod.
28222 (befs_mod_SOURCES): New variable.
28223 (befs_mod_CFLAGS): Likewise.
28224 (befs_mod_LDFLAGS): Likewise.
28225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28226 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28228 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28229 (grub_setup_SOURCES): Likewise.
28230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28231 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28232 (grub_setup_SOURCES): Likewise.
28233 * fs/befs.c: New file.
28234 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28235 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28236 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28237 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28238 (B_KEY_INDEX_ALIGN): New declaration.
28239 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28240 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28241 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28242 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28243 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28244 (grub_afs_mount) [MODE_BFS]: Likewise.
28245 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28246 (grub_afs_fs): Use GRUB_AFS_FSNAME
28247 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28248 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28249 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28250 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28251
28252 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28253
28254 * util/getroot.c (find_root_device): Add support for MacOSX.
28255 * util/hostdisk.c: Likewise.
28256
28257 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28258
28259 * font/font.c (find_glyph): Check whether a font is present to avoid
28260 segmentation fault.
28261
28262 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28263
28264 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28265
28266 2009-07-20 Pavel Roskin <proski@gnu.org>
28267
28268 * configure.ac: Trim excessively wordy excuses.
28269
28270 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28271
28272 Add symlink, mtime and label support to AtheFS.
28273
28274 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28275 (grub_afs_iterate_dir): Handle symlinks.
28276 (grub_afs_open): Use grub_afs_read_symlink.
28277 (grub_afs_dir): Likewise.
28278 Pass mtime.
28279 (grub_afs_label): New function.
28280 (grub_afs_fs): Add grub_afs_label.
28281 (grub_afs_read_symlink): New function.
28282
28283 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 Fix AtheFS support.
28286
28287 * fs/afs.c: Fix comments style.
28288 (grub_afs_blockrun): Declare as packed.
28289 (grub_afs_datastream): Likewise.
28290 (grub_afs_bnode): Likewise.
28291 (grub_afs_btree): Likewise.
28292 (grub_afs_sblock): Likewise.
28293 Declare `name' as char.
28294 (grub_afs_inode): Declare as packed.
28295 Change void *vnode to grub_uint32_t unused.
28296 (grub_afs_iterate_dir): Check that key_size is positive.
28297 (grub_afs_mount): Don't read superblock twice.
28298 (grub_afs_dir): Don't free node in case of error,
28299 grub_fshelp_find_file already handles this.
28300 (grub_afs_open): Likewise.
28301
28302 2009-07-19 Pavel Roskin <proski@gnu.org>
28303
28304 * Makefile.in: Remove LIBLZO and enable_lzo.
28305 * conf/i386-pc.rmk: Remove lzo support.
28306 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28307 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28308 support.
28309 * kern/i386/pc/lzo1x.S: Remove.
28310 * kern/i386/pc/startup.S: Remove lzo support.
28311 * util/i386/pc/grub-mkimage.c: Likewise.
28312
28313 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28314
28315 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28316 * fs/xfs.c (grub_xfs_dir): Likewise.
28317 * fs/afs.c (grub_afs_dir): Likewise.
28318 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28319 (grub_iso9660_open): Likewise.
28320 * fs/jfs.c (grub_jfs_open): Likewise.
28321 * fs/ext2.c (grub_ext2_dir): Likewise.
28322 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28323 * script/sh/lexer.c (grub_script_yylex): Likewise.
28324
28325 2009-07-16 Pavel Roskin <proski@gnu.org>
28326
28327 * configure.ac: Never add "-c" to CFLAGS.
28328
28329 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28330
28331 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28332 grub_cv_cc_efiemu should be used.
28333
28334 * configure.ac: Typo fixes.
28335
28336 * kern/mm.c (grub_zalloc): New function.
28337 (grub_debug_zalloc): Likewise.
28338 * include/grub/mm.h: Declare grub_zalloc() and
28339 grub_debug_zalloc().
28340 * util/misc.c (grub_zalloc): New function.
28341 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28342 instead of grub_malloc(), remove unneeded initializations.
28343 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28344 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28345 * commands/parttool.c (grub_cmd_parttool): Likewise.
28346 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28347 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28348 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28349 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28350 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28351 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28352 (grub_cmd_efiemu_pnvram): Likewise.
28353 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28354 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28355 (grub_iso9660_iterate_dir): Likewise.
28356 * fs/jfs.c (grub_jfs_opendir): Likewise.
28357 * fs/ntfs.c (list_file): Likewise.
28358 (grub_ntfs_mount): Likewise.
28359 * kern/disk.c (grub_disk_open): Likewise.
28360 * kern/dl.c (grub_dl_load_core): Likewise.
28361 * kern/elf.c (grub_elf_file): Likewise.
28362 * kern/env.c (grub_env_context_open): Likewise.
28363 (grub_env_set): Likewise.
28364 (grub_env_set_data_slot): Likewise.
28365 * kern/file.c (grub_file_open): Likewise.
28366 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28367 * loader/i386/multiboot.c (grub_module): Likewise.
28368 * loader/xnu.c (grub_xnu_create_key): Likewise.
28369 (grub_xnu_create_value): Likewise.
28370 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28371 (read_config_file): Likewise.
28372 * normal/menu_entry.c (make_screen): Likewise.
28373 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28374 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28375 * script/sh/script.c (grub_script_parse): Likewise.
28376 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28377 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28378 * video/readers/png.c (grub_png_output_byte): Likewise.
28379 (grub_video_reader_png): Likewise.
28380
28381 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 Enable all targets that can be built by default
28384
28385 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28386 grub-mkfont and grub-fstest if they can be built
28387
28388 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28389
28390 Fix hang and segmentation fault in grub-emu-usb
28391
28392 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28393 * util/usb.c (grub_libusb_devices): likewise
28394 (grub_libusb_init): rename to ...
28395 (GRUB_MOD_INIT (libusb)):...this
28396 (grub_libusb_fini): rename to ..
28397 (GRUB_MOD_FINI (libusb)):...this
28398 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28399 * include/grub/disk.h (grub_raid_init): removed, it's useless
28400 (grub_raid_fini): likewise
28401 (grub_lvm_init): likewise
28402 (grub_lvm_fini): likewise
28403 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28404 by grub_init_all
28405
28406 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28407
28408 Fix libusb
28409
28410 * Makefile.in (LIBUSB): new macro
28411 * genmk.rb (Utility/print_tail): new method
28412 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28413 (top level): call util.print_tail at the end.
28414
28415 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28416
28417 Make FreeBSD accept zpool.cache
28418
28419 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28420 type is /boot/zfs/zpool.cache
28421
28422 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28423
28424 Fix 64-bit efiemu
28425
28426 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28427 correct wrong typedef
28428 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28429
28430 2009-07-15 Pavel Roskin <proski@gnu.org>
28431
28432 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28433 * kern/disk.c (struct grub_disk_cache): Likewise.
28434
28435 * commands/probe.c (options): Typo fix.
28436
28437 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28438 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28439 accordingly.
28440 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28441
28442 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28443 the end of "Error" to make the message more readable.
28444
28445 * boot/i386/pc/boot.S (kernel_segment): Remove.
28446 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28447 for destination.
28448
28449 * boot/i386/pc/boot.S (boot_version): Remove.
28450 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28451 Remove.
28452
28453 * include/grub/i386/pc/boot.h: Sort all offsets.
28454 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28455 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28456 * boot/i386/pc/boot.S: Assert location of every offset listed in
28457 include/grub/i386/pc/boot.h.
28458
28459 2009-07-13 Pavel Roskin <proski@gnu.org>
28460
28461 * include/grub/i386/coreboot/machine.h: Rename
28462 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28463 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28464 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28465
28466 * kern/dl.c: Force native word size to suppress warnings when
28467 compiling grub-emu.
28468
28469 * kern/device.c (grub_device_iterate): Change struct part_ent to
28470 hold the name, not a pointer to it. Use one grub_malloc() per
28471 partition, not two. Free partition_name if grub_malloc() fails.
28472 Set ents to NULL only before grub_partition_iterate() is called.
28473
28474 2009-07-11 Bean <bean123ch@gmail.com>
28475
28476 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28477 childname.
28478
28479 2009-07-10 Bean <bean123ch@gmail.com>
28480 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28481
28482 * kern/ieee1275/openfw.c (grub_children_iterate)
28483 (grub_devalias_iterate): Fix size evaluation for property or path
28484 strings, which was broken since r2132.
28485
28486 2009-07-07 Pavel Roskin <proski@gnu.org>
28487
28488 * commands/search.c (search_file): Merge into ...
28489 (search_fs): ... this. Accept search type as argument.
28490 (grub_cmd_search): Pass search type to search_fs().
28491
28492 * include/grub/util/console.h: New file.
28493 * util/console.c: Use it instead of grub/machine/console.h.
28494 * util/grub-emu.c: Likewise.
28495
28496 * lib/arg.c (find_long_option): Remove.
28497 (find_long): Add `len' argument, make `s' const char *.
28498 (grub_arg_parse): Parse long options in place, not in a
28499 temporary buffer.
28500
28501 2009-07-06 Pavel Roskin <proski@gnu.org>
28502
28503 * commands/search.c (search_fs): Fix potential NULL pointer
28504 dereference.
28505
28506 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28507 function pointer.
28508
28509 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28510
28511 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28512 comparison.
28513
28514 2009-07-05 Pavel Roskin <proski@gnu.org>
28515
28516 * include/grub/i386/linux.h (struct linux_kernel_params):
28517 Restore padding3, it's still needed.
28518
28519 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28520 FreeBSD.
28521 * util/osdetect.lua: Likewise.
28522
28523 2009-07-05 Bean <bean123ch@gmail.com>
28524
28525 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28526
28527 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28528 (grub_lua_getenv): Likewise.
28529 (grub_lua_setenv): Likewise.
28530 (save_errno): New function.
28531 (push_result): Likewise.
28532 (grub_lua_enum_device): Likewise.
28533 (grub_lua_enum_file): Likewise.
28534 (grub_lua_file_open): Likewise.
28535 (grub_lua_file_close): Likewise.
28536 (grub_lua_file_seek): Likewise.
28537 (grub_lua_file_read): Likewise.
28538 (grub_lua_file_getline): Likewise.
28539 (grub_lua_file_getsize): Likewise.
28540 (grub_lua_file_getpos): Likewise.
28541 (grub_lua_file_eof): Likewise.
28542 (grub_lua_file_exist): Likewise.
28543 (grub_lua_add_menu): Likewise.
28544
28545 * script/lua/grub_lua.h (isupper): New inline function.
28546 (islower): Likewise.
28547 (ispunct): Likewise.
28548 (isxdigit): Likewise.
28549 (strcspn): Change to normal function.
28550 (strpbkr): New function declaration.
28551 (memchr): Likewise.
28552
28553 * script/lua/grub_main.c (scan_str): New function.
28554 (strcspn): Likewise.
28555 (strpbrk): Likewise.
28556 (memchr): Likewise.
28557
28558 * script/lua/linit.c (lualibs): Enable the string library.
28559
28560 * util/osdetect.lua: New file.
28561
28562 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28563
28564 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28565 `capabilities' member.
28566
28567 2009-07-02 Pavel Roskin <proski@gnu.org>
28568
28569 * genparttoollist.sh: Add missing newline at the end.
28570
28571 2009-07-01 Pavel Roskin <proski@gnu.org>
28572
28573 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28574
28575 * util/hostdisk.c (open_device): Remove `const' from
28576 `sysctl_size', as sysctlbyname() can change it (in this case it
28577 doesn't actually happen).
28578
28579 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28580 using signed long int constants.
28581
28582 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28583 constant to avoid a warning on FreeBSD.
28584
28585 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28586 where it's needed.
28587
28588 * Makefile.in: Install include/grub/machine symlink.
28589
28590 * Makefile.in: When installing symlinks, use "cp -fR", which
28591 works on FreeBSD and MacOSX.
28592 From Yves Blusseau <cl7m42e02@sneakemail.com>
28593
28594 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28595 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28596
28597 * util/misc.c: Move grub_reboot() and grub_halt() ...
28598 * util/grub-emu.c: ... here. Make main_env static.
28599 * include/grub/util/misc.h: Remove main_env.
28600
28601 * kern/mm.c: Use correct format to print size_t.
28602
28603 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28604 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28605 * kern/powerpc/dl.c: Likewise.
28606 * kern/sparc64/dl.c: Likewise.
28607 * kern/x86_64/dl.c: Likewise.
28608
28609 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28610
28611 Fix grub-emu build on sparc64-ieee1275.
28612
28613 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28615
28616 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28617
28618 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28619 (grub_reboot, grub_halt): New functions.
28620
28621 * util/i386/pc/misc.c: Delete. Update all users.
28622 * util/sparc64/ieee1275/misc.c: Likewise.
28623 * util/powerpc/ieee1275/misc.c: Likewise.
28624
28625 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28626
28627 * conf/i386.rmk (setjmp_mod_SOURCES)
28628 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28629 * conf/common.rmk (setjmp_mod_SOURCES)
28630 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28631 to use $(target_cpu).
28632 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28633 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28634 * conf/powerpc-ieee1275.rmk: Likewise.
28635 * conf/sparc64-ieee1275.rmk: Likewise.
28636
28637 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28638 $(target_cpu) for kern/$(target_cpu)/dl.c.
28639 * conf/i386-efi.rmk: Likewise.
28640 * conf/i386-ieee1275.rmk: Likewise.
28641 * conf/x86_64-efi.rmk: Likewise.
28642 * conf/i386-coreboot.rmk: Likewise.
28643 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28644 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28645 kern/$(target_cpu)/cache.S.
28646 * conf/sparc64-ieee1275.rmk: Likewise.
28647
28648 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28649
28650 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28651 type to `grub_uint8_t', and adjust `padding9' accordingly.
28652
28653 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28654
28655 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28656
28657 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28658 assembly in final jump, using register constraints.
28659
28660 (grub_linux_boot): For text mode, initialize `have_vga' using
28661 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28662
28663 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28664 right before the final jump.
28665
28666 Set `video_mode' to 0x3.
28667
28668 Document initialization of `video_page', `video_mode' and
28669 `video_ega_bx'.
28670
28671 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28672
28673 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28674 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28675 and set GRUB_LINUX_FLAG_QUIET appropriately.
28676
28677 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28678
28679 Fix build on Debian / sparc.
28680
28681 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28682
28683 2009-06-28 Pavel Roskin <proski@gnu.org>
28684
28685 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28686 fix a warning.
28687
28688 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28689
28690 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28691
28692 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28693 `err'.
28694
28695 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28696
28697 Revert r2338.
28698
28699 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28700 file can't be opened. grub_file_open() is already supposed to set
28701 grub_errno / grub_errmsg appropriately.
28702 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28703
28704 2009-06-27 Pavel Roskin <proski@gnu.org>
28705 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28706
28707 * include/grub/dl.h: Include grub/elf.h.
28708 (struct grub_dl): Add symtab field.
28709 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28710 GRUB_MODULES_MACHINE_READONLY.
28711 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28712 of the header for read-only modules.
28713 (grub_dl_unload): Free mod->symtab for read-only modules.
28714 * kern/i386/dl.c: Use mod->symtab.
28715 * kern/powerpc/dl.c: Likewise.
28716 * kern/sparc64/dl.c: Likewise.
28717 * kern/x86_64/dl.c: Likewise.
28718
28719 * conf/i386-qemu.rmk: New file.
28720 * kern/i386/qemu/startup.S: Likewise.
28721 * kern/i386/qemu/mmap.c: Likewise.
28722 * boot/i386/qemu/boot.S: Likewise.
28723 * include/grub/i386/qemu/time.h: Likewise.
28724 * include/grub/i386/qemu/serial.h: Likewise.
28725 * include/grub/i386/qemu/kernel.h: Likewise.
28726 * include/grub/i386/qemu/console.h: Likewise.
28727 * include/grub/i386/qemu/boot.h: Likewise.
28728 * include/grub/i386/qemu/init.h: Likewise.
28729 * include/grub/i386/qemu/machine.h: Likewise.
28730 * include/grub/i386/qemu/loader.h: Likewise.
28731 * include/grub/i386/qemu/memory.h: Likewise.
28732
28733 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28734 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28735 [qemu] (pkglib_IMAGES): Add `boot.img'.
28736 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28737 [qemu] (boot_img_FORMAT): New variables.
28738 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28739 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28740 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28741 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28742 [qemu] (kernel_img_FORMAT): New variables.
28743
28744 * configure.ac: Recognise `i386-qemu'.
28745
28746 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28747 (for no compression).
28748 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28749 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28750 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28751 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28752 ifdefs).
28753
28754 2009-06-27 Pavel Roskin <proski@gnu.org>
28755
28756 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28757 read.
28758 * efiemu/prepare32.c: Likewise.
28759 * efiemu/prepare64.c: Likewise.
28760
28761 2009-06-26 Pavel Roskin <proski@gnu.org>
28762
28763 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28764 * include/grub/elf.h: Define symbols without "32" or "64" based
28765 on GRUB_TARGET_WORDSIZE.
28766 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28767 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28768 ELF definitions.
28769 * efiemu/loadcore64.c: Likewise.
28770 * loader/i386/bsd32.c: Likewise.
28771 * loader/i386/bsd64.c: Likewise.
28772 * kern/dl.c: Remove own ELF definitions.
28773 * util/i386/efi/grub-mkimage.c: Likewise.
28774
28775 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28776
28777 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28778 segment 0x0 unconditionally, because the reference generated by
28779 GAS is an absolute address.
28780
28781 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28782
28783 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28784 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28785
28786 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28787
28788 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28789 indexes. Check for -f explicitly.
28790 (search_file): Improve error message.
28791 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28792
28793 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28794
28795 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28796 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28797
28798 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28799
28800 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28801 * conf/i386-ieee1275.rmk: Likewise.
28802 * conf/i386-coreboot.rmk: Likewise.
28803
28804 * kern/i386/pc/startup.S (grub_stop): Remove function.
28805 * kern/i386/ieee1275/startup.S: Likewise.
28806 * kern/i386/coreboot/startup.S: Likewise.
28807 * kern/i386/misc.S (grub_stop): New function.
28808
28809 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28810
28811 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28812 * kern/i386/realmode.S (real_to_prot): ... to here.
28813
28814 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28815
28816 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28817 with `kernel.img'.
28818 (kernel_elf_SOURCES): Rename to ...
28819 (kernel_img_SOURCES): ... this.
28820 (kernel_elf_HEADERS): Rename to ...
28821 (kernel_img_HEADERS): ... this. Update all users.
28822 (kernel_elf_ASFLAGS): Rename to ...
28823 (kernel_img_ASFLAGS): ... this.
28824 (kernel_elf_CFLAGS): Rename to ...
28825 (kernel_img_CFLAGS): ... this.
28826 (kernel_elf_LDFLAGS): Rename to ...
28827 (kernel_img_LDFLAGS): ... this.
28828 * conf/i386-coreboot.rmk: Likewise.
28829 * conf/powerpc-ieee1275.rmk: Likewise.
28830
28831 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28832 with "kernel.img".
28833
28834 2009-06-21 Pavel Roskin <proski@gnu.org>
28835
28836 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28837 to match nested functions.
28838 * loader/sparc64/ieee1275/linux.c: Likewise.
28839
28840 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28841
28842 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28843
28844 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28845 all i386 platforms.
28846
28847 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28848
28849 Fix asm file handling on ELF, and remove workarounds.
28850
28851 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28852 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28853 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28854 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28855
28856 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 Load BSD ELF modules
28859
28860 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28861 and loader/i386/bsd64.c
28862 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28863 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28864 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28865 (grub_freebsd_load_elfmodule32): New declaration
28866 (grub_freebsd_load_elfmoduleobj64): Likewise
28867 (grub_freebsd_load_elf_meta32): Likewise
28868 (grub_freebsd_load_elf_meta64): Likewise
28869 (grub_freebsd_add_meta): Likewise
28870 (grub_freebsd_add_meta_module): Likewise
28871 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28872 (grub_freebsd_add_meta_module): Likewise and move module-specific
28873 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28874 (grub_cmd_freebsd): Add elf-kernel specific parts
28875 based on grub_freebsd_add_meta_module
28876 (grub_cmd_freebsd_module): Add type parsing moved from
28877 grub_freebsd_add_meta_module
28878 (grub_cmd_freebsd_module_elf): New function
28879 (cmd_freebsd_module_elf): New variable
28880 (GRUB_MOD_INIT): Register freebsd_module_elf
28881 * loader/i386/bsd32.c: New file
28882 * loader/i386/bsd64.c: Likewise
28883 * loader/i386/bsdXX.c: Likewise
28884 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28885 (grub_elf64_load): Likewise
28886 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28887 All users updated
28888 (grub_elf64_load_hook_t): Likewise
28889
28890 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28891
28892 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28893 variable.
28894 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28895 don't write a menu entry for recovery mode.
28896
28897 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28898
28899 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28900 after it's no longer needed.
28901
28902 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28903
28904 * include/grub/i386/loader.h (grub_linux_prot_size)
28905 (grub_linux_tmp_addr, grub_linux_real_addr)
28906 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28907 GRUB_MACHINE_PCBIOS.
28908 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28909 common grub_util_info() call to ...
28910 (generate_image): ... here.
28911 Fix use of uninitialized memory, comparison of signed with
28912 unsigned integers and memory leak.
28913 Remove bogus module address message.
28914
28915 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28916
28917 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28918 grub_raid_register
28919 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28920
28921 2009-06-19 Pavel Roskin <proski@gnu.org>
28922
28923 * configure.ac: Remove stray AC_MSG_CHECKING.
28924
28925 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28926
28927 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28928
28929 2009-06-18 Pavel Roskin <proski@gnu.org>
28930
28931 * conf/common.rmk: Add fs_file.mod.
28932 * disk/fs_file.c: New file.
28933 * include/grub/disk.h (enum grub_disk_dev_id): Add
28934 GRUB_DISK_DEVICE_FILE_ID.
28935
28936 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28937
28938 Fix build with Apple's toolchain. Part 2
28939
28940 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28941 a fake start
28942
28943 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28944
28945 Fix build with Apple's toolchain. Part 1
28946
28947 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28948 for long calls
28949 * configure.ac: remove a leftover AC_MSG_RESULT
28950 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28951 Apple's toolchain
28952
28953 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28954
28955 Fix warnings
28956
28957 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28958 (decomp_block): initialize ch
28959 use grub_memcpy instead of memcpy
28960
28961 2009-06-17 Pavel Roskin <proski@gnu.org>
28962
28963 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28964 version, use declarations needed to use vga_text as the startup
28965 console.
28966
28967 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28968 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28969 the kernel.
28970 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28971 and grub_at_keyboard_fini(), it's done on module load and
28972 unload.
28973
28974 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28975
28976 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28977 file can't be found.
28978 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28979
28980 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28981
28982 Fix newline handling
28983
28984 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28985 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28986 (grub_script_yylex): don't segfault on unterminated script
28987 newline terminates command and variable
28988
28989 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28990
28991 avoid double grub_adjust_range call. Bug reported by David Simner
28992
28993 * kern/disk.c (grub_disk_write): change to raw disk access before
28994 calling disk_read
28995
28996 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28997
28998 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28999 spaces, for the benefit of help2man.
29000 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29001
29002 2009-06-16 Pavel Roskin <proski@gnu.org>
29003
29004 * kern/i386/halt.c: Include grub/machine/init.h.
29005 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29006
29007 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
29008
29009 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29010 drivemap menuentry.
29011
29012 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29013
29014 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29015 `echo' command.
29016
29017 2009-06-16 Pavel Roskin <proski@gnu.org>
29018
29019 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29020 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29021 save %dx, we only need %dl and we never change it.
29022 * boot/i386/pc/cdboot.S: Don't set the root drive.
29023 * boot/i386/pc/pxeboot.S: Likewise.
29024 * include/grub/i386/pc/boot.h: Remove
29025 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29026 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29027 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29028 * kern/i386/pc/init.c (make_install_device): Remove references
29029 to grub_root_drive.
29030 * kern/i386/pc/startup.S: Likewise.
29031 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29032
29033 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 xnu_uuid command
29036
29037 * commands/xnu_uuid.c: new file
29038 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29039 (xnu_uuid_mod_SOURCES): new variable
29040 (xnu_uuid_mod_CFLAGS): likewise
29041 (xnu_uuid_mod_LDFLAGS): likewise
29042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29043 * conf/i386-ieee1275.rmk: likewise
29044 * conf/i386-pc.rmk: likewise
29045 * conf/powerpc-ieee1275.rmk: likewise
29046 * conf/sparc64-ieee1275.rmk: likewise
29047 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29048
29049 2009-06-16 Pavel Roskin <proski@gnu.org>
29050
29051 * configure.ac: Avoid '==' in test command, it's not portable.
29052
29053 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29054
29055 Probe command
29056
29057 * commands/probe.c: new file
29058 * conf/common.rmk (pkglib_MODULES): add probe.mod
29059 (probe_mod_SOURCES): new variable
29060 (probe_mod_CFLAGS): likewise
29061 (probe_mod_LDFLAGS): likewise
29062 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29063 * conf/i386-ieee1275.rmk: likewise
29064 * conf/i386-pc.rmk: likewise
29065 * conf/powerpc-ieee1275.rmk: likewise
29066 * conf/sparc64-ieee1275.rmk: likewise
29067
29068 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29069
29070 Fix handling of string like \"hello\" and "a
29071 b"
29072
29073 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29074 (grub_script_yylex): fix parsing of quoting, escaping and newline
29075
29076 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29077
29078 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
29079 handling
29080
29081 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
29082
29083 * util/grub-mkconfig.in: Fix parsing of --output option.
29084
29085 2009-06-12 Pavel Roskin <proski@gnu.org>
29086
29087 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29088 genmk.rb don't need to be generated or installed.
29089
29090 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 * commands/i386/pc/drivemap_int13h.S: add more comments
29093
29094 2009-06-11 Pavel Roskin <proski@gnu.org>
29095
29096 * Makefile.in (uninstall): Uninstall manuals.
29097
29098 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29099 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29100 and update-grub_lib in two places.
29101 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29102
29103 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29104 a compiler warning.
29105
29106 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29107 `entry_lo' to fix variable shadowing.
29108
29109 2009-06-11 Christian Franke <franke@computer.org>
29110
29111 * kern/misc.c (__enable_execute_stack): Add missing return type
29112 to prevent gcc warning.
29113
29114 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29115
29116 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29117
29118 2009-06-11 Pavel Roskin <proski@gnu.org>
29119
29120 * Makefile.in: Don't rely on any scripts being executable.
29121 Always use $(SHELL) to run shell scripts.
29122
29123 * configure.ac: Always define ___main if using -nostdlib. This
29124 fixes tests on Cygwin.
29125
29126 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29127
29128 UDF fix
29129
29130 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29131 is in bytes and not in blocks
29132
29133 2009-06-11 Pavel Roskin <proski@gnu.org>
29134
29135 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29136 warning.
29137
29138 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29139
29140 * util/grub.d/30_os-prober.in: Fix a comment. Source
29141 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29142 to set the root device. Place drivemap command in the generated
29143 chain entry.
29144
29145 2009-06-11 Pavel Roskin <proski@gnu.org>
29146
29147 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29148 have long been resolved.
29149
29150 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29151
29152 * util/grub.d/10_linux.in: Capitalise "Linux".
29153
29154 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29155
29156 2009-06-11 Pavel Roskin <proski@gnu.org>
29157
29158 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29159 fix a gcc warning and ensure that the function won't ever exit.
29160
29161 * kern/i386/ieee1275/init.c: Add missing prototype for
29162 grub_stop_floppy().
29163
29164 * loader/ieee1275/multiboot2.c [__i386__]: Include
29165 grub/cpu/multiboot.h.
29166
29167 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29168 casts to short - they are not portable and cause warnings. Fix
29169 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29170
29171 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29172
29173 Drivemap fixes
29174
29175 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29176 new function
29177 (grub_get_root_biosnumber_saved): new variable
29178 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29179 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29180 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29181 %dx after the call if necessary
29182 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29183 (boot_mod_SOURCES): remove
29184 (boot_mod_CFLAGS): remove
29185 (boot_mod_LDFLAGS): remove
29186 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29187 (boot_mod_SOURCES): new variable
29188 (boot_mod_CFLAGS): likewise
29189 (boot_mod_LDFLAGS): likewise
29190 * conf/i386-efi.rmk: likewise
29191 * conf/i386-ieee1275.rmk: likewise
29192 * conf/i386-pc.rmk: likewise
29193 * conf/powerpc-ieee1275.rmk: likewise
29194 * conf/sparc64-ieee1275.rmk: likewise
29195 * conf/x86_64-efi.rmk: likewise
29196 * include/grub/i386/pc/biosnum.h: new file
29197 * lib/i386/pc/biosnum.c: likewise
29198 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29199 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29200 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29201
29202 2009-06-10 Pavel Roskin <proski@gnu.org>
29203
29204 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29205 Use separate variables. Read only the file size at the end, but
29206 not the checksum that we don't use.
29207
29208 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29209 Adjust all callers.
29210
29211 * kern/ieee1275/openfw.c: Remove libc includes.
29212 * kern/ieee1275/cmain.c: Likewise.
29213 * include/grub/ieee1275/ieee1275.h: Likewise.
29214
29215 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29216 compiler warnings.
29217
29218 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29219
29220 * Makefile.in: Remove all trailing whitespace.
29221 * conf/i386-pc.rmk: Likewise.
29222 * conf/powerpc-ieee1275.rmk: Likewise.
29223 * conf/sparc64-ieee1275.rmk: Likewise.
29224 * docs/grub.texi: Likewise.
29225 * docs/texinfo.tex: Likewise.
29226 * disk/fs_uuid.c: Likewise.
29227 * disk/lvm.c: Likewise.
29228 * disk/scsi.c: Likewise.
29229 * disk/ata.c: Likewise.
29230 * disk/ieee1275/ofdisk.c: Likewise.
29231 * disk/i386/pc/biosdisk.c: Likewise.
29232 * disk/host.c: Likewise.
29233 * disk/raid.c: Likewise.
29234 * disk/efi/efidisk.c: Likewise.
29235 * disk/usbms.c: Likewise.
29236 * disk/memdisk.c: Likewise.
29237 * disk/loopback.c: Likewise.
29238 * kern/powerpc/dl.c: Likewise.
29239 * kern/device.c: Likewise.
29240 * kern/dl.c: Likewise.
29241 * kern/sparc64/dl.c: Likewise.
29242 * kern/ieee1275/ieee1275.c: Likewise.
29243 * kern/term.c: Likewise.
29244 * kern/fs.c: Likewise.
29245 * kern/i386/dl.c: Likewise.
29246 * kern/i386/pc/startup.S: Likewise.
29247 * kern/i386/pc/init.c: Likewise.
29248 * kern/i386/pc/mmap.c: Likewise.
29249 * kern/i386/pc/lzo1x.S: Likewise.
29250 * kern/i386/ieee1275/init.c: Likewise.
29251 * kern/i386/realmode.S: Likewise.
29252 * kern/i386/tsc.c: Likewise.
29253 * kern/partition.c: Likewise.
29254 * kern/corecmd.c: Likewise.
29255 * kern/file.c: Likewise.
29256 * kern/efi/efi.c: Likewise.
29257 * kern/efi/init.c: Likewise.
29258 * kern/efi/mm.c: Likewise.
29259 * kern/main.c: Likewise.
29260 * kern/err.c: Likewise.
29261 * kern/env.c: Likewise.
29262 * kern/disk.c: Likewise.
29263 * kern/generic/millisleep.c: Likewise.
29264 * kern/generic/rtc_get_time_ms.c: Likewise.
29265 * kern/misc.c: Likewise.
29266 * kern/parser.c: Likewise.
29267 * genmk.rb: Likewise.
29268 * configure.ac: Likewise.
29269 * boot/i386/pc/diskboot.S: Likewise.
29270 * boot/i386/pc/pxeboot.S: Likewise.
29271 * boot/i386/pc/boot.S: Likewise.
29272 * boot/i386/pc/lnxboot.S: Likewise.
29273 * boot/i386/pc/cdboot.S: Likewise.
29274 * parttool/pcpart.c: Likewise.
29275 * video/readers/tga.c: Likewise.
29276 * video/video.c: Likewise.
29277 * video/bitmap.c: Likewise.
29278 * lib/envblk.c: Likewise.
29279 * lib/i386/setjmp.S: Likewise.
29280 * fs/xfs.c: Likewise.
29281 * fs/afs.c: Likewise.
29282 * fs/fat.c: Likewise.
29283 * fs/ntfs.c: Likewise.
29284 * fs/udf.c: Likewise.
29285 * fs/affs.c: Likewise.
29286 * fs/iso9660.c: Likewise.
29287 * fs/hfs.c: Likewise.
29288 * fs/fshelp.c: Likewise.
29289 * fs/ext2.c: Likewise.
29290 * fs/jfs.c: Likewise.
29291 * fs/reiserfs.c: Likewise.
29292 * fs/hfsplus.c: Likewise.
29293 * fs/minix.c: Likewise.
29294 * fs/cpio.c: Likewise.
29295 * fs/sfs.c: Likewise.
29296 * fs/ufs.c: Likewise.
29297 * efiemu/prepare.c: Likewise.
29298 * efiemu/loadcore_common.c: Likewise.
29299 * efiemu/runtime/efiemu.sh: Likewise.
29300 * efiemu/runtime/efiemu.S: Likewise.
29301 * efiemu/runtime/efiemu.c: Likewise.
29302 * efiemu/pnvram.c: Likewise.
29303 * efiemu/main.c: Likewise.
29304 * efiemu/i386/pc/cfgtables.c: Likewise.
29305 * efiemu/i386/loadcore64.c: Likewise.
29306 * efiemu/i386/loadcore32.c: Likewise.
29307 * efiemu/loadcore.c: Likewise.
29308 * efiemu/symbols.c: Likewise.
29309 * efiemu/mm.c: Likewise.
29310 * include/grub/autoefi.h: Likewise.
29311 * include/grub/datetime.h: Likewise.
29312 * include/grub/term.h: Likewise.
29313 * include/grub/hfs.h: Likewise.
29314 * include/grub/lvm.h: Likewise.
29315 * include/grub/i386/tsc.h: Likewise.
29316 * include/grub/i386/linux.h: Likewise.
29317 * include/grub/i386/xnu.h: Likewise.
29318 * include/grub/i386/efiemu.h: Likewise.
29319 * include/grub/i386/pc/biosdisk.h: Likewise.
29320 * include/grub/i386/pc/memory.h: Likewise.
29321 * include/grub/i386/pc/vbe.h: Likewise.
29322 * include/grub/parttool.h: Likewise.
29323 * include/grub/video.h: Likewise.
29324 * include/grub/memory.h: Likewise.
29325 * include/grub/fs.h: Likewise.
29326 * include/grub/partition.h: Likewise.
29327 * include/grub/xnu.h: Likewise.
29328 * include/grub/efi/api.h: Likewise.
29329 * include/grub/efi/pe32.h: Likewise.
29330 * include/grub/efi/memory.h: Likewise.
29331 * include/grub/multiboot.h: Likewise.
29332 * include/grub/usbdesc.h: Likewise.
29333 * include/grub/multiboot2.h: Likewise.
29334 * include/grub/acpi.h: Likewise.
29335 * include/grub/efiemu/efiemu.h: Likewise.
29336 * include/grub/disk.h: Likewise.
29337 * include/grub/ieee1275/ieee1275.h: Likewise.
29338 * include/grub/net.h: Likewise.
29339 * include/grub/machoload.h: Likewise.
29340 * include/grub/macho.h: Likewise.
29341 * include/multiboot.h: Likewise.
29342 * genmoddep.awk: Likewise.
29343 * normal/main.c: Likewise.
29344 * normal/menu_entry.c: Likewise.
29345 * normal/menu_viewer.c: Likewise.
29346 * normal/completion.c: Likewise.
29347 * normal/cmdline.c: Likewise.
29348 * normal/misc.c: Likewise.
29349 * normal/datetime.c: Likewise.
29350 * bus/usb/usbtrans.c: Likewise.
29351 * bus/usb/ohci.c: Likewise.
29352 * bus/usb/uhci.c: Likewise.
29353 * bus/usb/usb.c: Likewise.
29354 * mmap/efi/mmap.c: Likewise.
29355 * mmap/i386/pc/mmap_helper.S: Likewise.
29356 * mmap/i386/pc/mmap.c: Likewise.
29357 * mmap/i386/mmap.c: Likewise.
29358 * mmap/i386/uppermem.c: Likewise.
29359 * mmap/mmap.c: Likewise.
29360 * commands/acpi.c: Likewise.
29361 * commands/echo.c: Likewise.
29362 * commands/blocklist.c: Likewise.
29363 * commands/loadenv.c: Likewise.
29364 * commands/usbtest.c: Likewise.
29365 * commands/boot.c: Likewise.
29366 * commands/parttool.c: Likewise.
29367 * commands/search.c: Likewise.
29368 * commands/cat.c: Likewise.
29369 * commands/i386/pc/play.c: Likewise.
29370 * commands/i386/pc/drivemap.c: Likewise.
29371 * commands/i386/pc/vbeinfo.c: Likewise.
29372 * commands/i386/pc/acpi.c: Likewise.
29373 * commands/i386/pc/vbetest.c: Likewise.
29374 * commands/ls.c: Likewise.
29375 * commands/cmp.c: Likewise.
29376 * commands/test.c: Likewise.
29377 * commands/efi/acpi.c: Likewise.
29378 * commands/gptsync.c: Likewise.
29379 * commands/help.c: Likewise.
29380 * partmap/amiga.c: Likewise.
29381 * partmap/apple.c: Likewise.
29382 * partmap/acorn.c: Likewise.
29383 * partmap/pc.c: Likewise.
29384 * partmap/sun.c: Likewise.
29385 * partmap/gpt.c: Likewise.
29386 * script/sh/lexer.c: Likewise.
29387 * script/sh/function.c: Likewise.
29388 * font/font.c: Likewise.
29389 * font/font_cmd.c: Likewise.
29390 * loader/powerpc/ieee1275/linux.c: Likewise.
29391 * loader/efi/chainloader.c: Likewise.
29392 * loader/multiboot_loader.c: Likewise.
29393 * loader/macho.c: Likewise.
29394 * loader/i386/multiboot.c: Likewise.
29395 * loader/i386/linux.c: Likewise.
29396 * loader/i386/pc/linux.c: Likewise.
29397 * loader/i386/pc/multiboot2.c: Likewise.
29398 * loader/i386/pc/chainloader.c: Likewise.
29399 * loader/i386/pc/xnu.c: Likewise.
29400 * loader/i386/bsd_trampoline.S: Likewise.
29401 * loader/i386/efi/linux.c: Likewise.
29402 * loader/i386/multiboot_elfxx.c: Likewise.
29403 * loader/i386/bsd_helper.S: Likewise.
29404 * loader/i386/bsd.c: Likewise.
29405 * loader/i386/linux_trampoline.S: Likewise.
29406 * loader/i386/xnu_helper.S: Likewise.
29407 * loader/i386/xnu.c: Likewise.
29408 * loader/i386/bsd_pagetable.c: Likewise.
29409 * loader/i386/multiboot_helper.S: Likewise.
29410 * loader/xnu.c: Likewise.
29411 * loader/xnu_resume.c: Likewise.
29412 * io/gzio.c: Likewise.
29413 * term/efi/console.c: Likewise.
29414 * term/terminfo.c: Likewise.
29415 * term/ieee1275/ofconsole.c: Likewise.
29416 * term/i386/pc/serial.c: Likewise.
29417 * term/i386/pc/vesafb.c: Likewise.
29418 * term/i386/pc/vga.c: Likewise.
29419 * term/usb_keyboard.c: Likewise.
29420 * term/gfxterm.c: Likewise.
29421 * aclocal.m4: Likewise.
29422 * util/lvm.c: Likewise.
29423 * util/grub.d/30_os-prober.in: Likewise.
29424 * util/grub.d/10_hurd.in: Likewise.
29425 * util/console.c: Likewise.
29426 * util/grub-macho2img.c: Likewise.
29427 * util/grub-probe.c: Likewise.
29428 * util/hostfs.c: Likewise.
29429 * util/i386/pc/grub-mkimage.c: Likewise.
29430 * util/i386/pc/grub-setup.c: Likewise.
29431 * util/i386/efi/grub-mkimage.c: Likewise.
29432 * util/grub-mkconfig.in: Likewise.
29433 * util/raid.c: Likewise.
29434 * util/resolve.c: Likewise.
29435 * util/grub-mkdevicemap.c: Likewise.
29436 * util/grub-emu.c: Likewise.
29437 * util/getroot.c: Likewise.
29438 * util/hostdisk.c: Likewise.
29439 * util/usb.c: Likewise.
29440 * util/grub-editenv.c: Likewise.
29441 * util/misc.c: Likewise.
29442
29443 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29444
29445 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29446 `genparttoollist.sh'.
29447 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29448 Add `*.sh' to the list find searches for and change `mdate.sh'
29449 to `mdate-sh'.
29450
29451 2009-06-10 Pavel Roskin <proski@gnu.org>
29452
29453 * include/grub/multiboot2.h: Provide compatibility defines for
29454 multiboot2.h.
29455 * include/multiboot2.h: Include stdint.h only if needed, using
29456 angle brackets.
29457 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29458 grub/multiboot2.h.
29459 * loader/ieee1275/multiboot2.c: Likewise.
29460 * loader/multiboot2.c: Likewise.
29461 * loader/multiboot_loader.c: Likewise.
29462
29463 * configure.ac: Use -nostdlib when probing for the target. It
29464 should not be required to have libc for the target.
29465
29466 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29467 they fail without libc headers for the target.
29468 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29469 exports.
29470 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29471 preprocessor conditionals.
29472
29473 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29474 build system doesn't need to be aware of the tar.c internals.
29475
29476 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29477
29478 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29479
29480 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29483 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29484
29485 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29486
29487 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29488 aren't available if ata.mod gets used.
29489
29490 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29491
29492 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29493 initialising controller.
29494 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29495
29496 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29497
29498 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29499 to choose between ata and biosdisk module on i386-pc.
29500
29501 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29502
29503 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29504 Subclass and Programming Interface fields in terms of the 3 byte
29505 Class Code register.
29506 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29507
29508 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29509 interface is OHCI. Add grub_dprintf for symmetry with
29510 bus/usb/uhci.c.
29511 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29512 interface is UHCI. Add interf variable for programming
29513 interface. Print interface with class/subclass.
29514
29515 * bus/usb/ohci.c: Set interf with correct field.
29516
29517 * bus/usb/uhci.c: Remove unneeded doubled lines.
29518 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29519 Remove whitespace inside comment.
29520
29521 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29522
29523 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29524 as fallback an equivalent option without depth.
29525
29526 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29527
29528 Not fail if unable to retrieve C/H/S on LBA disks
29529
29530 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29531 if unable to retrieve C/H/S on LBA disks
29532
29533 2009-06-08 Pavel Roskin <proski@gnu.org>
29534
29535 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29536 about aliasing.
29537
29538 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29539
29540 * Makefile.in (uninstall): Remove all $lib_DATA files.
29541
29542 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29543
29544 Bugfix: install on partitionless device
29545
29546 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29547 is a whole disk
29548
29549 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29550
29551 * Makefile.in (uninstall): Remove all $include_DATA files.
29552
29553 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29554
29555 * commands/true.c: New file. Implement the true and false commands.
29556 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29557 (true_mod_SOURCES): New variable.
29558 (true_mod_CFLAGS): Likewise.
29559 (true_mod_LDFLAGS): Likewise.
29560
29561 2009-06-05 Colin D Bennett <colin@gibibit.com>
29562
29563 Optimized font character lookup using binary search instead of linear
29564 search. Fonts now are required to have the character index ordered by
29565 code point.
29566
29567 * font/font.c (load_font_index): Verify that fonts have ordered
29568 character indices.
29569 (find_glyph): Use binary search instead of linear search to find a
29570 character in a font.
29571
29572 2009-06-05 Michael Scherer <misc@mandriva.org>
29573
29574 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29575 uses case sensitive btree.
29576 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29577 only for case insensitive filesystems.
29578
29579 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29582 * conf/common.rmk (search_mod_CFLAGS): likewise
29583
29584 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29585
29586 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29587 compensate a compiler bug
29588
29589 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29590
29591 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29592 instead of '\b'
29593
29594 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29595
29596 Definitions for creating asm symbols with Apple's CC
29597
29598 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29599 [APPLE_CC] (VARIABLE): likewise
29600
29601 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29602
29603 Disable lnxboot.img when compiled
29604 with Apple's CC
29605
29606 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29607 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29608 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29609 [! APPLE_CC] (CODE_LENG): skip
29610 [! APPLE_CC] (setup_sects): likewise
29611 [! APPLE_CC]: skip filling
29612
29613 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Address in trampolines based on 32-bit registers when compiled
29616 with Apple's CC
29617
29618 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29619 for addresses
29620 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29621
29622 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29623
29624 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29625
29626 * kern/misc.c [APPLE_CC] (memcpy): new function
29627 [APPLE_CC] (memmove): likewise
29628 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29629 (memcpy): define alias conditionally on !APPLE_CC
29630 (memset): likewise
29631 (abort): likewise
29632 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29633 APPLE_CC are defined
29634 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29635 (grub_assert_fail): make prototype conditional
29636
29637 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29638
29639 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29640
29641 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29642 grub-macho2img
29643 (CLEANFILES): add grub-macho2img
29644 (grub_macho2img_SOURCES): new variable
29645 * kern/i386/pc/startup.S (bss_start): new variable
29646 (bss_end): likewise
29647 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29648 * util/grub-macho2img.c: new file
29649
29650 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29651
29652 Use objconv when compiling with Apple's CC
29653
29654 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29655 (efiemu64.o): likewise
29656 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29657 when compiling with Apple's CC
29658 (efiemu64_s.o): likewise
29659 * configure.ac: check for objconv when compiling with Apple's CC
29660 * genmk.rb: use objconv for modules when compiled with Apple's CC
29661
29662 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29663
29664 Define segment as well as section when compiling with
29665 Apple's CC
29666
29667 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29668 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29669 (efiemu_convert_pointer): likewise
29670 (efiemu_set_virtual_address_map): likewise
29671 (efiemu_convert_pointer): likewise
29672 (efiemu_getcrc32): likewise
29673 (init_crc32_table): likewise
29674 (reflect): likewise
29675 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29676 (GRUB_MOD_DEP): likewise
29677
29678 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29679
29680 Allow a compilation without -mcmodel=large
29681
29682 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29683 when compiled without -mcmodel=large
29684 (filter_memory_map): remove memory post 4 GiB when compiled
29685 without -mcmodel=large
29686 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29687 TARGET_CFLAGS when -mcmodel=large isn't supported
29688
29689 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29690
29691 Remove nested functions in efiemu core
29692
29693 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29694
29695 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29696
29697 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29698
29699 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29700 temporary storage
29701 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29702 using Apple's CC
29703 (grub_cpu_is_tsc_supported): likewise
29704 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29705
29706 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29707
29708 Absolute addressing through constant with Apple's cc
29709
29710 * kern/i386/pc/startup.S: Define necessary constants
29711 and address through it when using ABS with Apple's CC
29712 * boot/i386/pc/diskboot.S: likewise
29713 * boot/i386/pc/boot.S: likewise
29714 * boot/i386/pc/lnxboot.S: likewise
29715 * boot/i386/pc/cdboot.S: likewise
29716 * mmap/i386/pc/mmap_helper.S: likewise
29717 * commands/i386/pc/drivemap_int13h.S: likewise
29718
29719 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29720
29721 Check if compiler is apple cc
29722
29723 * Makefile.in (ASFLAGS): new variable
29724 (TARGET_ASFLAGS): likewise
29725 (TARGET_MODULE_FORMAT): likewise
29726 (TARGET_APPLE_CC): likewise
29727 (OBJCONV): likewise
29728 (TARGET_IMG_CFLAGS): likewise
29729 (TARGET_CPPFLAGS): add includedir
29730 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29731 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29732 Check for linker script only if compiler isn't Apple's CC
29733 (TARGET_MODULE_FORMAT): set
29734 (TARGET_APPLE_CC): likewise
29735 (TARGET_ASFLAGS): likewise
29736 (ASFLAGS): likewise
29737 Check for objcopy only if compiler isn't Apple's CC
29738 Check for BSS symbol only if compiler isn't Apple's CC
29739 * genmk.rb: adapt nm options if we use Apple's utils
29740 * aclocal.m4 (grub_apple_cc): new test
29741 (grub_apple_target_cc): likewise
29742
29743 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29744
29745 Simplify sed expressions and improve awk
29746
29747 * Makefile.in (install-local): simplify sed expression
29748 * gencmdlist.sh: likewise
29749 * genmoddep.awk: avoid adding module as a dependency of itself
29750
29751 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29752
29753 Add missing start symbols
29754
29755 * boot/i386/pc/boot.S: add start
29756 * boot/i386/pc/pxeboot.S: likewise
29757
29758 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29759
29760 Fix wrong assumptions with grub-mkimage on EFI
29761
29762 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29763 (relocate_addresses): consider both r_addend and value at offset
29764 (make_mods_section): zerofill modinfo and header
29765 (convert_elf): write prefix here
29766
29767 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29768
29769 Use .asciz instead of .string
29770
29771 * i386/pc/diskboot.S: use .asciz instead of .string
29772 * i386/pc/boot.S: likewise
29773 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29774 (GRUB_MOD_NAME): likewise
29775
29776 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29777
29778 gfxpayload support
29779
29780 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29781 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29782 (grub_video_setup): remove
29783 (grub_video_set_mode): new prototype
29784 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29785 (vid_mode): remove
29786 (linux_vesafb_res): compile only on PCBIOS
29787 (grub_linux_boot): support gfxpayload
29788 * loader/i386/pc/xnu.c (video_hook): new function
29789 (grub_xnu_set_video): support gfxpayload
29790 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29791 (DEFAULT_VIDEO_HEIGHT): likewise
29792 (DEFAULT_VIDEO_FLAGS): likewise
29793 (DEFAULT_VIDEO_MODE): new definition
29794 (video_hook): new function
29795 (grub_gfxterm_init): use grub_video_set_mode
29796 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29797 loading xnu
29798 * video/video.c (grub_video_setup): removed
29799 (grub_video_set_mode): new function based on grub_gfxterm_init and
29800 grub_video_setup
29801
29802 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29803
29804 Avoid calling biosdisk in drivemap
29805
29806 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29807 (revparse_biosdisk): likewise
29808 (list_mappings): derive name from id directly
29809 (grub_cmd_drivemap): use tryparse_diskstring
29810
29811 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29812
29813 Script fixes
29814
29815 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29816 (grub_lexer_param): add tokenonhold
29817 (grub_script_create_cmdline): remove cmdline. All callers updated
29818 (grub_script_function_create): make functionname
29819 grub_script_arg. All callers updated
29820 (grub_script_execute_argument_to_string): new prototype
29821 * kern/parser.c (state_transitions): reorder
29822 (grub_parser_cmdline_state): fix a bug and make more compact
29823 * script/sh/execute.c (grub_script_execute_argument_to_string):
29824 make global
29825 (grub_script_execute_cmdline): use new format
29826 * script/sh/function.c (grub_script_function_create): make functionname
29827 grub_script_arg. All callers updated
29828 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29829 (grub_script_yylex): remove
29830 (grub_script_yylex2): renamed to ...
29831 (grub_script_yylex): ...renamed
29832 parse the expressions like a${b}c
29833 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29834 (GRUB_PARSER_TOKEN_VAR): remove
29835 (GRUB_PARSER_TOKEN_NAME): likewise
29836 ("if"): declare as typeless
29837 ("while"): likewise
29838 ("function"): likewise
29839 ("else"): likewise
29840 ("then"): likewise
29841 ("fi"): likewise
29842 (text): remove
29843 (argument): likewise
29844 (script): accept empty scripts and make exit on error
29845 (arguments): use GRUB_PARSER_TOKEN_ARG
29846 (function): likewise
29847 (command): move error handling to script
29848 (menuentry): move grub_script_lexer_ref before
29849 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29850 argument. All callers updated
29851
29852 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29853
29854 Prevent GRUB from probing floppies during boot.
29855
29856 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29857 * commands/search.c (options): Add --no-floppy.
29858 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29859 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29860 --no-floppy when searching for UUIDs.
29861
29862 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29863
29864 Simplify the code duplication in commands/search.c.
29865
29866 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29867 (search_fs): ... this. Update all users.
29868
29869 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29870
29871 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29872
29873 2009-05-28 Pavel Roskin <proski@gnu.org>
29874
29875 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29876 Remove the original symlink explicitly.
29877
29878 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29879 just one slash. That's how grub_fshelp_find_file() does it.
29880
29881 2009-05-26 Pavel Roskin <proski@gnu.org>
29882
29883 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29884 to `str'.
29885
29886 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29887 possibly unused.
29888
29889 2009-05-25 Christian Franke <franke@computer.org>
29890
29891 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29892 register.
29893 (grub_atapi_identify): Add wait after drive select.
29894 (grub_ata_identify): Do more strict status register check before
29895 calling grub_atapi_identify (). Suppress error message if status
29896 register is 0x00 after command failure. Add status register
29897 check after PIO read to avoid bogus identify due to stuck DRQ.
29898 Thanks to Pavel Roskin for testing.
29899 (grub_device_initialize): Remove unsafe status register check.
29900 Thanks to 'phcoder' for problem report and patch.
29901 Prevent sign extension in debug message.
29902
29903 2009-05-23 Colin D Bennett <colin@gibibit.com>
29904
29905 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29906 definition file, and functions defined in `normal/menu.c' have had
29907 their prototypes moved to `include/grub/menu.h' for consistency.
29908
29909 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29910 from normal.h.
29911 (grub_menu_get_entry): Likewise.
29912 (grub_menu_get_timeout): Likewise.
29913 (grub_menu_set_timeout): Likewise.
29914 (grub_menu_execute_entry): Likewise.
29915 (grub_menu_execute_with_fallback): Likewise.
29916 (grub_menu_entry_run): Likewise.
29917
29918 * include/grub/normal.h: Re-ordered and grouped function
29919 prototypes by file that the function is defined in.
29920 (grub_menu_execute_callback): Removed; moved to menu.h.
29921 (grub_menu_get_entry): Likewise.
29922 (grub_menu_get_timeout): Likewise.
29923 (grub_menu_set_timeout): Likewise.
29924 (grub_menu_execute_entry): Likewise.
29925 (grub_menu_execute_with_fallback): Likewise.
29926 (grub_menu_entry_run): Likewise.
29927 (grub_menu_addentry): Renamed from this ...
29928 (grub_normal_add_menu_entry): ... to this.
29929
29930 * normal/main.c (grub_menu_addentry): Renamed from this ...
29931 (grub_normal_add_menu_entry): ... to this.
29932
29933 * script/sh/execute.c (grub_script_execute_menuentry): Update
29934 reference to renamed grub_menu_addentry function.
29935
29936 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29937
29938 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29939
29940 2009-05-22 Pavel Roskin <proski@gnu.org>
29941
29942 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29943 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29944 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29945 compiling for the i386 targets, but not for the utilities.
29946
29947 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29948 to grub_uint8_t.
29949 (grub_root_drive): Likewise.
29950 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29951 remove alignment.
29952 (grub_root_drive): Change size to byte.
29953 (grub_start_addr): Remove.
29954 (grub_end_addr): Likewise.
29955 (grub_apm_bios_info): Likewise.
29956
29957 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29958
29959 * normal/i386: Remove.
29960 * normal/powerpc: Likewise.
29961 * normal/sparc64: Likewise.
29962 * normal/x86_64: Likewise.
29963
29964 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29965
29966 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29967 * loader/i386/linux_trampoline.S: Fix indentation
29968 * loader/i386/xnu_helper.S: Likewise
29969
29970 2009-05-18 Colin D Bennett <colin@gibibit.com>
29971
29972 Display error messages when parsing a Lua statement fails.
29973 Previously, executing a syntactically invalid statement like
29974 ")foo" or "bar;" would silently fail.
29975
29976 * script/lua/grub_main.c (handle_lua_error): New function.
29977 (grub_lua_parse_line): Improved reporting of Lua parser and
29978 execution errors.
29979
29980 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29981
29982 Remove -Werror which causes build to fail on some systems
29983
29984 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29985 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29986 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29987
29988 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29989
29990 trampoline for linux on 64-bit platform
29991
29992 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29993 loader/i386/efi/linux_trampoline.S
29994 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29995 declaration
29996 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29997 here
29998 * loader/i386/linux_trampoline.S: moved here
29999 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30000 trampoline
30001 (jumpvector): removed
30002 (grub_linux_trampoline_start): new declaration
30003 (grub_linux_trampoline_end): likewise
30004 (grub_linux_boot): use trampoline when on 64-bit platform
30005 * loader/i386/linux.c: likewise
30006
30007 2009-05-16 Pavel Roskin <proski@gnu.org>
30008
30009 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30010 const to avoid a warning.
30011 (grub_lua_setenv): Likewise.
30012 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30013 lmsg to fix a warning.
30014
30015 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30016
30017 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
30018 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30019 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30020 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30021 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30022 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30023 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30024 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30025
30026 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30027
30028 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30029
30030 2009-05-16 Bean <bean123ch@gmail.com>
30031
30032 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30033 (lua_mod_SOURCES): New variable.
30034 (lua_mod_CFLAGS): Likewise.
30035 (lua_mod_LDFLAGS): Likewise.
30036
30037 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30038 (setjmp_mod_SOURCES): New variable.
30039 (setjmp_mod_CFLAGS): Likewise.
30040 (setjmp_LDFLAGS): Likewise.
30041
30042 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30043 (setjmp_mod_SOURCES): New variable.
30044 (setjmp_mod_CFLAGS): Likewise.
30045 (setjmp_LDFLAGS): Likewise.
30046
30047 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30048 (setjmp_mod_SOURCES): New variable.
30049 (setjmp_mod_CFLAGS): Likewise.
30050 (setjmp_LDFLAGS): Likewise.
30051
30052 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30053 (setjmp_mod_SOURCES): New variable.
30054 (setjmp_mod_CFLAGS): Likewise.
30055 (setjmp_LDFLAGS): Likewise.
30056
30057 * normal/i386/setjmp.S: Moved from here ...
30058 * lib/i386/setjmp.S: ... Moved here
30059 * normal/x86_64/setjmp.S: Moved from here ...
30060 * lib/x86_64/setjmp.S: ... Moved here
30061 * normal/powerpc/setjmp.S: Moved from here ...
30062 * lib/powerpc/setjmp.S: ... Moved here
30063 * normal/sparc64/setjmp.S: Moved from here ...
30064 * lib/sparc64/setjmp.S: ... Moved here
30065
30066 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30067 returns_twice in mingw.
30068
30069 * script/lua/grub_lib.c: New file.
30070 * script/lua/grub_lib.h: Likewise.
30071 * script/lua/grub_lua.h: Likewise.
30072 * script/lua/grub_main.c: Likewise.
30073 * script/lua/lapi.c: Likewise.
30074 * script/lua/lapi.h: Likewise.
30075 * script/lua/lauxlib.c: Likewise.
30076 * script/lua/lauxlib.h: Likewise.
30077 * script/lua/lbaselib.c: Likewise.
30078 * script/lua/lcode.c: Likewise.
30079 * script/lua/lcode.h: Likewise.
30080 * script/lua/ldblib.c: Likewise.
30081 * script/lua/ldebug.c: Likewise.
30082 * script/lua/ldebug.h: Likewise.
30083 * script/lua/ldo.c: Likewise.
30084 * script/lua/ldo.h: Likewise.
30085 * script/lua/ldump.c: Likewise.
30086 * script/lua/lfunc.c: Likewise.
30087 * script/lua/lfunc.h: Likewise.
30088 * script/lua/lgc.c: Likewise.
30089 * script/lua/lgc.h: Likewise.
30090 * script/lua/linit.c: Likewise.
30091 * script/lua/liolib.c: Likewise.
30092 * script/lua/llex.c: Likewise.
30093 * script/lua/llex.h: Likewise.
30094 * script/lua/llimits.h: Likewise.
30095 * script/lua/lmathlib.c: Likewise.
30096 * script/lua/lmem.c: Likewise.
30097 * script/lua/lmem.h: Likewise.
30098 * script/lua/loadlib.c: Likewise.
30099 * script/lua/lobject.c: Likewise.
30100 * script/lua/lobject.h: Likewise.
30101 * script/lua/lopcodes.c: Likewise.
30102 * script/lua/lopcodes.h: Likewise.
30103 * script/lua/loslib.c: Likewise.
30104 * script/lua/lparser.c: Likewise.
30105 * script/lua/lparser.h: Likewise.
30106 * script/lua/lstate.c: Likewise.
30107 * script/lua/lstate.h: Likewise.
30108 * script/lua/lstring.c: Likewise.
30109 * script/lua/lstring.h: Likewise.
30110 * script/lua/lstrlib.c: Likewise.
30111 * script/lua/ltable.c: Likewise.
30112 * script/lua/ltable.h: Likewise.
30113 * script/lua/ltablib.c: Likewise.
30114 * script/lua/ltm.c: Likewise.
30115 * script/lua/ltm.h: Likewise.
30116 * script/lua/lua.h: Likewise.
30117 * script/lua/luaconf.h: Likewise.
30118 * script/lua/lualib.h: Likewise.
30119 * script/lua/lundump.c: Likewise.
30120 * script/lua/lundump.h: Likewise.
30121 * script/lua/lvm.c: Likewise.
30122 * script/lua/lvm.h: Likewise.
30123 * script/lua/lzio.c: Likewise.
30124 * script/lua/lzio.h: Likewise.
30125
30126 2009-05-16 Bean <bean123ch@gmail.com>
30127
30128 * include/grub/kernel.h (grub_module_header_types): Add type
30129 OBJ_TYPE_CONFIG.
30130
30131 * kern/main.c (grub_load_config): New function.
30132 (grub_main): Call grub_load_config to read boot config.
30133
30134 * grub-mkimage (generate_image): New parameter config_path.
30135 (options): New option --config.
30136 (main): Parse --config option, and pass it to generate_image.
30137
30138 2009-05-14 Christian Franke <franke@computer.org>
30139
30140 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30141 This fixes build on Cygwin.
30142
30143 2009-05-14 Pavel Roskin <proski@gnu.org>
30144
30145 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30146 jump. This saves two bytes, so the typical case of 2 swapped
30147 drives would fit 32 bytes.
30148
30149 2009-05-13 Pavel Roskin <proski@gnu.org>
30150
30151 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30152 grub_uint32_t to avoid a warning.
30153
30154 * loader/i386/linux.c (allocate_pages): When assigning
30155 real_mode_mem, cast through grub_size_t to fix a warning. The
30156 code already makes sure that the value would fit a pointer.
30157 (grub_linux_setup_video): Cast render_target->data to
30158 grub_size_t to fix a warning.
30159
30160 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30161
30162 * commands/i386/pc/drivemap.c: New file - implement drivemap
30163 command.
30164 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30165 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30166
30167 2009-05-13 Pavel Roskin <proski@gnu.org>
30168
30169 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30170 embedding_area_exists.
30171
30172 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30173
30174 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30175 it easier to understand / work with.
30176 Improve warning messages for cases where there's no embedding area,
30177 or when it is too small (or core.img too large).
30178
30179 2009-05-13 Pavel Roskin <proski@gnu.org>
30180
30181 * loader/i386/pc/multiboot2.c: Add necessary includes for
30182 grub_multiboot2_real_boot().
30183
30184 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30185 PX record is always little-endian. We only need the lower 2
30186 bytes of the mode.
30187
30188 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30189 facilitate code reuse.
30190 (grub_cpio_mount): Use "struct head", not a char buffer. This
30191 fixes a warning reported by gcc 4.4.
30192
30193 * kernel/disk.c (grub_disk_read): Use void pointer for the
30194 buffer.
30195 (grub_disk_write): Use const void pointer for the buffer.
30196 Adjust all callers. Remove unnecessary casts.
30197
30198 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30199
30200 * util/i386/pc/grub-install.in: Update copyright year.
30201
30202 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 gptsync
30205
30206 * commands/gptsync.c: new file
30207 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30208 (gptsync_mod_SOURCES): new variable
30209 (gptsync_mod_CFLAGS): likewise
30210 (gptsync_mod_LDFLAGS): likewise
30211 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30212 new definition
30213 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30214 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30215 * conf/i386-ieee1275.rmk: likewise
30216 * conf/i386-pc.rmk: likewise
30217 * conf/powerpc-ieee1275.rmk: likewise
30218
30219 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30220
30221 Fixed grub-emu
30222
30223 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30224 (grub_dl_ref): likewise
30225
30226 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30227
30228 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30229 split in two functions (one for msdos and one for gpt).
30230
30231 2009-05-08 Pavel Roskin <proski@gnu.org>
30232
30233 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30234 not modified.
30235
30236 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30237 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30238 Initialize them with -1. Add sanity check for bad1. Eliminate
30239 nerr variable.
30240
30241 2009-05-08 David S. Miller <davem@davemloft.net>
30242
30243 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30244
30245 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30246
30247 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30248 existence.
30249
30250 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30251
30252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30253 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30254
30255 2009-05-05 David S. Miller <davem@davemloft.net>
30256
30257 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30258
30259 2009-05-05 Pavel Roskin <proski@gnu.org>
30260
30261 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30262 of grub_dl_ref() and grub_dl_unref().
30263 * commands/parttool.c: Remove preprocessor conditionals around
30264 grub_dl_ref() and grub_dl_unref().
30265 * fs/affs.c: Likewise.
30266 * fs/afs.c: Likewise.
30267 * fs/cpio.c: Likewise.
30268 * fs/ext2.c: Likewise.
30269 * fs/fat.c: Likewise.
30270 * fs/hfs.c: Likewise.
30271 * fs/hfsplus.c: Likewise.
30272 * fs/iso9660.c: Likewise.
30273 * fs/jfs.c: Likewise.
30274 * fs/minix.c: Likewise.
30275 * fs/ntfs.c: Likewise.
30276 * fs/reiserfs.c: Likewise.
30277 * fs/sfs.c: Likewise.
30278 * fs/udf.c: Likewise.
30279 * fs/ufs.c: Likewise.
30280 * fs/xfs.c: Likewise.
30281 * include/grub/dl.h: Likewise.
30282 * loader/xnu.c: Likewise.
30283
30284 2009-05-04 Pavel Roskin <proski@gnu.org>
30285
30286 * commands/acpi.c: Remove unused variable my_mod.
30287 * partmap/amiga.c: Likewise.
30288 * partmap/apple.c: Likewise.
30289 * partmap/gpt.c: Likewise.
30290 * partmap/pc.c: Likewise.
30291 * partmap/sun.c: Likewise.
30292 * term/gfxterm.c: Likewise.
30293 * term/i386/pc/vesafb.c: Likewise.
30294 * term/i386/pc/vga.c: Likewise.
30295
30296 2009-05-04 David S. Miller <davem@davemloft.net>
30297
30298 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30299 pointer args to grub_ieee1275_get_property().
30300
30301 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30302
30303 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30304 devices, and do not traverse down under controller nodes.
30305
30306 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30307 (grub_ofdisk_open): Use it to un-escape "," characters.
30308 * kern/disk.c (find_part_sep): New.
30309 (grub_disk_open): Use it to find the first non-escaped ','
30310 character in the disk name.
30311 * util/ieee1275/devicemap.c (escape_of_path): New.
30312 (grub_util_emit_devicemap_entry): Use it.
30313 * util/sparc64/ieee1275/grub-install.in: Update script to
30314 strip partition specifiers properly by not triggering on
30315 '\' escaped ',' characters.
30316
30317 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30318
30319 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30320 to 0x300.
30321 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30322 resolutions.
30323 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30324 on documentation from Wikipedia).
30325
30326 2009-05-04 Pavel Roskin <proski@gnu.org>
30327
30328 * disk/ata.c: Spelling fixes.
30329 * disk/raid.c: Likewise.
30330 * disk/usbms.c: Likewise.
30331 * disk/dmraid_nvidia.c: Likewise.
30332 * kern/ieee1275/openfw.c: Likewise.
30333 * kern/ieee1275/init.c: Likewise.
30334 * kern/ieee1275/cmain.c: Likewise.
30335 * boot/i386/pc/cdboot.S: Likewise.
30336 * video/readers/png.c: Likewise.
30337 * video/i386/pc/vbe.c: Likewise.
30338 * fs/udf.c: Likewise.
30339 * fs/hfs.c: Likewise.
30340 * fs/reiserfs.c: Likewise.
30341 * efiemu/runtime/efiemu.c: Likewise.
30342 * efiemu/main.c: Likewise.
30343 * efiemu/mm.c: Likewise.
30344 * include/grub/elf.h: Likewise.
30345 * include/grub/xnu.h: Likewise.
30346 * include/grub/usbdesc.h: Likewise.
30347 * include/grub/usb.h: Likewise.
30348 * include/grub/script_sh.h: Likewise.
30349 * include/grub/lib/LzmaEnc.h: Likewise.
30350 * include/grub/efiemu/efiemu.h: Likewise.
30351 * include/grub/command.h: Likewise.
30352 * normal/menu.c: Likewise.
30353 * normal/main.c: Likewise.
30354 * normal/datetime.c: Likewise.
30355 * bus/usb/uhci.c: Likewise.
30356 * mmap/i386/uppermem.c: Likewise.
30357 * mmap/mmap.c: Likewise.
30358 * commands/acpi.c: Likewise.
30359 * commands/test.c: Likewise.
30360 * partmap/apple.c: Likewise.
30361 * font/font.c: Likewise.
30362 * loader/sparc64/ieee1275/linux.c: Likewise.
30363 * loader/macho.c: Likewise.
30364 * loader/i386/bsd_trampoline.S: Likewise.
30365 * loader/i386/bsd.c: Likewise.
30366 * loader/xnu.c: Likewise.
30367 * term/i386/pc/vesafb.c: Likewise.
30368 * term/usb_keyboard.c: Likewise.
30369 * util/resolve.c: Likewise.
30370 * util/getroot.c: Likewise.
30371
30372 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30373
30374 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30375
30376 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30377
30378 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30379 build error.
30380
30381 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30382
30383 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30384 parameter only available on BIOS.
30385
30386 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30387
30388 Removed wrong semicolon in declaration
30389
30390 * grub/misc.h (grub_dprintf): remove semicolon
30391
30392 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30393
30394 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30395 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30396 is done by grub_cmd_linux() now).
30397 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30398 restore video to text mode.
30399 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30400 indicates lack of "vga=" parameter. "vga=0" is mapped to
30401 `GRUB_LINUX_VID_MODE_NORMAL'.
30402
30403 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30404
30405 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30406 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30407 and `normal/script.c'. Add `kern/rescue_reader.c',
30408 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30409 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30410 `grub_script.tab.c'.
30411
30412 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30413 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30416 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30417
30418 * Makefile.in: Remove duplicated 2008 in Copyright line.
30419
30420 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30421
30422 * util/misc.c (grub_util_warn): New function. Emits a warning
30423 unconditionally.
30424 * include/grub/util/misc.h (grub_util_warn): New declaration.
30425
30426 * util/i386/pc/grub-install.in: Understand --force and pass it down
30427 to grub-setup.
30428
30429 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30430 down to setup().
30431 (setup): Improve error messages and add warnings when requested to
30432 install in odd layouts. Refuse to install using blocklists unless
30433 --force was set.
30434
30435 2009-05-04 martin f. krafft <madduck@madduck.net>
30436
30437 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30438
30439 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30440
30441 Updated copyright year
30442
30443 * fs/hfsplus.c: updated copyright year
30444
30445 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30446
30447 HFS+ UUID
30448
30449 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30450 in the space previously used by unused3
30451 (grub_hfsplus_uuid): new function
30452 (grub_hfsplus_fs): added uuid field
30453
30454 2009-05-03 Pavel Roskin <proski@gnu.org>
30455
30456 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30457 suppress warnings. It's no longer needed.
30458 * disk/host.c: Likewise.
30459 * disk/ata_pthru.c: Likewise.
30460 * disk/loopback.c: Likewise.
30461 * hook/datehook.c: Likewise.
30462 * parttool/pcpart.c: Likewise.
30463 * fs/i386/pc/pxe.c: Likewise.
30464 * fs/ntfscomp.c: Likewise.
30465 * efiemu/main.c: Likewise.
30466 * mmap/mmap.c: Likewise.
30467 * commands/crc.c: Likewise.
30468 * commands/hexdump.c: Likewise.
30469 * commands/hdparm.c: Likewise.
30470 * commands/acpi.c: Likewise.
30471 * commands/echo.c: Likewise.
30472 * commands/minicmd.c: Likewise.
30473 * commands/blocklist.c: Likewise.
30474 * commands/memrw.c: Likewise.
30475 * commands/loadenv.c: Likewise.
30476 * commands/usbtest.c: Likewise.
30477 * commands/lsmmap.c: Likewise.
30478 * commands/boot.c: Likewise.
30479 * commands/parttool.c: Likewise.
30480 * commands/configfile.c: Likewise.
30481 * commands/search.c: Likewise.
30482 * commands/ieee1275/suspend.c: Likewise.
30483 * commands/cat.c: Likewise.
30484 * commands/i386/pc/pxecmd.c: Likewise.
30485 * commands/i386/pc/play.c: Likewise.
30486 * commands/i386/pc/halt.c: Likewise.
30487 * commands/i386/pc/vbeinfo.c: Likewise.
30488 * commands/i386/pc/vbetest.c: Likewise.
30489 * commands/lspci.c: Likewise.
30490 * commands/date.c: Likewise.
30491 * commands/handler.c: Likewise.
30492 * commands/ls.c: Likewise.
30493 * commands/test.c: Likewise.
30494 * commands/cmp.c: Likewise.
30495 * commands/efi/loadbios.c: Likewise.
30496 * commands/efi/fixvideo.c: Likewise.
30497 * commands/halt.c: Likewise.
30498 * commands/help.c: Likewise.
30499 * commands/reboot.c: Likewise.
30500 * hello/hello.c: Likewise.
30501 * script/sh/main.c: Likewise.
30502 * loader/xnu.c: Likewise.
30503 * term/terminfo.c: Likewise.
30504 * term/i386/pc/serial.c: Likewise.
30505 * term/usb_keyboard.c: Likewise.
30506
30507 2009-05-03 David S. Miller <davem@davemloft.net>
30508
30509 * normal/menu.c: Include grub/parser.h
30510
30511 2009-05-03 Pavel Roskin <proski@gnu.org>
30512
30513 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30514 not char*.
30515 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30516 Suggested by Javier Martín <lordhabbit@gmail.com>
30517
30518 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30519 efiemu??.o doesn't exist.
30520 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30521 copying.
30522
30523 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30524
30525 FreeBSD 64-bit support
30526
30527 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30528 and loader/i386/bsd_trampoline.S
30529 (bsd_mod_ASFLAGS): new variable
30530 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30531 (FREEBSD_MODTYPE_KERNEL64): likewise
30532 (grub_bsd64_trampoline_start): likewise
30533 (grub_bsd64_trampoline_end): likewise
30534 (grub_bsd64_trampoline_selfjump): likewise
30535 (grub_bsd64_trampoline_gdt): likewise
30536 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30537 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30538 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30539 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30540 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30541 of "attrib" member
30542 * loader/i386/bsd_pagetable.c: new file
30543 * loader/i386/bsd_trampoline.S: likewise
30544 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30545 (ALIGN_VAR): likewise
30546 (entry_hi): new variable
30547 (kern_end_mdofs): likewise
30548 (is_64bit): likewise
30549 (grub_freebsd_add_meta): use ALIGN_VAR
30550 (grub_e820_mmap): new declaration
30551 (grub_freebsd_add_mmap): new function
30552 (grub_freebsd_add_meta_module): support 64 bit kernels
30553 (grub_freebsd_list_modules): use ALIGN_VAR
30554 (gdt_descriptor): new declaration
30555 (grub_freebsd_boot): support 64 bit kernels
30556 (grub_bsd_elf64_hook): new function
30557 (grub_bsd_load_elf): support elf64
30558
30559 2009-05-03 Bean <bean123ch@gmail.com>
30560
30561 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30562 after we get the result of if statement.
30563
30564 2009-05-03 Bean <bean123ch@gmail.com>
30565
30566 * Makefile.in (enable_efiemu): New variable.
30567
30568 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30569 set.
30570 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30571 path.
30572 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30573 path, add -mno-red-zone option.
30574 (efiemu64_s.o): Likewise.
30575 (efiemu64.o): Use macro $^ for source file.
30576
30577 * configure.ac (--enable-efiemu): New option.
30578
30579 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30580
30581 xnu support
30582
30583 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30584 (pkglib_MODULES): add xnu.mod
30585 (xnu_mod_SOURCES): new variable
30586 (xnu_mod_CFLAGS): likewise
30587 (xnu_mod_LDFLAGS): likewise
30588 (xnu_mod_ASFLAGS): likewise
30589 * conf/i386-pc.rmk: likewise
30590 * conf/x86_64-efi.rmk: likewise
30591 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30592 new declaration
30593 * include/grub/i386/macho.h: new file
30594 * include/grub/i386/xnu.h: likewise
30595 * include/grub/macho.h: likewise
30596 * include/grub/machoload.h: likewise
30597 * include/grub/x86_64/macho.h: likewise
30598 * include/grub/x86_64/xnu.h: likewise
30599 * include/grub/xnu.h: likewise
30600 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30601 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30602 * loader/i386/efi/xnu.c: new file
30603 * loader/i386/pc/xnu.c: likewise
30604 * loader/i386/xnu.c: likewise
30605 * loader/i386/xnu_helper.S: likewise
30606 * loader/macho.c: likewise
30607 * loader/xnu.c: likewise
30608 * loader/xnu_resume.c: likewise
30609 * util/grub-dumpdevtree: likewise
30610 * include/grub/i386/pit.h: include grub/err.h
30611 (grub_pit_wait): export
30612 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30613
30614 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30615
30616 Efiemu
30617
30618 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30619 _linux_efi, linux_efi.
30620 new files in grub-emu
30621 new targets efiemu32.o and efiemu64.o
30622 * loader/linux_normal_efiemu.c: likewise
30623 * loader/i386/efi/linux.c: added preliminary efiemu support
30624 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30625 files to copy
30626 * include/grub/autoefi.h: new file
30627 * include/grub/i386/efiemu.h: likewise
30628 * include/grub/i386/pc/efiemu.h: likewise
30629 * include/grub/efi/api.h: add LL suffix when necessary
30630 new definitions relating to tables
30631 * include/grub/efiemu/efiemu.h: new file
30632 * include/grub/efiemu/runtime.h: likewise
30633 * efiemu/prepare.c: likewise
30634 * efiemu/loadcore_common.c: likewise
30635 * efiemu/loadcore64.c: likewise
30636 * efiemu/runtime/efiemu.sh: likewise
30637 * efiemu/runtime/efiemu.S: likewise
30638 * efiemu/runtime/efiemu.c: likewise
30639 * efiemu/runtime/config.h: likewise
30640 * efiemu/prepare32.c: likewise
30641 * efiemu/main.c: likewise
30642 * efiemu/modules/pnvram.c: likewise
30643 * efiemu/modules/i386: likewise
30644 * efiemu/modules/i386/pc: likewise
30645 * efiemu/modules/acpi.c: likewise
30646 * efiemu/i386/pc/cfgtables.c: likewise
30647 * efiemu/i386/loadcore64.c: likewise
30648 * efiemu/i386/loadcore32.c: likewise
30649 * efiemu/prepare64.c: likewise
30650 * efiemu/loadcore.c: likewise
30651 * efiemu/symbols.c: likewise
30652 * efiemu/mm.c: likewise
30653 * efiemu/loadcore32.c: likewise
30654
30655 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30656
30657 ACPI spoofing
30658
30659 * commands/acpi.c: new file
30660 * commands/i386/pc/acpi.c: likewise
30661 * commands/efi/acpi.c: likewise
30662 * include/grub/acpi.h: likewise
30663 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30664 (acpi_mod_SOURCES): new variable
30665 (acpi_mod_CFLAGS): likewise
30666 (acpi_mod_LDFLAGS): likewise
30667 * conf/i386-efi.rmk: likewise
30668 * conf/x86_64-efi.rmk: likewise
30669
30670 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30671
30672 Missing part from mmap patch
30673
30674 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30675 (grub_mmap_unregister)
30676 (grub_mmap_free_and_unregister): use grub_mmap_register
30677
30678 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30679
30680 Mmap services
30681
30682 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30683 * loader/i386/linux.c (find_mmap_size): likewise
30684 (allocate_pages): likewise
30685 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30686 (grub_fill_multiboot_mmap): likewise
30687 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30688 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30689 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30690 (OPENBSD_MMAP_RESERVED): likewise
30691 * include/grub/i386/pc/memory.h: include grub/memory.h
30692 (grub_lower_mem): removed
30693 (grub_upper_mem): likewise
30694 (GRUB_MACHINE_MEMORY_ACPI): new definition
30695 (GRUB_MACHINE_MEMORY_NVS): likewise
30696 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30697 (GRUB_MACHINE_MEMORY_HOLE): likewise
30698 (grub_machine_mmap_register): likewise
30699 (grub_machine_mmap_unregister): likewise
30700 (grub_machine_get_upper): likewise
30701 (grub_machine_get_lower): likewise
30702 (grub_machine_get_post64): likewise
30703 * include/grub/i386/efi/memory.h: new file
30704 * include/grub/x86_64/efi/memory.h: likewise
30705 * include/grub/efi/memory.h: likewise
30706 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30707 (mmap_mod_SOURCES): new variable
30708 (mmap_mod_LDFLAGS): likewise
30709 (mmap_mod_ASFLAGS): likewise
30710 * conf/i386-coreboot.rmk: likewise
30711 * conf/i386-ieee1275.rmk: likewise
30712 * conf/i386-efi.rmk: likewise
30713 * conf/x86_64-efi.rmk: likewise
30714 * include/grub/types.h (UINT_TO_PTR): new macro
30715 (PTR_TO_UINT32): likewise
30716 (PTR_TO_UINT64): likewise
30717 * include/grub/memory.h: new file
30718 * mmap/i386/pc/mmap.c: likewise
30719 * mmap/i386/pc/mmap_helper.S: likewise
30720 * mmap/i386/uppermem.c: likewise
30721 * mmap/mmap.c: likewise
30722 * mmap/efi/mmap.c: likewise
30723 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30724 grub_upper_mem
30725 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30726 (grub_upper_mem): likewise
30727 (grub_machine_init): don't use grub_upper_mem,
30728 make grub_lower_mem local
30729 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30730 grub_mmap_iterate and grub_mmap_get_upper
30731 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30732
30733 2009-05-02 Bean <bean123ch@gmail.com>
30734
30735 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30736 script/sh/parser.y.
30737 (pkglib_MODULES): Add normal.mod and sh.mod.
30738 (normal_SOURCES): New variable.
30739 (normal_mod_CFLAGS): Likewise.
30740 (normal_mod_LDFLAGS): Likewise.
30741 (sh_mod_SOURCES): Likewise.
30742 (sh_mod_CFLAGS): Likewise.
30743 (sh_mod_LDFLAGS): Likewise.
30744
30745 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30746 script/sh/lexer.c_DEPENDENCIES.
30747 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30748 kern/rescue_reader.c and kern/rescue_parser.c.
30749 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30750 (grub_emu_SOURCES): Change source files.
30751 (pkglib_MODULES): Remove normal.mod.
30752 (normal_SOURCES): Removed.
30753 (normal_mod_CFLAGS): Likewise.
30754 (normal_mod_LDFLAGS): Likewise.
30755 * conf/i386-coreboot.rmk: Likewise.
30756 * conf/i386-efi.rmk: Likewise.
30757 * conf/i386-ieee1276.rmk: Likewise.
30758 * conf/powerpc-ieee1275.rmk: Likewise.
30759 * conf/sparc64-ieee1275.rmk: Likewise.
30760 * conf/x86_64-efi.rmk: Likewise.
30761
30762 * include/grub/command.h (grub_command_execute): New inline function.
30763
30764 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30765
30766 * include/grub/normal.h: Remove <grub/setjmp.h>.
30767 (grub_fs_module_list): Moved to normal/autofs.c.
30768 (grub_exit_env): Removed.
30769 (grub_command_execute): Likewise.
30770 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30771 parameter script.
30772 (read_command_list): New function declaration.
30773 (read_fs_list): Likewise.
30774
30775 * include/parser.h: Include <grub/reader.h>.
30776 (grub_parser_split_cmdline): Change type of getline parameter.
30777 (grub_parser): New structure.
30778 (grub_parser_class): New variable.
30779 (grub_parser_execute): New function declaration.
30780 (grub_register_rescue_parser): Likewise.
30781 (grub_parser_register): New inline function.
30782 (grub_parser_unregister): Likewise.
30783 (grub_parser_get_current): Likewise.
30784 (grub_parser_set_current): Likewise.
30785
30786 * include/grub/reader.h: New file.
30787 * kern/reader.c: Likewise.
30788 * kern/rescue_parser.c: Likewise.
30789 * kern/rescue_reader.c: Likewise.
30790 * normal/autofs.c: Likewise.
30791 * normal/dyncmd.c: Likewise.
30792
30793 * include/grub/rescue.h: Removed.
30794 * normal/command.h: Likewise.
30795
30796 * include/grub/script.h: Moved to ...
30797 * include/grub/script_sh.h: ... Moved here.
30798 * normal/execute.c: Moved to ...
30799 * script/sh/execute.c: ... Moved here.
30800 * normal/function.c: Moved to ...
30801 * script/sh/function.c: ... Moved here.
30802 * normal/lexer.c: Moved to ...
30803 * script/sh/lexer.c: ... Moved here.
30804 * normal/parser.y: Moved to ...
30805 * script/sh/parser.y: ... Moved here.
30806 * normal/script.c: Moved to ...
30807 * script/sh/script.c: ... Moved here.
30808
30809 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30810 <grub/reader.h>.
30811 (grub_exit_env): Removed.
30812 (fs_module_list): Moved to normal/autofs.c.
30813 (grub_file_getline): Don't handle comment here.
30814 (free_menu): Skip removed field entry->commands.
30815 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30816 script parameter.
30817 (read_config_file): Removed nested parameter, change getline function.
30818 (grub_enter_normal_mode): Removed.
30819 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30820 (read_command_list): Likewise.
30821 (autoload_fs_module): Moved to normal/autofs.c.
30822 (read_fs_list): Likewise.
30823 (reader_nested): New variable.
30824 (grub_normal_execute): Run parser.sh to switch to sh parser.
30825 (grub_cmd_rescue): Removed.
30826 (cmd_normal): Removed.
30827 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30828 rescue command.
30829 (grub_cmdline_run): New function.
30830 (grub_normal_reader_init): Likewise.
30831 (grub_normal_read_line): Likewise.
30832 (grub_env_write_pager): Likewise.
30833 (cmdline): New variable.
30834 (grub_normal_reader): Likewise.
30835 (GRUB_MOD_INIT): Register normal reader and set as current, register
30836 pager hook, register normal command with grub_register_command_prio,
30837 so that it won't show up in command.lst.
30838 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30839 grub_fs_autoload_hook.
30840
30841 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30842 (grub_menu_execute_entry): Replace grub_script_execute with
30843 grub_parser_execute, change parameter to grub_command_execute.
30844
30845 * normal/menu_text.c: Remove <grub/script.h>.
30846
30847 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30848 and <grub/parser.h>.
30849 (run): Change editor_getline to use new parser interface. Change
30850 parameter to grub_command_execute.
30851
30852 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30853 <grub/reader.h> and <grub/parser.h>.
30854 (grub_load_normal_mode): Execute normal command.
30855 (grub_main): Call grub_register_core_commands,
30856 grub_register_rescue_parser and grub_register_rescue_reader, use
30857 grub_reader_loop to enter input loop.
30858
30859 * kern/parser.c (grub_parser_split_cmdline): Change type of
30860 getline parameter.
30861 (grub_parser_class): New variable.
30862 (grub_parser_execute): New function.
30863
30864 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30865 * loader/multiboot2.c: Likewise.
30866 * loader/sparc64/ieee1275/linux.c: Likewise.
30867
30868 * util/grub-emu.c (read_command_list): New dummy function.
30869
30870 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30871
30872 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30873 count to 16 for CCISS and IDA.
30874
30875 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30876
30877 * normal/menu_text.c (grub_wait_after_message): Print a newline
30878 after waiting for user input.
30879
30880 * loader/i386/linux.c: Include `<grub/normal.h>'.
30881 (grub_cmd_linux): Improve the error message about `ask' mode, by
30882 waiting for user input so it's not missed (we can do this, since
30883 user requested interaction).
30884
30885 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30886
30887 Added missing lst to grub-mkrescue
30888
30889 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30890 and ${input_dir}/parttool.lst
30891
30892 2009-04-30 David S. Miller <davem@davemloft.net>
30893
30894 * util/hostdisk.c (device_is_wholedisk): New function.
30895 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30896 zero only if device_is_wholedisk() returns true.
30897
30898 * util/hostdisk.c (convert_system_partition_to_system_disk):
30899 Handle virtual disk devices named /dev/vdiskX as found on sparc
30900 and powerpc.
30901
30902 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30903 lettered partition specifier is found, convert to numbered.
30904
30905 2009-04-29 David S. Miller <davem@davemloft.net>
30906
30907 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30908 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30909
30910 * normal/command.c: Add missing newline at end of file.
30911
30912 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30913 warnings.
30914 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30915 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30916 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30917 ihandles have a 32-bit type but need to be stored in a "void *".
30918
30919 2009-04-28 Pavel Roskin <proski@gnu.org>
30920
30921 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30922 not disk. Adjust all dependencies.
30923 (grub_fs_uuid_close): Use grub_device_close(), not
30924 grub_disk_close().
30925
30926 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30927 parent's partition, don't copy it by reference, as it gets freed
30928 on close.
30929
30930 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30931
30932 Preboot hooks support
30933
30934 * commands/boot.c (struct grub_preboot_t): new declaration
30935 (preboots_head): new variable
30936 (preboots_tail): likewise
30937 (grub_loader_register_preboot_hook): new function
30938 (grub_loader_unregister_preboot_hook): likewise
30939 (grub_loader_set): launch preboot hooks
30940 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30941 (grub_loader_register_preboot_hook): new declaration
30942 (grub_loader_unregister_preboot_hook): likewise
30943
30944 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30945
30946 Warning fix
30947
30948 * disk/scsi.c (grub_scsi_open): added missing cast when
30949 calling grub_dprintf
30950
30951 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30952
30953 Bug and warning fixes
30954
30955 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30956 declaration
30957 * commands/test.c (test_parse): fixed bug with file tests and corrected
30958 declaration of find_file
30959
30960 2009-04-26 Pavel Roskin <proski@gnu.org>
30961
30962 * Makefile.in: Don't install empty manual pages if help2man is
30963 missing. Use help2man option for output, not shell redirection.
30964
30965 2009-04-26 David S. Miller <davem@davemloft.net>
30966
30967 * util/grub-mkdevicemap.c (make_device_map): Add missing
30968 NESTED_FUNC_ATTR to process_device().
30969
30970 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30971
30972 Test command
30973
30974 * commands/test.c: rewritten to use bash-like test
30975
30976 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30977
30978 Parttool autoloading and improvements
30979
30980 * Makefile.in (pkglib_DATA): add parttool.lst
30981 (parttool.lst): new target
30982 * genmk.rb: generate parttool-*
30983 (CLEANFILES): add #{parttool}
30984 (PARTTOOLFILES): new variable
30985 * genparttoollist.sh: new file
30986 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30987 (grub_pcpart_type): likewise
30988 * commands/parttool.c (helpmsg): new variable
30989 (grub_cmd_parttool): output help if not enough arguments are supplied
30990 autoload modules
30991 (GRUB_MOD_INIT(parttool)): use helpmsg
30992
30993 2009-04-24 David S. Miller <davem@davemloft.net>
30994
30995 Avoiding opening same device multiple times in device iterator.
30996
30997 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30998 and use it to build a list of partitions in iterate_disk() and
30999 iterate_partition().
31000
31001 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31002 on disk->data.
31003
31004 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31005 grub_devalias_iterate() result instead of unconditional 0.
31006 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31007 Also, capture hook return value, either directly or via
31008 grub_children_iterate(), and propagate to caller.
31009 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31010 grub_children_iterate): Return value is now 'int' instead of
31011 'grub_err_t'.
31012 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31013 like a proper iterator, stopping when hooks return non-zero.
31014 (grub_devalias_iterate): Likewise.
31015
31016 2009-04-23 David S. Miller <davem@davemloft.net>
31017
31018 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31019
31020 2009-04-22 David S. Miller <davem@davemloft.net>
31021
31022 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31023 is larger than address_cells, use that value for address_cells too.
31024
31025 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31026 IEEE1275_MAX_PATH_LEN): Define.
31027 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31028 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31029 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31030 'devtype'. Explicitly NULL terminate devalias expansion.
31031
31032 * util/sparc64/ieee1275/misc.c: New file.
31033 * util/sparc64/ieee1275/grub-setup.c: New file.
31034 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31035 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31036 * util/sparc64/ieee1275/grub-install.in: New file.
31037 * util/ieee1275/ofpath.c: New file.
31038 * util/ieee1275/devicemap.c: New file.
31039 * util/devicemap.c: New file.
31040 * util/deviceiter.c: New file.
31041 * kern/sparc64/ieee1275/init.c: New file.
31042 * include/grub/util/ofpath.h: New file.
31043 * include/grub/util/deviceiter.h: New file.
31044 * util/grub-mkdevicemap.c: Include deviceiter.h.
31045 Implement using grub_util_emit_devicemap_entry and
31046 grub_util_iterate_devices.
31047 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31048 util/devicemap.c into grub-mkdevicemap
31049 * conf/i386-efi.rmk: Likewise.
31050 * conf/i386-ieee1275.rmk: Likewise.
31051 * conf/i386-pc.rmk: Likewise.
31052 * conf/powerpc-ieee1275.rmk: Likewise.
31053 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31054 images and installation utilities. Build kernel as image
31055 instead of as elf binary. Use common rules as much as possible.
31056
31057 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
31058
31059 Correct GPT definition
31060
31061 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31062 of "attrib" member
31063
31064 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
31065
31066 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31067
31068 2009-04-19 David S. Miller <davem@davemloft.net>
31069
31070 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31071 (grub_rescue_cmd_linux): Rename to...
31072 (grub_cmd_linux): and fix prototype.
31073 (grub_rescue_cmd_initrd): Rename to...
31074 (grub_cmd_initrd): and fix prototype.
31075 (cmd_linux, cmd_initrd): New.
31076 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31077 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31078
31079 2009-04-17 Pavel Roskin <proski@gnu.org>
31080
31081 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31082 format.
31083 (grub_ohci_transfer): Likewise.
31084
31085 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31086
31087 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31088 return without a value. Fix inconsistent indentation.
31089
31090 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31091 match struct grub_fs.
31092
31093 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31094 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31095 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31096 * commands/lspci.c (grub_lspci_iter): Likewise.
31097
31098 2009-04-16 Bean <bean123ch@gmail.com>
31099
31100 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31101 value.
31102
31103 2009-04-15 Pavel Roskin <proski@gnu.org>
31104
31105 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31106 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31107 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31108 definitions.
31109
31110 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31111
31112 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31113 that no multiple data or metadata areas are supported and `Unknown
31114 metadata header'.
31115
31116 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31117
31118 Move loader out of the kernel
31119
31120 * kern/loader.c: moved to ...
31121 * commands/boot.c: ... moved here
31122 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31123 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31124 * include/grub/kernel.h (grub_machine_fini): export
31125 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31126 (grub_loader_set): likewise
31127 (grub_loader_unset): likewise
31128 (grub_loader_boot): likewise
31129 * conf/common.rmk: new module boot.mod
31130 (pkglib_MODULES): add boot.mod
31131 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31132 (grub_emu_SOURCES): likewise
31133 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31134 (grub_emu_SOURCES): likewise
31135 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31136 (grub_emu_SOURCES): likewise
31137 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31138 (grub_emu_SOURCES): likewise
31139 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31140 (grub_emu_SOURCES): likewise
31141 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31142 (grub_emu_SOURCES): likewise
31143 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31144 (grub_emu_SOURCES): likewise
31145
31146 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31149
31150 * kern/misc.c (grub_itoa): Removed function
31151 (grub_ltoa): likewise
31152 (grub_vsprintf): use grub_lltoa
31153
31154 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31155
31156 Restore grub-emu
31157
31158 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31159 * conf/i386-coreboot.rmk: likewise
31160 * conf/i386-ieee1275.rmk: likewise
31161 * conf/powerpc-ieee1275.rmk: likewise
31162
31163 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31164
31165 * INSTALL: Add that `./autogen.sh' needs to be run before
31166 `./configure.'.
31167
31168 2009-04-14 Bean <bean123ch@gmail.com>
31169
31170 * Makefile.in (pkglib_DATA): Add handler.lst.
31171 (handler.lst): New rule.
31172
31173 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31174 * conf/i386-coreboot.rmk: Likewise.
31175 * conf/i386-ieee1275.rmk: Likewise.
31176 * conf/i386-efi.rmk: Likewise.
31177 * conf/x86_64-efi.rmk: Likewise.
31178 * conf/powerpc-ieee1275.rmk: Likewise.
31179 * conf/sparc64-ieee1275.rmk: Likewise.
31180
31181 * genhandlerlist.sh: New file.
31182
31183 * genmk.rb: Add rules to generate handler.lst.
31184
31185 * include/grub/normal.h (grub_file_getline): New function definition.
31186 (read_handler_list): Likewise.
31187 (free_handler_list): Likewise.
31188
31189 * include/grub/term.h (grub_term_register_input): Add name parameter
31190 for auto generation of handler.lst.
31191 (grub_term_register_output): Likewise.
31192
31193 * normal/handler.c: New file.
31194
31195 * normal/main.c (get_line): Renamed to grub_file_getline.
31196 (read_config_file): Use the newly renamed grub_file_getline.
31197 (read_command_list): Likewise.
31198 (read_fs_list): Likewise.
31199 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31200 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31201
31202 * term/efi/console.c (grub_console_init): Add name parameter for auto
31203 generation of handler.lst.
31204 * term/gfxterm.c: Likewise.
31205 * term/i386/pc/at_keyboard.c: Likewise.
31206 * term/i386/pc/console.c: Likewise.
31207 * term/i386/pc/serial.c: Likewise.
31208 * term/i386/pc/vesafb.c: Likewise.
31209 * term/i386/pc/vga.c: Likewise.
31210 * term/i386/pc/vga_text.c: Likewise.
31211 * term/ieee1275/ofconsole.c: Likewise.
31212 * term/usb_keyboard.c: Likewise.
31213
31214 2009-04-14 Bean <bean123ch@gmail.com>
31215
31216 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31217 properly with null character.
31218
31219 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31220
31221 * configure: Remove.
31222 * config.h.in: Likewise.
31223 * stamp-h.in: Likewise.
31224 * DISTLIST: Likewise.
31225 * conf/common.mk: Likewise.
31226 * conf/i386-coreboot.mk: Likewise.
31227 * conf/i386-efi.mk: Likewise.
31228 * conf/i386-ieee1275.mk: Likewise.
31229 * conf/i386.mk: Likewise.
31230 * conf/i386-pc.mk: Likewise.
31231 * conf/powerpc-ieee1275.mk: Likewise.
31232 * conf/sparc64-ieee1275.mk: Likewise.
31233 * conf/x86_64-efi.mk: Likewise.
31234
31235 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31236 develop on GRUB.
31237
31238 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31239 David S. Miller <davem@davemloft.net>
31240
31241 * util/hostdisk.c (make_device_name): Fix buffer length
31242 calculations.
31243
31244 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31245
31246 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31247 <sys/param.h> and <sys/sysctl.h>.
31248 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31249 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31250 opening the device and reset them afterwards.
31251
31252 2009-04-13 Pavel Roskin <proski@gnu.org>
31253
31254 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31255 Reported by John Stanley <jpsinthemix@verizon.net>
31256
31257 2009-04-13 Robert Millan <rmh@aybabtu.com>
31258
31259 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31260 that name for menuentries when appropriate.
31261
31262 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31263
31264 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31265
31266 2009-04-13 Robert Millan <rmh@aybabtu.com>
31267
31268 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31269 to Linux, simply abort telling the user it's no longer supported.
31270
31271 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31272
31273 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31274 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31275 `freebsd_loadenv' only when devices.hints exist.
31276
31277 2009-04-13 Pavel Roskin <proski@gnu.org>
31278
31279 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31280
31281 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31282
31283 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31284 partition number.
31285 (grub_drive): Likewise.
31286
31287 2009-04-13 David S. Miller <davem@davemloft.net>
31288
31289 * kern/sparc64/ieee1275/ieee1275.c: New file.
31290 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31291 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31292 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31293 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31294 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31295 grub_ieee1275_alloc_physmem): Declare new exported functions.
31296
31297 * include/grub/sparc64/ieee1275/loader.h: New file.
31298 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31299 * include/grub/sparc64/kernel.h: Likewise.
31300 * loader/sparc64/ieee1275/linux.c: Likewise.
31301
31302 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31303 (grub_fstest_SOURCES): Likewise.
31304
31305 * util/hostdisk.c (make_device_name): Do not make any assumptions
31306 about the length of drive names.
31307
31308 * kern/dl.c (grub_dl_load_file): Close file immediately when
31309 we are done using it.
31310
31311 2009-04-12 David S. Miller <davem@davemloft.net>
31312
31313 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31314 values. Noticed by Pavel Roskin.
31315
31316 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31317 target compiler.
31318
31319 * genmk.rb: Add more flexible image type specification, also
31320 pass --strip-unneeded to objcopy.
31321 * conf/i386-pc.rmk: Use *_FORMAT.
31322 * conf/i386-pc.mk: Rebuilt.
31323
31324 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31325 (OFDISK_HASH_SZ): Define.
31326 (ofdisk_hash): New hash table.
31327 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31328 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31329 instead of device phandle which is not unique.
31330
31331 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31332 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31333 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31334 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31335 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31336 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31337 GRUB_KERNEL_MACHINE_DATA_END): Define.
31338 (grub_kernel_image_size, grub_total_module_size): Declare.
31339
31340 2009-04-12 Pavel Roskin <proski@gnu.org>
31341
31342 * configure.ac: Change the logic when we check for target tools.
31343 Do it when the target is specified and it's different from the
31344 specified value of the host.
31345
31346 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31347
31348 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31349 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31350 GNU/kFreeBSD. Check if a device is a character device. Use
31351 DIOCGMEDIASIZE to get the size.
31352 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31353 support for GNU/kFreeBSD.
31354 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31355 is a character device instead of a block device. Add support for
31356 FreeBSD device names.
31357
31358 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31359 is a character device instead of a block device.
31360
31361 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31362 is a character device instead of a block device.
31363
31364 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31365
31366 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31367 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31368 FreeBSD. Check if a device is a character device. Use
31369 DIOCGMEDIASIZE to get the size.
31370 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31371 support for FreeBSD.
31372 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31373 is a character device instead of a block device. Add support for
31374 FreeBSD device names.
31375
31376 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31377 a character device instead of a block device.
31378 (grub_util_check_char_device): New function.
31379
31380 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31381 a character device instead of a block device.
31382
31383 * include/grub/util/getroot.h (grub_util_check_char_device): New
31384 prototype.
31385
31386 2009-04-11 David S. Miller <davem@davemloft.net>
31387
31388 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31389 static libgcc.
31390 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31391 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31392 function, if present.
31393 (__bswapdi2): Likewise.
31394
31395 * include/grub/sparc64/ieee1275/boot.h: New file.
31396 * boot/sparc64/ieee1275/boot.S: Likewise.
31397 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31398
31399 * kern/misc.c (grub_ltoa): New function.
31400 (grub_vsprintf): Use it to format 'long' integers.
31401
31402 2009-04-10 David S. Miller <davem@davemloft.net>
31403
31404 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31405 slots are of type grub_ieee1275_cell_t.
31406 (grub_nand_read): Likewise.
31407 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31408 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31409 macros are used to compare values in arg/ret block of the call.
31410 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31411 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31412 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31413 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31414 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31415 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31416 grub_ieee1275_close, grub_ieee1275_set_property,
31417 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31418 grub_ieee1275_cell_t.
31419 * kern/ieee1275/openfw.c (grub_map): Likewise.
31420 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31421 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31422
31423 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31424 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31425 (grub_devalias_iterate): Likewise.
31426
31427 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31428
31429 UFS improvements
31430
31431 * fs/ufs.c (INODE_NBLOCKS): new definition
31432 (struct grub_ufs_dirent): added fields for non-BSD dirents
31433 (grub_ufs_get_file_block): fixed double indirect handling
31434 (grub_ufs_lookup_symlink): use more robust way to determine whether
31435 symlink is inline
31436 (grub_ufs_find_file): support for non-BSD dirents
31437 (grub_ufs_dir): support for non-BSD dirents
31438
31439 2009-04-10 Bean <bean123ch@gnail.com>
31440
31441 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31442 attribute, otherwise the size would be wrong for i386 platform.
31443
31444 * include/grub/pci.h (grub_pci_read_word): New inline function.
31445 (grub_pci_read_byte): Likewise.
31446 (grub_pci_write): Likewise.
31447 (grub_pci_write_word): Likewise.
31448 (grub_pci_write_byte): Likewise.
31449
31450 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31451
31452 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31453 (find_framebuf): Scan pci to locate the frame buffer address.
31454
31455 * commands/efi/fixvideo.c: New file.
31456
31457 * commands/efi/loadbios.c: Likewise.
31458
31459 * commands/memrw.c: Likewise.
31460
31461 * util/grub-dumpbios.in: Likewise.
31462
31463 * conf/common.rmk (grub-dumpbios): New utility.
31464 (pkglib_MODULES): New module memrw.mod.
31465 (memrw_mod_SOURCE): New macro.
31466 (memrw_mod_CFLAGS): Likewise.
31467 (memrw_mod_LDFLAGS): Likewise.
31468
31469 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31470 fixvideo.mod.
31471 (loadbios_mod_SOURCE): New macro.
31472 (loadbios_mod_CFLAGS): Likewise.
31473 (loadbios_mod_LDFLAGS): Likewise.
31474 (fixvideo_mod_SOURCE): Likewise.
31475 (fixvideo_mod_CFLAGS): Likewise.
31476 (fixvideo_mod_LDFLAGS): Likewise.
31477
31478 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31479 fixvideo.mod.
31480 (loadbios_mod_SOURCE): New macro.
31481 (loadbios_mod_CFLAGS): Likewise.
31482 (loadbios_mod_LDFLAGS): Likewise.
31483 (fixvideo_mod_SOURCE): Likewise.
31484 (fixvideo_mod_CFLAGS): Likewise.
31485 (fixvideo_mod_LDFLAGS): Likewise.
31486
31487 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31488
31489 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31490
31491 2009-04-07 David S. Miller <davem@davemloft.net>
31492
31493 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31494 support for R_SPARC_OLO10 relocations. Fix compile warning for
31495 R_SPARC_WDISP30 case.
31496 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31497
31498 2009-04-06 Pavel Roskin <proski@gnu.org>
31499
31500 * include/grub/misc.h (ARRAY_SIZE): New macro.
31501 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31502 New macro.
31503 * loader/i386/linux.c (allocate_pages): Use free_pages().
31504 (grub_linux_unload): Don't use free_pages().
31505 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31506 wrong index. Treat all other modes as text modes.
31507 (grub_cmd_linux): Initialize vid_mode unconditionally to
31508 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31509
31510 * commands/help.c (print_command_help): Use cmd->prio, not
31511 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31512
31513 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 Parttool
31516
31517 * parttool/pcpart.c: new file
31518 * commands/parttool.c: likewise
31519 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31520 (parttool_mod_SOURCES): new variable
31521 (parttool_mod_CFLAGS): likewise
31522 (parttool_mod_LDFLAGS): likewise
31523 (pcpart_mod_SOURCES): likewise
31524 (pcpart_mod_CFLAGS): likewise
31525 (pcpart_mod_LDFLAGS): likewise
31526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31527 and parttool/pcpart.c
31528 * conf/i386-efi.rmk: likewise
31529 * conf/i386-ieee1275.rmk: likewise
31530 * conf/i386-pc.rmk: likewise
31531 * conf/powerpc-ieee1275.rmk: likewise
31532 * conf/sparc64-ieee1275.rmk: likewise
31533 * conf/x86_64-ieee1275.rmk: likewise
31534
31535 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31536
31537 Support for mtime and further expandability of dir command
31538
31539 * include/grub/lib/datetime.h: moved to ...
31540 * include/grub/datetime.h: ... moved here and added
31541 declaration of grub_unixtime2datetime. All users updated
31542 * include/grub/fs.h: new syntax for dir and mtime functions in
31543 struct grub_fs
31544 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31545 and GRUB_FSHELP_FLAGS_MASK
31546 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31547 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31548 (grub_ext2_mtime): new function
31549 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31550 (grub_hfsplus_mtime): new function
31551 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31552 (GRUB_UFS_ATTR_FILE): likewise
31553 (GRUB_UFS_ATTR_LNK): likewise
31554 (struct grub_ufs_sblock): new fields mtime
31555 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31556 all users updated
31557 (grub_ufs_dir): mtime support
31558 (grub_ufs_mtime): new function
31559 * fs/affs.c (grub_affs_dir): use new dir syntax
31560 * fs/afs.c (grub_afs_dir): likewise
31561 * fs/cpio.c (grub_cpio_dir): likewise
31562 * fs/fat.c (grub_fat_find_dir): likewise
31563 * fs/hfs.c (grub_hfs_dir): likewise
31564 * fs/iso9660.c (grub_iso9660_dir): likewise
31565 * fs/jfs.c (grub_jfs_dir): likewise
31566 * fs/minix.c (grub_minix_dir): likewise
31567 * fs/ntfs.c (grub_ntfs_dir): likewise
31568 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31569 * fs/sfs.c (grub_sfs_dir): likewise
31570 * fs/xfs.c (grub_xfs_dir): likewise
31571 * util/hostfs.c (grub_hostfs_dir): likewise
31572 * lib/datetime.c: moved to ...
31573 * normal/datetime.c: ... moved here
31574 (grub_unixtime2datetime): new function
31575 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31576 * normal/completion.c (iterate_dir): use new dir syntax
31577 * normal/misc.c (grub_normal_print_device_info): tell the
31578 last modification time of a volume
31579 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31580 * conf/common.rmk: added lib/datetime.c to ls.mod
31581 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31582 (normal_mod_SOURCES): likewise
31583 (datetime_mod_SOURCES): Removed lib/datetime.c
31584 * conf/i386-efi.rmk: likewise
31585 * conf/i386-ieee1275.rmk: likewise
31586 * conf/i386-pc.rmk: likewise
31587 * conf/powerpc-ieee1275.rmk: likewise
31588 * conf/sparc64-ieee1275.rmk: likewise
31589 * conf/x86_64-efi.rmk: likewise
31590
31591 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31592
31593 Trim trailing spaces in FAT label and support mtools-like labels
31594
31595 * fs/fat.c (grub_fat_iterate_dir): New function based
31596 on grub_fat_find_dir
31597 (grub_fat_find_dir): use grub_fat_iterate_dir
31598 (grub_fat_label): likewise
31599
31600 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31601
31602 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31603 and command.h
31604 remove extraneous kernel_elf_HEADERS
31605
31606 2009-04-04 Bean <bean123ch@gnail.com>
31607
31608 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31609
31610 * util/misc.c: Likewise.
31611
31612 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31613
31614 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31615 instead of grub_printf.
31616
31617 2009-04-03 Robert Millan <rmh@aybabtu.com>
31618
31619 * loader/i386/linux.c (grub_linux_setup_video): Fill
31620 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31621 values from `mode info' structure instead of hardcoded
31622 values.
31623
31624 2009-04-01 Pavel Roskin <proski@gnu.org>
31625
31626 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31627 unused now.
31628 * genmk.rb: Likewise.
31629 * configure.ac: Likewise.
31630
31631 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31632
31633 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31634 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31635
31636 2009-04-01 David S. Miller <davem@davemloft.net>
31637
31638 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31639 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31640 (grub_setjmp): Mark with 'returns_twice' attribute.
31641 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31642 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31643 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31644
31645 2009-04-01 Robert Millan <rmh@aybabtu.com>
31646
31647 Reapply fix from 2008-07-28 which was accidentally reverted; also
31648 perform the same fix to a similar check in same function.
31649
31650 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31651 with the same number are found, just use issue a warning with
31652 grub_dprintf(), as this error has been reported to be non-fatal.
31653
31654 2009-03-31 Pavel Roskin <proski@gnu.org>
31655
31656 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31657 for cross-compilation.
31658
31659 2009-03-30 Robert Millan <rmh@aybabtu.com>
31660
31661 Fix i386-ieee1275 build.
31662
31663 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31664 Remove declaration.
31665
31666 2009-03-30 Pavel Roskin <proski@gnu.org>
31667
31668 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31669 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31670 zero-terminated, rely only on the strlen value. Fix comparison
31671 of strings differing in length.
31672
31673 2009-03-30 Robert Millan <rmh@aybabtu.com>
31674
31675 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31676 checking for abi version. Improve error messages on BIOS to notify
31677 user about `linux16' command.
31678
31679 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31680
31681 Leak fixes
31682
31683 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31684 in case of collision
31685 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31686
31687 2009-03-29 Robert Millan <rmh@aybabtu.com>
31688
31689 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31690 set `vid_mode' accordingly.
31691 (grub_linux_boot): Process `vid_mode' and set video mode.
31692
31693 2009-03-29 Robert Millan <rmh@aybabtu.com>
31694
31695 * util/grub.d/10_linux.in (linux_entry): New function.
31696 Factorize generation of Linux boot entries.
31697
31698 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31699
31700 Make the format of Environment Block plain text. The boot loader
31701 part is not tested well yet.
31702
31703 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31704 (buffer): Removed.
31705 (envblk): Likewise.
31706 (usage): Remove "info" and "clear". Add "unset". Update the
31707 description of "set", as this does not delete variables any
31708 longer.
31709 (create_envblk_file): Complete rewrite.
31710 (open_envblk_file): Likewise.
31711 (cmd_info): Removed.
31712 (cmd_list): Likewise.
31713 (cmd_set): Likewise.
31714 (cmd_clear): Likewise.
31715 (list_variables): New function.
31716 (write_envblk): Likewise.
31717 (set_variables): Likewise.
31718 (unset_variables): Likewise.
31719 (main): Complete rewrite.
31720
31721 * commands/loadenv.c (buffer): Removed.
31722 (envblk): Likewise.
31723 (open_envblk_file): New function.
31724 (read_envblk_file): Complete rewrite.
31725 (grub_cmd_load_env): Likewise.
31726 (grub_cmd_list_env): Likewise.
31727 (struct blocklist): New struct.
31728 (free_blocklists): New function.
31729 (check_blocklists): Likewise.
31730 (write_blocklists): Likewise.
31731 (grub_cmd_save_env): Complete rewrite.
31732
31733 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31734 a plain text signature.
31735 (GRUB_ENVBLK_MAXLEN): Removed.
31736 (struct grub_envblk): Complete rewrite.
31737 (grub_envblk_find): Removed.
31738 (grub_envblk_insert): Likewise.
31739 (grub_envblk_open): New prototype.
31740 (grub_envblk_set): Likewise.
31741 (grub_envblk_delete): Put const to VALUE.
31742 (grub_envblk_iterate): Put const to NAME and VALUE.
31743 (grub_envblk_close): New prototype.
31744 (grub_envblk_buffer): New inline function.
31745 (grub_envblk_size): Likewise.
31746
31747 * lib/envblk.c: Include grub/mm.h.
31748 (grub_env_find): Removed.
31749 (grub_envblk_open): New function.
31750 (grub_envblk_close): Likewise.
31751 (escaped_value_len): Likewise.
31752 (find_next_line): Likewise.
31753 (grub_envblk_insert): Removed.
31754 (grub_envblk_set): New function.
31755 (grub_envblk_delete): Complete rewrite.
31756 (grub_envblk_iterate): Likewise.
31757
31758 2009-03-28 Robert Millan <rmh@aybabtu.com>
31759
31760 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31761 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31762 variables. Use 16-bit loader.
31763 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31764 loader.
31765 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31766 (grub_linux16_boot): ... this. Update all users.
31767 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31768 (grub_linux_boot): ... this. Update all users.
31769
31770 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31771 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31772 commands to `linux16' and `initrd16'.
31773 (GRUB_MOD_FINI(linux)): Rename to ...
31774 (GRUB_MOD_FINI(linux16)): ... this.
31775
31776 2009-03-24 Pavel Roskin <proski@gnu.org>
31777
31778 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31779 not just for compilation.
31780
31781 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31782
31783 Move multiboot helper out of kernel
31784
31785 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31786 `loader/i386/multiboot_helper.S'.
31787 * conf/i386-coreboot.rmk: Likewise
31788 * conf/i386-ieee1275.rmk: Likewise
31789
31790 * kern/i386/loader.S: Move multiboot helpers from here...
31791 * loader/i386/multiboot_helper.S: ...moved here
31792 * include/grub/i386/loader.h: Move declarations of multiboot
31793 helpers from here...
31794 * include/grub/i386/multiboot.h: ...moved here
31795 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31796
31797 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31798
31799 * kern/env.c (grub_env_context_open): Added an argument to specify
31800 whether a new context inherits exported variables from current
31801 one. This is useful when making a sandbox to interpret a config
31802 file.
31803 All callers updated.
31804
31805 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31806
31807 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31808
31809 * kern/env.c (grub_env_context_close): Fix memory leaks.
31810
31811 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31812
31813 * normal/main.c (grub_normal_execute): Added an argument
31814 BATCH to specify if an interactive interface should be provided
31815 after reading a config file.
31816 All callers updated.
31817 (read_command_list): Prevent being executed twice.
31818 (read_fs_list): Likewise.
31819
31820 * include/grub/normal.h (grub_normal_execute): Updated the
31821 prototype.
31822
31823 2009-03-22 Pavel Roskin <proski@gno.org>
31824
31825 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31826 _start.
31827 * kern/i386/pc/startup.S: Likewise.
31828 * kern/i386/efi/startup.S: Likewise.
31829 * kern/i386/ieee1275/startup.S: Likewise.
31830 * kern/i386/coreboot/startup.S: Likewise.
31831 * kern/x86_64/efi/startup.S: Likewise.
31832
31833 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31834 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31835 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31836
31837 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31838
31839 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31840
31841 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31842 limit detection.
31843 Use vaddr of correct segment for entry_point.
31844
31845 2009-03-21 Bean <bean123ch@gmail.com>
31846
31847 * commands/blocklist.c: Add include file <grub/command.h>, remove
31848 <grub/normal.h> and <grub/arg.h>.
31849 (grub_cmd_blocklist): Use the new command interface.
31850 (GRUB_MOD_INIT): Likewise.
31851 (GRUB_MOD_FINI): Likewise.
31852 * commands/boot.c: Likewise.
31853 * commands/cat.c: Likewise.
31854 * commands/cmp.c: Likewise.
31855 * commands/configfile.c: Likewise.
31856 * commands/crc.c: Likewise.
31857 * commands/echo.c: Likewise.
31858 * commands/halt.c: Likewise.
31859 * commands/handler.c: Likewise.
31860 * commands/hdparm.c: Likewise.
31861 * commands/help.c: Likewise.
31862 * commands/hexdump.c: Likewise.
31863 * commands/loadenv.c: Likewise.
31864 * commands/ls.c: Likewise.
31865 * commands/lsmmap.c: Likewise.
31866 * commands/lspci.c: Likewise.
31867 * commands/loadenv.c: Likewise.
31868 * commands/read.c: Likewise.
31869 * commands/reboot.c: Likewise.
31870 * commands/search.c: Likewise.
31871 * commands/sleep.c: Likewise.
31872 * commands/test.c: Likewise.
31873 * commands/usbtest.c: Likewise.
31874 * commands/videotest.c: Likewise.
31875 * commands/i386/cpuid.c: Likewise.
31876 * commands/i386/pc/halt.c: Likewise.
31877 * commands/i386/pc/play.c: Likewise.
31878 * commands/i386/pc/pxecmd.c: Likewise.
31879 * commands/i386/pc/vbeinfo.c: Likewise.
31880 * commands/i386/pc/vbetest.c: Likewise.
31881 * commands/ieee1275/suspend.c: Likewise.
31882 * disk/loopback.c: Likewise.
31883 * font/font_cmd.c: Likewise.
31884 * hello/hello.c: Likewise.
31885 * loader/efi/appleloader.c: Likewise.
31886 * loader/efi/chainloader.c: Likewise.
31887 * loader/i386/bsd.c: Likewise.
31888 * loader/i386/efi/linux.c: Likewise.
31889 * loader/i386/ieee1275/linux.c: Likewise.
31890 * loader/i386/linux.c: Likewise.
31891 * loader/i386/pc/chainloader.c: Likewise.
31892 * loader/i386/pc/linux.c: Likewise.
31893 * loader/powerpc/ieee1275/linux.c: Likewise.
31894 * loader/multiboot_loader.c: Likewise.
31895 * term/gfxterm.c: Likewise.
31896 * term/i386/pc/serial.c: Likewise.
31897 * term/terminfo.c: Likewise.
31898
31899 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31900 * term/i386/pc/vga.c: Likewise.
31901 * video/readers/jpeg.c: Likewise.
31902 * video/readers/png.c: Likewise.
31903 * video/readers/tga.c: Likewise.
31904
31905 * util/grub-fstest (cmd_loopback): Removed.
31906 (cmd_blocklist): Likewise.
31907 (cmd_ls): Likewise.
31908 (grub_register_command): Likewise.
31909 (grub_unregister_command): Likewise.
31910 (execute_command): Use grub_command_find to locate command and execute
31911 it.
31912
31913 * include/grub/efi/chainloader.h: Removed.
31914 * loader/efi/chainloader_normal.c: Likewise.
31915 * loader/i386/bsd_normal.c: Likewise.
31916 * loader/i386/pc/chainloader_normal.c: Likewise.
31917 * loader/i386/pc/multiboot_normal.c: Likewise.
31918 * loader/linux_normal.c: Likewise.
31919 * loader/multiboot_loader_normal.c: Likewise.
31920 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31921
31922 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31923 and grub_register_command_p1.
31924
31925 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31926 kern/command.c, lib/arg.c and commands/extcmd.c.
31927 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31928 (minicmd_mod_SOURCES): New variable.
31929 (minicmd_mod_CFLAGS): Likewise.
31930 (minicmd_mod_LDFLAGS): Likewise.
31931 (extcmd_mod_SOURCES): Likewise.
31932 (extcmd_mod_CFLAGS): Likewise.
31933 (extcmd_mod_LDFLAGS): Likewise.
31934 (boot_mod_SOURCES): Removed.
31935 (boot_mod_CFLAGS): Likewise.
31936 (boot_mod_LDFLAGS): Likewise.
31937
31938 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31939 kern/corecmd.c.
31940 (kernel_img_HEADERS): Add command.h.
31941 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31942 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31943 and lib/arg.c.
31944 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31945 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31946 remove the corresponding normal mode command.
31947 (normal_mod_SOURCES): Remove normal/arg.c.
31948 * conf/i386-coreboot.rmk: Likewise.
31949 * conf/i386-efi.rmk: Likewise.
31950 * conf/i386-ieee1275.rmk: Likewise.
31951 * conf/powerpc-ieee1275.rmk: Likewise.
31952 * conf/x86_64-efi.rmk: Likewise.
31953
31954 * include/grub/arg.h: Move from here ...
31955 * include/grub/lib/arg.h: ... to here.
31956
31957 * normal/arg.c: Move from here ...
31958 * lib/arg.c: ... to here.
31959
31960 * commands/extcmd.c: New file.
31961 * commands/minicmd.c: Likewise.
31962 * include/grub/command.h: Likewise.
31963 * include/grub/extcmd.h: Likewise.
31964 * kern/command.c: Likewise.
31965 * kern/corecmd.c: Likewise.
31966
31967 * kern/list.c (grub_list_iterate): Return int instead of void.
31968 (grub_list_insert): New function.
31969 (grub_prio_list_insert): Likewise.
31970
31971 * kern/rescue.c (grub_rescue_command): Removed.
31972 (grub_rescue_command_list): Likewise.
31973 (grub_rescue_register_command): Likewise.
31974 (grub_rescue_unregister_command): Likewise.
31975 (grub_rescue_cmd_boot): Move to minicmd.c
31976 (grub_rescue_cmd_help): Likewise.
31977 (grub_rescue_cmd_info): Likewise.
31978 (grub_rescue_cmd_boot): Likewise.
31979 (grub_rescue_cmd_testload): Likewise.
31980 (grub_rescue_cmd_dump): Likewise.
31981 (grub_rescue_cmd_rmmod): Likewise.
31982 (grub_rescue_cmd_lsmod): Likewise.
31983 (grub_rescue_cmd_exit): Likewise.
31984 (grub_rescue_print_devices): Moved to corecmd.c.
31985 (grub_rescue_print_files): Likewise.
31986 (grub_rescue_cmd_ls): Likewise.
31987 (grub_rescue_cmd_insmod): Likewise.
31988 (grub_rescue_cmd_set): Likewise.
31989 (grub_rescue_cmd_unset): Likewise.
31990 (attempt_normal_mode): Use grub_command_find to get normal module.
31991 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31992 commands, remove grub_rescue_register_command calls.
31993
31994 * normal/command.c (grub_register_command): Removed.
31995 (grub_unregister_command): Likewise.
31996 (grub_command_find): Likewise.
31997 (grub_iterate_commands): Likewise.
31998 (rescue_command): Likewise.
31999 (export_command): Moved to corecmd.c.
32000 (set_command): Removed.
32001 (unset_command): Likewise.
32002 (insmod_command): Likewise.
32003 (rmmod_command): Likewise.
32004 (lsmod_command): Likewise.
32005 (grub_command_init): Likewise.
32006
32007 * normal/completion.c (iterate_command): Use cmd->prio to check for
32008 active command.
32009 (complete_arguments): Use grub_extcmd_t structure to find options.
32010 (grub_normal_do_completion): Change function grub_iterate_commands to
32011 grub_command_iterate.
32012
32013 * normal/execute.c (grub_script_execute_cmd): No need to parse
32014 argument here.
32015
32016 * normal/main.c (grub_dyncmd_dispatcher): New function.
32017 (read_command_list): Register unload commands as dyncmd.
32018 (grub_cmd_normal): Use new command interface, register rescue,
32019 unregister normal at entry, register normal, unregister rescue at exit.
32020
32021 * include/grub/list.h (grub_list_test_t): New type.
32022 (grub_list_iterate): Return int instead of void.
32023 (grub_list_insert): New function.
32024 (GRUB_AS_NAMED_LIST_P): New macro.
32025 (GRUB_AS_PRIO_LIST): Likewise.
32026 (GRUB_AS_PRIO_LIST_P): Likewise.
32027 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32028 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32029 (grub_prio_list): New structure.
32030 (grub_prio_list_insert): New function.
32031 (grub_prio_list_remove): New inline function.
32032
32033 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32034 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32035 (GRUB_COMMAND_FLAG_MENU): Likewise.
32036 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32037 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32038 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32039 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32040 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32041 (grub_command): Likewise.
32042 (grub_register_command): Likewise.
32043 (grub_command_find): Likewise.
32044 (grub_iterate_commands): Likewise.
32045 (grub_command_init): Likewise.
32046 (grub_arg_parse): Likewise.
32047 (grub_arg_show_help): Likewise.
32048
32049 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32050 (grub_rescue_unregister_command): Likewise.
32051
32052 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32053 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32054 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32055
32056 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32057 grub_rescue_cmd_initrd.
32058 * include/grub/i386/loader.h: Likewise.
32059 * include/grub/x86_64/loader.h: Likewise.
32060
32061 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32062
32063 2009-03-21 Bean <bean123ch@gmail.com>
32064
32065 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32066 instead of stat in mingw environment.
32067
32068 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32069
32070 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32071
32072 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32073 AC_CONFIG_LINKS.
32074
32075 2009-03-21 Bean <bean123ch@gmail.com>
32076
32077 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32078 out of range error.
32079
32080 2009-03-18 Michel Dänzer <michel@daenzer.net>
32081
32082 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32083 checking inode flags for EXT4_EXTENTS_FLAG.
32084
32085 2009-03-18 Robert Millan <rmh@aybabtu.com>
32086
32087 * loader/i386/linux.c: Include `<grub/video.h>' and
32088 `<grub/i386/pc/vbe.h>'..
32089 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32090 (grub_linux32_boot): Attempt to configure video settings with
32091 grub_linux_setup_video().
32092 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32093 to avoid grub_console_fini() which would step out of graphical mode
32094 unconditionally.
32095
32096 2009-03-14 Robert Millan <rmh@aybabtu.com>
32097
32098 Fix build on powerpc.
32099 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32100
32101 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32102
32103 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32104 background image command.
32105
32106 2009-03-12 Colin D Bennett <colin@gibibit.com>
32107
32108 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32109 (grub_gfxterm_putchar): Extract pairs of identical calls to
32110 draw_cursor out of conditional blocks.
32111
32112 2009-03-11 Pavel Roskin <proski@gnu.org>
32113
32114 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32115 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32116
32117 2009-03-11 Robert Millan <rmh@aybabtu.com>
32118
32119 * loader/i386/multiboot_elfxx.c
32120 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32121
32122 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32123
32124 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32125 `kern/handler.c'.
32126
32127 2009-03-11 Robert Millan <rmh@aybabtu.com>
32128
32129 * loader/i386/multiboot.c (code_size): New variable.
32130 (grub_multiboot): Define offsets by adding to `code_size' rather
32131 than subtracting from `grub_multiboot_payload_size'. Provide
32132 4-byte alignment to MBI and others by increasing
32133 `boot_loader_name_length' appropriately.
32134
32135 * loader/i386/multiboot_elfxx.c
32136 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32137
32138 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32139
32140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32141 `fs/ext2.c'.
32142
32143 2009-03-08 Robert Millan <rmh@aybabtu.com>
32144
32145 Make loader/i386/linux.c usable on i386-pc again.
32146
32147 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32148 memory to heap.
32149 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32150 `#error' stanza.
32151
32152 2009-03-07 Bean <bean123ch@gmail.com>
32153
32154 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32155 allocation.
32156
32157 2009-03-06 Robert Millan <rmh@aybabtu.com>
32158
32159 Fix display issue on terminals with screen size other than 80x25
32160 (e.g. gfxterm with resolution higher than 640x480).
32161
32162 * normal/main.c (grub_normal_init_page): Display title text in a
32163 position relative to the center of the terminal instead of relying
32164 on a hardcoded offset.
32165
32166 2009-03-04 Robert Millan <rmh@aybabtu.com>
32167
32168 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32169 installed.
32170
32171 * Makefile.in (host_kernel): New variable.
32172 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32173 scripts instead of just the windows one.
32174 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32175
32176 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32177
32178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32179 `kern/handler.c'.
32180 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32181 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32182 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32184 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32185 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32186
32187 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32188
32189 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32190 or if there's no space for the disk label and print the partition number on a
32191 invalid magic.
32192
32193 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32194
32195 * util/misc.c: Include <time.h>.
32196 (grub_millisleep): New function.
32197
32198 2009-03-04 Bean <bean123ch@gmail.com>
32199
32200 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32201 another option -mno-red-zone.
32202
32203 * commands/handler.c: Change module description.
32204
32205 * kern/handler.c: Add missing space at the end of description line.
32206
32207 * kern/list.c: Likewise.
32208
32209 2009-03-03 Robert Millan <rmh@aybabtu.com>
32210
32211 Move more components to the relocation area, and fix mbi pointer
32212 handling to use the destination rather than the origin (thanks to
32213 Vladimir Serbinenko for spotting).
32214
32215 * loader/i386/multiboot.c (mbi_dest): New variable.
32216 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32217 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32218 relocation area.
32219
32220 2009-03-01 Bean <bean123ch@gmail.com>
32221
32222 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32223 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32224 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32225 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32226
32227 * loader/i386/efi/linux.c (acpi_guid): New variable.
32228 (acpi_guid): Likewise.
32229 (EBDA_SEG_ADDR): New constant.
32230 (LOW_MEM_ADDR): Likewise.
32231 (FAKE_EBDA_SEG): Likewise.
32232 (fake_bios_data): New function.
32233 (grub_linux_boot): Call fake_bios_data.
32234
32235 2009-03-01 Bean <bean123ch@gmail.com>
32236
32237 * commands/terminal.c: Removed.
32238
32239 * commands/handler.c: New file.
32240
32241 * include/grub/list.h: Likewise.
32242
32243 * include/grub/handler.h: Likewise.
32244
32245 * kern/list.c: Likewise.
32246
32247 * kern/handler.c: Likewise.
32248
32249 * kern/term.h: Include header file <grub/handler.h>.
32250 (grub_term_input): Move next field to the beginning.
32251 (grub_term_output): Likewise.
32252 (grub_term_input_class): New variable.
32253 (grub_term_output_class): Likewise.
32254 (grub_term_register_input): Changed to inline function.
32255 (grub_term_register_output): Likewise.
32256 (grub_term_unregister_input): Likewise.
32257 (grub_term_unregister_output): Likewise.
32258 (grub_term_set_current_input): Likewise.
32259 (grub_term_set_current_output): Likewise.
32260 (grub_term_get_current_input): Likewise.
32261 (grub_term_get_current_output): Likewise.
32262 (grub_term_iterate_input): Removed.
32263 (grub_term_iterate_output): Likewise.
32264
32265 * kern/term.c (grub_term_list_input): Removed.
32266 (grub_term_list_output): Likewise.
32267 (grub_term_input_class): New variable.
32268 (grub_term_output_class): Likewise.
32269 (grub_cur_term_input): Change variable as macro.
32270 (grub_cur_term_output): Likewise.
32271 (grub_term_register_input): Removed.
32272 (grub_term_register_output): Likewise.
32273 (grub_term_unregister_input): Likewise.
32274 (grub_term_unregister_output): Likewise.
32275 (grub_term_set_current_input): Likewise.
32276 (grub_term_set_current_output): Likewise.
32277 (grub_term_iterate_input): Likewise.
32278 (grub_term_iterate_output): Likewise.
32279 (grub_term_get_current_input): Likewise.
32280 (grub_term_get_current_output): Likewise.
32281
32282 * util/grub-editenv.c: Include header file <grub/handler.h>.
32283 (grub_term_get_current_input): Removed.
32284 (grub_term_get_current_output): Likewise.
32285 (grub_term_input_class): New variable.
32286 (grub_term_output_class): Likewise.
32287
32288 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32289 (grub_term_get_current_output): Likewise.
32290 (grub_term_input_class): New variable.
32291 (grub_term_output_class): Likewise.
32292
32293 * util/grub-probe.c (grub_term_get_current_input): Removed.
32294 (grub_term_get_current_output): Likewise.
32295 (grub_term_input_class): New variable.
32296 (grub_term_output_class): Likewise.
32297
32298 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32299 (grub_term_get_current_output): Likewise.
32300 (grub_term_input_class): New variable.
32301 (grub_term_output_class): Likewise.
32302
32303 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32304 (terminal_mod_SOURCES): Likewise.
32305 (terminal_mod_CFLAGS): Likewise.
32306 (terminal_mod_LDFLAGS): Likewise.
32307
32308 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32309 handler.c.
32310 (kernel_img_SOURCES): Add list.c and handler.c.
32311 (kernel_img_HEADERS): Add list.h and handler.h.
32312
32313 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32314 handler.c.
32315 (kernel_mod_SOURCES): Add list.c and handler.c.
32316 (kernel_mod_HEADERS): Add list.h and handler.h.
32317
32318 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32319 handler.c.
32320 (kernel_elf_SOURCES): Add list.c and handler.c.
32321 (kernel_elf_HEADERS): Add list.h and handler.h.
32322
32323 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32324 handler.c.
32325 (kernel_elf_SOURCES): Add list.c and handler.c.
32326 (kernel_elf_HEADERS): Add list.h and handler.h.
32327
32328 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32329 handler.c.
32330 (kernel_mod_SOURCES): Add list.c and handler.c.
32331 (kernel_mod_HEADERS): Add list.h and handler.h.
32332
32333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32334 handler.c.
32335 (kernel_elf_SOURCES): Add list.c and handler.c.
32336 (kernel_elf_HEADERS): Add list.h and handler.h.
32337
32338 2009-02-27 Robert Millan <rmh@aybabtu.com>
32339
32340 Factorize elf32 / elf64 code in Multiboot loader. This will
32341 prevent it from getting out of sync again.
32342
32343 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32344 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32345 grub_multiboot_load_elf64): Move from here ...
32346 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32347 grub_multiboot_load_elf): ... to here (new file).
32348
32349 2009-02-27 Robert Millan <rmh@aybabtu.com>
32350
32351 * util/grub.d/10_linux.in: Rename "single-user mode" to
32352 "recovery mode".
32353
32354 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32355
32356 Don't leak in SCSI code.
32357 * disk/scsi.c (grub_scsi_close): free `scsi'.
32358
32359 2009-02-27 Robert Millan <rmh@aybabtu.com>
32360
32361 * loader/i386/pc/multiboot.c: Move from here ...
32362 * loader/i386/multiboot.c: ... to here. Update all users.
32363
32364 2009-02-27 Robert Millan <rmh@aybabtu.com>
32365
32366 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32367 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32368
32369 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32370
32371 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32372 b-tree.
32373
32374 2009-02-27 Robert Millan <rmh@aybabtu.com>
32375
32376 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32377 `0x' qualifier as 0 when base is specified as parameter).
32378
32379 2009-02-24 Bean <bean123ch@gmail.com>
32380
32381 * configure.ac: Check for -mcmodel=large in x86_64 target.
32382
32383 * include/grub/efi/api.h (efi_call_10): New macro.
32384 (efi_wrap_10): New function.
32385
32386 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32387 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32388 (GRUB_PE32_REL_BASED_LOW): Likewise.
32389 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32390 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32391 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32392 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32393 (GRUB_PE32_REL_BASED_REL): Likewise.
32394 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32395 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32396 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32397
32398 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32399 issue.
32400
32401 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32402 (efi_wrap_10): New function.
32403
32404 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32405
32406 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32407 MB/MBP model (NV chipset).
32408 (devdata_devs): Add devpath_5 to the list.
32409
32410 * load/i386/efi/linux.c (video_base): Remove variable.
32411 (RGB_MASK): New macro.
32412 (RGB_MAGIC): Likewise.
32413 (LINE_MIN): Likewise.
32414 (LINE_MAX): Likewise.
32415 (FBTEST_STEP): Likewise.
32416 (FBTEST_COUNT): Likewise.
32417 (fb_list): New variable.
32418 (grub_find_video_card): Remove function.
32419 (find_framebuf): New function.
32420 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32421 line length.
32422
32423 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32424 problem for x86_64.
32425
32426 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32427
32428 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32429
32430 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32431 coding tool name.
32432
32433 2009-02-22 Robert Millan <rmh@aybabtu.com>
32434
32435 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32436 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32437 in our relocation, instead of using it directly from heap. Also
32438 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32439
32440 2009-02-21 Robert Millan <rmh@aybabtu.com>
32441
32442 Implement USB keyboard support (based on patch by Marco Gerards)
32443
32444 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32445 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32446 (usb_keyboard_mod_LDFLAGS): New variables.
32447
32448 * term/usb_keyboard.c: New file.
32449
32450 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32451
32452 Corrected wrong declaration
32453
32454 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32455
32456 2009-02-14 Christian Franke <franke@computer.org>
32457
32458 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32459 (grub_lspci_iter): Print class code and programming interface byte.
32460
32461 2009-02-14 Christian Franke <franke@computer.org>
32462
32463 * gendistlist.sh: Ignore `.svn' directories.
32464
32465 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32466
32467 * fs/fat.c: Add 2009 to Copyright line.
32468
32469 2009-02-14 Christian Franke <franke@computer.org>
32470
32471 * commands/hdparm.c: New file. Provides `hdparm' command
32472 which sends ATA commands via grub_disk_ata_pass_through ().
32473
32474 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32475
32476 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32477 and <grub/cpu/io.h> to include/grub/ata.h.
32478 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32479 (GRUB_CDROM_SECTOR_SIZE): Remove.
32480 (GRUB_ATA_*): Move to include/grub/ata.h.
32481 (GRUB_ATAPI_*): Likewise.
32482 (enum grub_ata_commands): Likewise.
32483 (enum grub_ata_timeout_milliseconds): Likewise.
32484 (struct grub_ata_device): Likewise.
32485 (grub_ata_regset): Likewise.
32486 (grub_ata_regget): Likewise.
32487 (grub_ata_regset2): Likewise.
32488 (grub_ata_regget2): Likewise.
32489 (grub_ata_check_ready): Likewise.
32490 (grub_ata_wait_not_busy): Remove static, exported in
32491 include/grub/ata.h.
32492 (grub_ata_wait_drq): Likewise.
32493 (grub_ata_pio_read): Likewise.
32494
32495 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32496 function for hdparm.mod.
32497
32498 * include/grub/ata.h: New file, contains declarations from
32499 disk/ata.c.
32500 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32501
32502 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32503 (grub_disk_ata_pass_through): New exported variable.
32504
32505 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32506
32507 2009-02-13 Colin D Bennett <colin@gibibit.com>
32508
32509 Support multiple fallback entries, and provide an API to support
32510 executing default+fallback menu entries. Renamed the `terminal' menu
32511 viewer to `text'.
32512
32513 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32514 variable declaration.
32515 (grub_menu_execute_callback): New structure declaration.
32516 (grub_menu_execute_callback_t): New typedef.
32517 (grub_menu_execute_with_fallback): New function declaration.
32518 (grub_menu_get_entry): Likewise.
32519 (grub_menu_get_timeout): Likewise.
32520 (grub_menu_set_timeout): Likewise.
32521
32522 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32523
32524 * normal/menu.c (grub_wait_after_message): Moved to
32525 `normal/menu_text.c'.
32526 (draw_border): Likewise.
32527 (print_message): Likewise.
32528 (print_entry): Likewise.
32529 (print_entries): Likewise.
32530 (grub_menu_init_page): Likewise.
32531 (get_entry_number): Likewise.
32532 (print_timeout): Likewise.
32533 (run_menu): Likewise.
32534 (grub_menu_execute_entry): Likewise.
32535 (show_text_menu): Likewise.
32536 (get_and_remove_first_entry_number): New function.
32537 (grub_menu_execute_with_fallback): Likewise.
32538 (get_entry): Renamed to ...
32539 (grub_menu_get_entry): .. this and made it global.
32540 (get_timeout): Renamed to ...
32541 (grub_menu_get_timeout): ... this and made it global.
32542 (set_timeout): Renamed to ...
32543 (grub_menu_set_timeout): ... this and made it global.
32544 (grub_normal_terminal_menu_viewer): Renamed to ...
32545 (grub_normal_text_menu_viewer): ... this.
32546
32547 * normal/menu_text.c: New file. Extracted text-menu-specific code
32548 from normal/menu.c.
32549
32550 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32551 (normal_mod_SOURCES): Likewise.
32552
32553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32554 (normal_mod_SOURCES): Likewise.
32555
32556 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32557 (normal_mod_SOURCES): Likewise.
32558
32559 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32560 (normal_mod_SOURCES): Likewise.
32561
32562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32563 (normal_mod_SOURCES): Likewise.
32564
32565 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32566 (normal_mod_SOURCES): Likewise.
32567
32568 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32569 (normal_mod_SOURCES): Likewise.
32570
32571 2009-02-11 Robert Millan <rmh@aybabtu.com>
32572
32573 * util/grub.d/00_header.in: Update old reference to `font' command.
32574
32575 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32576
32577 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32578
32579 Based on patch from Javier Martín.
32580
32581 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32582
32583 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32584 to avoid false positives with FAT.
32585 (grub_fstest_SOURCES): Likewise.
32586 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32587 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32592
32593 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32594
32595 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32596 bpb.version_specific.fat12_or_fat16.fstype and
32597 bpb.version_specific.fat32.fstype.
32598
32599 2009-02-08 Robert Millan <rmh@aybabtu.com>
32600
32601 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32602
32603 2009-02-08 Robert Millan <rmh@aybabtu.com>
32604
32605 * Makefile.in (host_os, host_cpu): New variables.
32606 (target_os): Remove. Update all users.
32607
32608 2009-02-08 Marco Gerards <marco@gnu.org>
32609
32610 * Makefile.in (enable_grub_emu_usb): New variable.
32611 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32612 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32613 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32614 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32615 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32616 `usbtest.mod' and `usbms.mod'.
32617 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32618 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32619 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32620 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32621 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32622 variables.
32623
32624 * disk/usbms.c: New file.
32625
32626 * include/grub/usb.h: Likewise.
32627
32628 * include/grub/usbtrans.h: Likewise.
32629
32630 * include/grub/usbdesc.h: Likewise.
32631
32632 * bus/usb/usbtrans.c: Likewise.
32633
32634 * bus/usb/ohci.c: Likewise.
32635
32636 * bus/usb/uhci.c: Likewise.
32637
32638 * bus/usb/usbhub.c: Likewise.
32639
32640 * bus/usb/usb.c: Likewise.
32641
32642 * commands/usbtest.c: Likewise.
32643
32644 * util/usb.c: Likewise.
32645
32646 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32647
32648 * configure.ac: Test for libusb presence.
32649
32650 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32651
32652 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32653
32654 * kern/mm.c: Add more comments.
32655
32656 2009-02-08 Robert Millan <rmh@aybabtu.com>
32657
32658 Patch from Javier Martín.
32659 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32660 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32661
32662 2009-02-08 Robert Millan <rmh@aybabtu.com>
32663
32664 * fs/cpio.c: Split tar functionality to ...
32665 * fs/tar.c: ... here (new file). Update all users.
32666
32667 2009-02-07 Robert Millan <rmh@aybabtu.com>
32668
32669 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32670 backward-incompatible features.
32671
32672 Based on patch from Javier Martín, with some adjustments.
32673
32674 2009-02-07 Michael Scherer <misc@mandriva.org>
32675
32676 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32677
32678 2009-02-07 Robert Millan <rmh@aybabtu.com>
32679
32680 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32681 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32682 after the RAID stuff.
32683
32684 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32685
32686 Fixes problem when running vbetest command as reported by
32687 Vladimir Serbinenko <phcoder@gmail.com>.
32688
32689 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32690
32691 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32692
32693 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32694 /dev/md/NpN style mdraid devices.
32695
32696 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32697
32698 * util/unifont2pff.rb: Remove.
32699
32700 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32701
32702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32703 `#'.
32704
32705 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32706
32707 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32709 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32712 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32714
32715 2009-02-02 Christian Franke <franke@computer.org>
32716
32717 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32718
32719 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32720
32721 * INSTALL: Note that we now require at least autoconf 2.59 and
32722 that LZO is optional.
32723
32724 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32725
32726 Base on patch on bug #24154 created by Tomas Tintera
32727 <trosos@seznam.cz>.
32728
32729 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32730
32731 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32732
32733 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32734 <bero@arklinux.org>.
32735
32736 * normal/parser.y (script_init): Add missing semicolon.
32737
32738 2009-01-31 Colin D Bennett <colin@gibibit.com>
32739
32740 * normal/main.c: Add include to grub/menu_viewer.h.
32741 (free_menu_entry_classes): Added.
32742 (grub_normal_menu_addentry): Added class property handling.
32743 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32744 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32745
32746 * normal/menu_viewer.c: New file.
32747
32748 * normal/menu.c (run_menu_entry): Renamed to ...
32749 (grub_menu_execute_entry): ... this and made it as global.
32750 (grub_menu_run): Renamed to ...
32751 (show_text_menu): ... this and made it local.
32752 (show_text_menu): Adapt to new function names.
32753 (grub_normal_terminal_menu_viewer): New global variable.
32754
32755 * include/grub/menu.h: New file.
32756
32757 * include/grub/menu_viewer.h: New file.
32758
32759 * include/grub/normal.h: Added include to grub/menu.h.
32760 (grub_menu_entry): Moved to include/grub/menu.h.
32761 (grub_menu_entry_t): Likewise.
32762 (grub_menu): Likewise.
32763 (grub_menu_t): Likewise.
32764 (grub_normal_terminal_menu_viewer): Added.
32765 (grub_menu_execute_entry): Likewise.
32766 (grub_menu_run): Removed.
32767
32768 * DISTLIST: Added include/grub/menu.h.
32769 Added include/grub/menu_viewer.h.
32770 Added normal/menu_viewer.c.
32771
32772 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32773
32774 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32775 arglist for menutitle arguments.
32776
32777 * normal/main.c (grub_normal_menu_addentry): Likewise.
32778
32779 * normal/parser.y (menuentry): Likewise.
32780
32781 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32782
32783 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32784 (grub_script_create_cmdmenu): Likewise.
32785
32786 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32787
32788 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32789 changes.
32790
32791 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32792
32793 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32794
32795 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32796
32797 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32798
32799 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32800
32801 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32802
32803 2009-01-30 Christian Franke <franke@computer.org>
32804
32805 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32806 in option help text.
32807
32808 2009-01-27 Pavel Roskin <proski@gnu.org>
32809
32810 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32811
32812 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32813
32814 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32815
32816 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32817
32818 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32819 unregister function.
32820
32821 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32822
32823 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32824
32825 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32826
32827 * util/grub-mkfont.c (usage): Fix typo.
32828
32829 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32830
32831 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32832
32833 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32834
32835 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32836
32837 * kern/misc.c (grub_strcasecmp): New function.
32838 (grub_strcasecmp): Use grub_size_t instead of int for length.
32839 Fix return value.
32840 * include/grub/misc.h: Update function prototypes.
32841
32842 2009-01-26 Robert Millan <rmh@aybabtu.com>
32843
32844 * configure.ac: Fix cross-compilation check.
32845
32846 2009-01-22 Christian Franke <franke@computer.org>
32847
32848 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32849 (precision) digit string. Allow `.format2' without `format1' (width).
32850 Limit input chars for `%s' output to `format2' if specified. This is
32851 compatible with standard printf ().
32852
32853 2009-01-22 Christian Franke <franke@computer.org>
32854
32855 * disk/ata.c (grub_ata_wait_status): Replace by ...
32856 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32857 other status bits may be invalid while BSY is asserted.
32858 (grub_ata_check_ready): New function.
32859 (grub_ata_cmd): Removed.
32860 (grub_ata_wait_drq): New function.
32861 (grub_ata_strncpy): Remove inline.
32862 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32863 and error check now done by grub_ata_wait_drq ().
32864 (grub_ata_pio_write): Likewise.
32865 (grub_atapi_identify): Set DEV before check for !BSY. Use
32866 grub_ata_wait_drq () to wait for data.
32867 (grub_ata_device_initialize): Add status register check to
32868 detect missing SATA slave devices. Add debug messages.
32869 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32870 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32871 transfer loop by grub_ata_pio_write ().
32872 (grub_ata_identify): Set DEV before check for !BSY. Use
32873 grub_ata_wait_drq () to wait for data.
32874 (grub_ata_setaddress): Set DEV before check for !BSY.
32875 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32876 read/write in one loop. Fix invalid command on write. Fix incomplete
32877 command on (size % batch) == 0. Add missing error check after write of
32878 last block. Add debug messages.
32879 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32880
32881 2009-01-19 Christian Franke <franke@computer.org>
32882
32883 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32884 (GRUB_ATAPI_IREASON_*): Likewise.
32885 (grub_ata_pio_write): Fix timeout error return.
32886 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32887 (grub_atapi_wait_drq): New function.
32888 (grub_atapi_packet): New parameter `size'.
32889 Use grub_atapi_wait_drq () and direct write instead of
32890 grub_ata_pio_write ().
32891 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32892 reads the number of bytes requested by the device for each DRQ
32893 assertion.
32894 (grub_atapi_write): Remove old implementation, return not
32895 implemented instead.
32896
32897 2009-01-19 Christian Franke <franke@computer.org>
32898
32899 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32900 of 512 to calculate data size.
32901 (grub_scsi_read12): Likewise.
32902 (grub_scsi_write10): Likewise.
32903 (grub_scsi_write12): Likewise.
32904 (grub_scsi_read): Adjust size according to blocksize.
32905 Add checks for invalid blocksize and unaligned transfer.
32906
32907 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32908
32909 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32910
32911 * term/gfxterm.c (write_char): Fix background rendering for wide
32912 width glyphs.
32913
32914 2009-01-19 Robert Millan <rmh@aybabtu.com>
32915
32916 * config.guess: Update to latest version from config git.
32917 * config.sub: Likewise.
32918
32919 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32920
32921 * Makefile.in: Change font compilation to use new grub-mkfont instead
32922 of java version.
32923
32924 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32925 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32926 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32927 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32928 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32929 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32930 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32931 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32932 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32933
32934 2009-01-16 Christian Franke <franke@computer.org>
32935
32936 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32937 (enum grub_ata_timeout_milliseconds): New enum.
32938 (grub_ata_wait_status): Add parameter milliseconds.
32939 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32940 recovery from timed-out commands.
32941 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32942 return grub_errno instead of REG_ERROR.
32943 (grub_ata_pio_write): Add parameter milliseconds.
32944 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32945 Pass milliseconds to grub_ata_wait_status () and
32946 grub_ata_pio_read ().
32947 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32948 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32949 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32950 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32951 It is not suitable for device detection, because DEV bit is ignored,
32952 the command may run too long, and not all devices set the signature
32953 properly.
32954 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32955 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32956 Fix device selection, DEV bit must be set first to address the registers
32957 of the correct device.
32958 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32959 grub_ata_pio_read/write ().
32960 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32961 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32962
32963 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32964
32965 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32966
32967 2009-01-13 Bean <bean123ch@gmail.com>
32968
32969 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32970
32971 2009-01-13 Bean <bean123ch@gmail.com>
32972
32973 * Makefile.in: (enable_grub_mkfont): New variable.
32974 (freetype_cflags): Likewise.
32975 (freetype_libs): Likewise.
32976
32977 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32978 (grub_mkfont_SOURCES): New variable.
32979 (grub_mkfont_CFLAGS): Likewise.
32980 (grub_mkfont_LDFLAGS): Likewise.
32981
32982 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32983 library if `--enable-grub-mkfont' is requested.
32984 (enable_grub_mkfont): New variable.
32985 (freetype_cflags): Likewise.
32986 (freetype_libs): Likewise.
32987
32988 * util/grub-mkfont.c: New file.
32989
32990 2009-01-12 Christian Franke <franke@computer.org>
32991
32992 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32993 mode check. Fix setting of compat_use[].
32994
32995 2009-01-10 Robert Millan <rmh@aybabtu.com>
32996
32997 Update a few copyright years which we forgot to do in 2008 (only for
32998 files whose changes made in 2008 were copyright-significant)
32999
33000 * Makefile.in: Add 2008 to Copyright line.
33001 * disk/ieee1275/ofdisk.c: Likewise.
33002 * disk/efi/efidisk.c: Likewise.
33003 * kern/dl.c: Likewise.
33004 * kern/sparc64/ieee1275/init.c: Likewise.
33005 * kern/mm.c: Likewise.
33006 * kern/efi/mm.c: Likewise.
33007 * boot/i386/pc/boot.S: Likewise.
33008 * genfslist.sh: Likewise.
33009 * fs/iso9660.c: Likewise.
33010 * fs/hfs.c: Likewise.
33011 * fs/jfs.c: Likewise.
33012 * fs/minix.c: Likewise.
33013 * fs/ufs.c: Likewise.
33014 * gensymlist.sh.in: Likewise.
33015 * genkernsyms.sh.in: Likewise.
33016 * include/grub/misc.h: Likewise.
33017 * include/grub/types.h: Likewise.
33018 * include/grub/symbol.h: Likewise.
33019 * include/grub/elf.h: Likewise.
33020 * include/grub/kernel.h: Likewise.
33021 * include/grub/disk.h: Likewise.
33022 * include/grub/dl.h: Likewise.
33023 * include/grub/i386/linux.h: Likewise.
33024 * include/grub/i386/pc/biosdisk.h: Likewise.
33025 * include/grub/efi/api.h: Likewise.
33026 * include/grub/efi/pe32.h: Likewise.
33027 * include/grub/util/misc.h: Likewise.
33028 * normal/execute.c: Likewise.
33029 * normal/arg.c: Likewise.
33030 * normal/completion.c: Likewise.
33031 * normal/lexer.c: Likewise.
33032 * normal/parser.y: Likewise.
33033 * normal/misc.c: Likewise.
33034 * commands/i386/pc/vbeinfo.c: Likewise.
33035 * commands/hexdump.c: Likewise.
33036 * commands/terminal.c: Likewise.
33037 * commands/ls.c: Likewise.
33038 * commands/help.c: Likewise.
33039 * partmap/pc.c: Likewise.
33040 * loader/efi/chainloader.c: Likewise.
33041 * loader/multiboot_loader.c: Likewise.
33042 * loader/i386/pc/multiboot2.c: Likewise.
33043 * term/efi/console.c: Likewise.
33044 * term/i386/pc/serial.c: Likewise.
33045 * util/lvm.c: Likewise.
33046 * util/console.c: Likewise.
33047 * util/i386/efi/grub-mkimage.c: Likewise.
33048 * util/raid.c: Likewise.
33049
33050 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33051
33052 * commands/videotest.c: Removed include to grub/machine/memory.h.
33053
33054 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33055 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33056 (video_mod_SOURCES): Removed.
33057 (video_mod_CFLAGS): Likewise.
33058 (video_mod_LDFLAGS): Likewise.
33059 (gfxterm_mod_SOURCES): Likewise.
33060 (gfxterm_mod_CFLAGS): Likewise.
33061 (gfxterm_mod_LDFLAGS): Likewise.
33062 (videotest_mod_SOURCES): Likewise.
33063 (videotest_mod_CFLAGS): Likewise.
33064 (videotest_mod_LDFLAGS): Likewise.
33065 (bitmap_mod_SOURCES): Likewise.
33066 (bitmap_mod_CFLAGS): Likewise.
33067 (bitmap_mod_LDFLAGS): Likewise.
33068 (tga_mod_SOURCES): Likewise.
33069 (tga_mod_CFLAGS): Likewise.
33070 (tga_mod_LDFLAGS): Likewise.
33071 (jpeg_mod_SOURCES): Likewise.
33072 (jpeg_mod_CFLAGS): Likewise.
33073 (jpeg_mod_LDFLAGS): Likewise.
33074 (png_mod_SOURCES): Likewise.
33075 (png_mod_CFLAGS): Likewise.
33076 (png_mod_LDFLAGS): Likewise.
33077
33078 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33079 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33080 (video_mod_SOURCES): Added.
33081 (video_mod_CFLAGS): Likewise.
33082 (video_mod_LDFLAGS): Likewise.
33083 (videotest_mod_SOURCES): Likewise.
33084 (videotest_mod_CFLAGS): Likewise.
33085 (videotest_mod_LDFLAGS): Likewise.
33086 (bitmap_mod_SOURCES): Likewise.
33087 (bitmap_mod_CFLAGS): Likewise.
33088 (bitmap_mod_LDFLAGS): Likewise.
33089 (tga_mod_SOURCES): Likewise.
33090 (tga_mod_CFLAGS): Likewise.
33091 (tga_mod_LDFLAGS): Likewise.
33092 (jpeg_mod_SOURCES): Likewise.
33093 (jpeg_mod_CFLAGS): Likewise.
33094 (jpeg_mod_LDFLAGS): Likewise.
33095 (png_mod_SOURCES): Likewise.
33096 (png_mod_CFLAGS): Likewise.
33097 (png_mod_LDFLAGS): Likewise.
33098 (gfxterm_mod_SOURCES): Likewise.
33099 (gfxterm_mod_CFLAGS): Likewise.
33100 (gfxterm_mod_LDFLAGS): Likewise.
33101
33102 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33103 grub/machine/console.h.
33104
33105 2009-01-04 Jerone Young <jerone@gmail.com>
33106
33107 Make on screen instructions clearer
33108
33109 Based on patch created by Jidanni <jidanni@jidanni.org>
33110
33111 * normal/menu.c: print clearer instructions on the screen
33112
33113 2009-01-02 Colin D Bennett <colin@gibibit.com>
33114
33115 New font engine.
33116
33117 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33118 build system and fixed gfxterm.c to work with different sized fonts.
33119
33120 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33121
33122 * configure: Re-generated.
33123
33124 * DISTLIST: Removed font/manager.c.
33125 Added font/font.c.
33126 Added font/font_cmd.c.
33127
33128 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33129 compilation.
33130
33131 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33132
33133 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33134
33135 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33136
33137 * normal/menu.c: Likewise.
33138
33139 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33140 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33141
33142 * include/grub/font.h: Replaced with new file.
33143
33144 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33145 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33146 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33147 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33148 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33149 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33150 fg_red, fg_green, fg_blue, fg_alpha.
33151 (grub_video_adapter): Removed blit_glyph.
33152 (grub_video_blit_glyph): Removed.
33153
33154 * font/manager.c: Removed file.
33155
33156 * font/font.c: New file.
33157
33158 * font/font_cmd.c: Likewise.
33159
33160 * video/video.c (grub_video_blit_glyph): Removed.
33161
33162 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33163 (grub_video_vbe_map_rgba): Likewise.
33164 (grub_video_vbe_unmap_color_int): Likewise.
33165 (grub_video_vbe_blit_glyph): Removed.
33166 (grub_video_vbe_adapter): Removed blit_glyph.
33167
33168 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33169 (get_pixel): Likewise.
33170 (set_pixel): Likewise.
33171
33172 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33173
33174 * term/gfxterm.c: Adapted to new font engine.
33175
33176 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33177
33178 * term/i386/pc/vga.c: Likewise.
33179
33180 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33181
33182 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33183
33184 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33185
33186 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33187
33188 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33189
33190 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33191
33192 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33193
33194 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33195
33196 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33197
33198 * util/grub.d/00_header.in: Changed to use new loadfont command.
33199
33200 * util/grub-mkconfig_lib.in: Changed font extension.
33201
33202 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33203
33204 * util/getroot.c (grub_util_get_grub_dev): Add support for
33205 /dev/md/dNNpNN style partitionable mdraid devices.
33206
33207 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33208
33209 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33210 at a time limit of the PXE TFTP API correctly.
33211 (grub_pxefs_close): Likewise.
33212
33213 2008-11-29 Robert Millan <rmh@aybabtu.com>
33214
33215 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33216 grub_ata_device_initialize() calls.
33217
33218 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33219
33220 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33221 iteration failed.
33222 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33223
33224 2008-11-28 Robert Millan <rmh@aybabtu.com>
33225
33226 Fix build on powerpc-ieee1275. Based on patch created by
33227 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33228 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33229 `kern/ieee1275/mmap.c'.
33230 * include/grub/powerpc/ieee1275/memory.h: New file.
33231
33232 Provide grub-install on coreboot.
33233 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33234 (grub_install_SOURCES): New variable.
33235 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33236 usable on coreboot.
33237
33238 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33239
33240 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33241 to `grub_term_input_t'.
33242 (grub_term_get_current_output): Change return type to
33243 `grub_term_output_t'.
33244
33245 2008-11-22 Robert Millan <rmh@aybabtu.com>
33246
33247 Fix breakage on coreboot due to declaration mismatch.
33248 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33249 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33250 grub_vga_text_cls().
33251
33252 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33253 comments. Avoid copying one more byte than necessary (just in case).
33254
33255 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33256 to 0x200000 (avoids trouble with some OFW implementations, and matches
33257 with the one in Yaboot).
33258 Reported by Manoel Abranches
33259
33260 2008-11-20 Robert Millan <rmh@aybabtu.com>
33261
33262 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33263 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33264
33265 * util/grub-mkconfig_lib.in (grub_warn): New function.
33266 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33267 warnings, to obtain consistent formatting.
33268 * util/grub.d/00_header.in: Likewise.
33269 * util/update-grub_lib.in: Likewise.
33270
33271 * loader/i386/linux.c (allocate_pages): Fix a warning.
33272 Move comment text to `#error' stanza.
33273
33274 Harmonize ieee1275's grub_available_iterate() with the generic
33275 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33276 build problem on i386-ieee1275):
33277 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33278 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33279 parameter `type'. Update all users of this function.
33280 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33281 `kern/ieee1275/mmap.c'.
33282 * kern/ieee1275/init.c
33283 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33284 with ...
33285 (grub_machine_mmap_iterate): ... this.
33286 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33287 return type to `grub_err_t'. Update all implementations of this
33288 function prototype.
33289 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33290 Likewise.
33291
33292 Add `lsmmap' command (lists firmware-provided memory map):
33293 * commands/lsmmap.c: New file.
33294 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33295 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33296 variables.
33297 * conf/powerpc-ieee1275.rmk: Likewise.
33298 * conf/i386-coreboot.rmk: Likewise.
33299 * conf/i386-ieee1275.rmk: Likewise.
33300
33301 2008-11-19 Robert Millan <rmh@aybabtu.com>
33302
33303 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33304 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33305 constraints to initrd allocation (based on code from
33306 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33307 for Linux to find it.
33308
33309 2008-11-14 Robert Millan <rmh@aybabtu.com>
33310
33311 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33312 order to cope with duplicate slashes.
33313
33314 2008-11-14 Robert Millan <rmh@aybabtu.com>
33315
33316 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33317 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33318 don't want to mess with lower memory, because it is used in the Linux
33319 loader.
33320
33321 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33322 an appropriate place in lower memory, between 0x10000 and 0x90000,
33323 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33324 is in our heap (probably as a result of it being corrupted during
33325 decompression). Add #error instance with comment to explain why this
33326 loader isn't currently usable on PC/BIOS.
33327
33328 2008-11-14 Robert Millan <rmh@aybabtu.com>
33329
33330 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33331 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33332
33333 2008-11-12 Robert Millan <rmh@aybabtu.com>
33334
33335 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33336
33337 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33338 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33339 from here ...
33340 * include/grub/i386/pc/memory.h: ... to here.
33341
33342 2008-11-12 Robert Millan <rmh@aybabtu.com>
33343
33344 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33345 split).
33346
33347 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33348 (grub_console_cur_color, grub_console_real_putchar)
33349 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33350 (grub_console_setcolorstate, grub_console_setcolor)
33351 (grub_console_getcolor): Move from here ...
33352 * include/grub/i386/vga_common.h: ... to here (new file).
33353
33354 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33355 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33356 `<grub/i386/io.h>'.
33357 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33358 `<grub/i386/vga_common.h>'.
33359
33360 2008-11-12 Robert Millan <rmh@aybabtu.com>
33361
33362 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33363 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33364 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33365 variables.
33366 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33367 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33368
33369 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33370 grub_console_init() with call to grub_vga_text_init().
33371 (grub_machine_fini): Replace call to
33372 grub_console_fini() with call to grub_vga_text_fini() and
33373 grub_at_keyboard_fini().
33374
33375 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33376 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33377 (grub_console_setcolorstate, grub_console_setcolor)
33378 (grub_console_getcolor): New function prototypes.
33379
33380 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33381 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33382 (grub_vga_text_setcursor): Static-ize.
33383 (grub_vga_text_term): New structure.
33384 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33385
33386 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33387 (grub_console_cur_color, grub_console_standard_color)
33388 (grub_console_normal_color, grub_console_highlight_color)
33389 (map_char, grub_console_putchar, grub_console_getcharwidth)
33390 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33391 (grub_console_getcolor): Move from here ...
33392 * term/i386/vga_common.c: ... to here (same function names).
33393
33394 2008-11-12 Robert Millan <rmh@aybabtu.com>
33395
33396 Use newly-added Multiboot support in coreboot.
33397
33398 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33399 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33400
33401 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33402 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33403 (codestart): Store the MBI in `startup_multiboot_info' when we're
33404 being loaded using Multiboot.
33405
33406 * kern/i386/coreboot/init.c (grub_machine_init): Move
33407 grub_at_keyboard_init() call to beginning of function (useful for
33408 debugging). Call grub_machine_mmap_init() before attempting to use
33409 grub_machine_mmap_iterate().
33410 (grub_lower_mem, grub_upper_mem): Move from here ...
33411 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33412 here (new file).
33413
33414 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33415 function prototype.
33416
33417 2008-11-12 Robert Millan <rmh@aybabtu.com>
33418
33419 Fix a regression introduced by the at_keyboard.mod split. Because
33420 some terminals are default on some platforms and non-default on
33421 others, the first terminal being registered determines which is
33422 going to be default.
33423
33424 * kern/term.c (grub_term_register_input): If this is the first
33425 terminal being registered, set it as the current one.
33426 (grub_term_register_output): Likewise.
33427
33428 * term/efi/console.c (grub_console_init): Do not call
33429 grub_term_set_current_output() or grub_term_set_current_input().
33430 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33431 * term/i386/pc/console.c (grub_console_init): Likewise.
33432 (grub_console_fini): Do not call grub_term_set_current_input()
33433 (but leave grub_term_set_current_output() to restore text mode).
33434
33435 2008-11-10 Robert Millan <rmh@aybabtu.com>
33436
33437 * util/grub.d/00_header.in: Add backward compatibility check for
33438 versions of terminal.mod that don't understand `terminal_input' or
33439 `terminal_output'.
33440
33441 2008-11-09 Robert Millan <rmh@aybabtu.com>
33442
33443 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33444 `terminal_input' / `terminal_output', not `terminal'.
33445
33446 2008-11-08 Robert Millan <rmh@aybabtu.com>
33447
33448 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33449 (DISTCLEANFILES): Add `build_env.mk'.
33450
33451 2008-11-08 Robert Millan <rmh@aybabtu.com>
33452
33453 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33454 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33455 members. Update all users.
33456 * util/console.c (grub_ncurses_term): Split in ...
33457 (grub_ncurses_term_input): ... this, and ...
33458 (grub_ncurses_term_output): ... this. Update all users.
33459 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33460
33461 2008-11-08 Robert Millan <rmh@aybabtu.com>
33462
33463 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33464 (PKGDATA): Add $(pkgdata_SRCDIR).
33465 (pkglib_BUILDDIR): New variable.
33466 (pkgdata_SRCDIR): New variable.
33467 (build_env.mk): New target.
33468 (include_DATA): New variable.
33469 (install-local): Install $(include_DATA) files in $(includedir).
33470
33471 2008-11-07 Pavel Roskin <proski@gnu.org>
33472
33473 * gendistlist.sh: Use C locale for sorting to ensure consistent
33474 output on all systems.
33475
33476 * util/grub.d/00_header.in: Remove incorrect space before
33477 "serial".
33478
33479 2008-11-07 Robert Millan <rmh@aybabtu.com>
33480
33481 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33482 per specification.
33483 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33484 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33485 (based on find_multi_boot1_header).
33486 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33487 using find_multi_boot2_header(), and abort if neither Multiboot or
33488 Multiboot headers were found.
33489
33490 2008-11-07 Robert Millan <rmh@aybabtu.com>
33491
33492 Modularize at_keyboard.mod:
33493
33494 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33495 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33496 (at_keyboard_mod_LDFLAGS): New variables.
33497
33498 Actual terminal split:
33499
33500 * include/grub/term.h (struct grub_term): Split in ...
33501 (struct grub_term_input): ... this, and ...
33502 (struct grub_term_output): ... this. Update all users.
33503 (grub_term_set_current): Split in ...
33504 (grub_term_set_current_input): ... this, and ...
33505 (grub_term_set_current_output): ... this.
33506 (grub_term_get_current): Split in ...
33507 (grub_term_get_current_input): ... this, and ...
33508 (grub_term_get_current_output): ... this.
33509 (grub_term_register): Split in ...
33510 (grub_term_register_input): ... this, and ...
33511 (grub_term_register_output): ... this.
33512 (grub_term_unregister): Split in ...
33513 (grub_term_unregister_input): ... this, and ...
33514 (grub_term_unregister_output): ... this.
33515 (grub_term_iterate): Split in ...
33516 (grub_term_iterate_input): ... this, and ...
33517 (grub_term_iterate_output): ... this.
33518
33519 * kern/term.c (grub_term_list): Split in ...
33520 (grub_term_list_input): ... this, and ...
33521 (grub_term_list_output): ... this. Update all users.
33522 (grub_cur_term): Split in ...
33523 (grub_cur_term_input): ... this, and ...
33524 (grub_cur_term_output): ... this. Update all users.
33525 (grub_term_set_current): Split in ...
33526 (grub_term_set_current_input): ... this, and ...
33527 (grub_term_set_current_output): ... this.
33528 (grub_term_get_current): Split in ...
33529 (grub_term_get_current_input): ... this, and ...
33530 (grub_term_get_current_output): ... this.
33531 (grub_term_register): Split in ...
33532 (grub_term_register_input): ... this, and ...
33533 (grub_term_register_output): ... this.
33534 (grub_term_unregister): Split in ...
33535 (grub_term_unregister_input): ... this, and ...
33536 (grub_term_unregister_output): ... this.
33537 (grub_term_iterate): Split in ...
33538 (grub_term_iterate_input): ... this, and ...
33539 (grub_term_iterate_output): ... this.
33540
33541 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33542 a check for input and one for output (and only attempt to get keys
33543 from user when input works).
33544
33545 * util/grub-probe.c (grub_term_get_current): Split in ...
33546 (grub_term_get_current_input): ... this, and ...
33547 (grub_term_get_current_output): ... this.
33548 * util/grub-fstest.c: Likewise.
33549 * util/i386/pc/grub-setup.c: Likewise.
33550 * util/grub-editenv.c: Likewise.
33551
33552 Portability adjustments:
33553
33554 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33555 `term/i386/pc/at_keyboard.c'.
33556 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33557 grub_keyboard_controller_init() (now handled by terminal .init).
33558 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33559 grub_at_keyboard_init().
33560 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33561 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33562 at_keyboard.mod via input terminal interface).
33563 * include/grub/i386/coreboot/console.h: Convert into a stub for
33564 `<grub/i386/pc/console.h>'.
33565
33566 Migrate full terminals to new API:
33567
33568 * term/efi/console.c (grub_console_term): Split into ...
33569 (grub_console_term_input): ... this, and ...
33570 (grub_console_term_output): ... this. Update all users.
33571 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33572 (grub_ofconsole_init): Split into ...
33573 (grub_ofconsole_init_input): ... this, and ...
33574 (grub_ofconsole_init_output): ... this.
33575 (grub_ofconsole_term): Split into ...
33576 (grub_ofconsole_term_input): ... this, and ...
33577 (grub_ofconsole_term_output): ... this. Update all users.
33578 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33579 (grub_serial_term_input): ... this, and ...
33580 (grub_serial_term_output): ... this. Update all users.
33581 * term/i386/pc/console.c (grub_console_term): Split into ...
33582 (grub_console_term_input): ... this, and ...
33583 (grub_console_term_output): ... this. Update all users.
33584 (grub_console_term_input): Only enable it on PC/BIOS platform.
33585 (grub_console_init): Remove grub_keyboard_controller_init() call.
33586
33587 Migrate input terminals to new API:
33588
33589 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33590 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33591 i386-specific anyway).
33592 (grub_console_checkkey): Rename to ...
33593 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33594 users.
33595 (grub_keyboard_controller_orig): New variable.
33596 (grub_console_getkey): Rename to ...
33597 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33598 users.
33599 (grub_keyboard_controller_init): Static-ize. Save original
33600 controller value so that it can be restored ...
33601 (grub_keyboard_controller_fini): ... here (new function).
33602 (grub_at_keyboard_term): New structure.
33603 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33604 functions.
33605
33606 Migrate output terminals to new API:
33607
33608 * term/i386/pc/vga.c (grub_vga_term): Change type to
33609 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33610 members. Update all users.
33611 * term/gfxterm.c (grub_video_term): Change type to
33612 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33613 members. Update all users.
33614 * include/grub/i386/pc/console.h (grub_console_checkkey)
33615 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33616 etc).
33617
33618 Migrate `terminal' command and userland tools to new API:
33619
33620 * commands/terminal.c (grub_cmd_terminal): Split into ...
33621 (grub_cmd_terminal_input): ... this, and ...
33622 (grub_cmd_terminal_output): ... this.
33623 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33624 `terminal_input' and `terminal_output'.
33625 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33626 `terminal_input' / `terminal_output' API.
33627 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33628 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33629 provided ${GRUB_TERMINAL}, convert it).
33630
33631 2008-11-04 Robert Millan <rmh@aybabtu.com>
33632
33633 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33634 for FreeBSD.
33635 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33636
33637 2008-11-03 Bean <bean123ch@gmail.com>
33638
33639 * kern/elf.c (grub_elf32_load): Revert to previous code.
33640 (grub_elf64_load): Likewise.
33641
33642 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33643
33644 2008-11-01 Robert Millan <rmh@aybabtu.com>
33645
33646 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33647 (TARGET_CPPFLAGS): Likewise.
33648 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33649
33650 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33651
33652 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33653
33654 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33655
33656 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33657 addition of objects until the code is not going to be able to fail.
33658
33659 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33660
33661 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33662 (add a missing NULL check, and correct them by moving the pointer
33663 operations after the actual check).
33664
33665 2008-10-29 Robert Millan <rmh@aybabtu.com>
33666
33667 * util/i386/pc/grub-install.in: Handle empty string as output from
33668 make_system_path_relative_to_its_root().
33669
33670 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33671
33672 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33673 circular metadata worst case scenario. If the metadata is circular
33674 then copy the wrap in place.
33675 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33676 project lib/format_text/layout.h
33677 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33678
33679 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33680
33681 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33682
33683 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33684
33685 * util/update-grub_lib.in: Mention filename in warning message.
33686
33687 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33688
33689 * NEWS: Update for rename of update-grub to grub-mkconfig.
33690
33691 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33692
33693 * util/update-grub_lib.in: Copy to ...
33694 * util/grub-mkconfig_lib.in: ... this. Update all users.
33695 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33696 * util/update-grub.in: Rename to ...
33697 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33698 option. Add `--output' option to allow users to specify the generated
33699 configuration file. Default to stdout.
33700 (update_grub_dir): Rename to ...
33701 (grub_mkconfig_dir): ... this.
33702 (grub_cfg): Default to an empty string.
33703 * conf/common.rmk (update-grub): Rename to ...
33704 (grub-mkconfig): ... this.
33705 (update-grub_lib): Copy to ...
33706 (grub-mkconfig_lib): ... this.
33707 (update-grub_SCRIPTS): Copy to ...
33708 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33709 (update-grub_DATA): Rename to ...
33710 (grub-mkconfig_DATA): ... this.
33711
33712 2008-09-28 Robert Millan <rmh@aybabtu.com>
33713
33714 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33715 to `modified'. Add the real `created' field.
33716 (grub_iso9660_uuid): Use `modified' rather than `created' for
33717 constructing the UUID.
33718
33719 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33720
33721 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33722 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33723
33724 2008-09-28 Bean <bean123ch@gmail.com>
33725
33726 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33727 Thanks to Christian Franke for finding this bug.
33728
33729 2008-09-25 Robert Millan <rmh@aybabtu.com>
33730
33731 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33732 instances of grub_util_get_disk_name() (see previous commit).
33733
33734 2008-09-25 Robert Millan <rmh@aybabtu.com>
33735
33736 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33737 `util/i386/get_disk_name.c'.
33738 * conf/i386-efi.rmk: Likewise.
33739 * conf/x86_64-efi.rmk: Likewise.
33740 * conf/i386-coreboot.rmk: Likewise.
33741 * conf/i386-ieee1275.rmk: Likewise.
33742 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33743 `util/ieee1275/get_disk_name.c'.
33744 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33745 * util/ieee1275/get_disk_name.c: Remove file.
33746 * util/i386/get_disk_name.c: Remove file.
33747 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33748 "hd%d" for device.map entries, rather than using
33749 grub_util_get_disk_name().
33750
33751 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33752
33753 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33754 warning.
33755 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33756
33757 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33758
33759 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33760 Changed to 0x5100.
33761 (GRUB_TERM_PPAGE): Changed to 0x4900.
33762
33763 2008-09-24 Robert Millan <rmh@aybabtu.com>
33764
33765 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33766 macros (they were i386-pc specific).
33767 * include/grub/sparc64/ieee1275/console.h: Likewise.
33768 * include/grub/efi/console.h: Likewise.
33769
33770 2008-09-22 Bean <bean123ch@gmail.com>
33771
33772 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33773 resident and in attribute list.
33774
33775 * include/grub/ntfs.h (BMP_LEN): Removed.
33776
33777 2008-09-22 Bean <bean123ch@gmail.com>
33778
33779 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33780 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33781
33782 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33783 error occurs, as grub_disk_open will call grub_disk_close, which will
33784 call p->close (scsi).
33785
33786 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33787
33788 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33789 (AC_PREREQ): Bumped to 2.59.
33790 (AC_TRY_COMPILE): Replace obsolete macro with ...
33791 (AC_COMPILE_IFELSE): ... this.
33792 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33793 (AC_LINK_IFELSE): ... this.
33794
33795 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33796
33797 * autogen.sh: Add a call to `gendistlist.sh'.
33798
33799 2008-09-19 Christian Franke <franke@computer.org>
33800
33801 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33802 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33803 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33804 Export __enable_execute_stack() to modules.
33805 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33806 New function.
33807
33808 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33809
33810 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33811 Sort the list.
33812
33813 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33814
33815 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33816 #include <grub/util/hostdisk.h>.
33817
33818 2008-09-08 Robert Millan <rmh@aybabtu.com>
33819
33820 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33821 segments when their filesz is zero (grub_file_read() interprets
33822 zero-size as "read until EOF", which results in memory corruption).
33823 Use `lowest_segment' rather than 0 for calculating the current
33824 segment load address.
33825
33826 2008-09-08 Robert Millan <rmh@aybabtu.com>
33827
33828 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33829 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33830 clobbered useful information.
33831
33832 2008-09-08 Robert Millan <rmh@aybabtu.com>
33833
33834 * include/grub/util/biosdisk.h: Move to ...
33835 * include/grub/util/hostdisk.h: ... here. Update all users.
33836 * util/biosdisk.c: Move to ...
33837 * util/hostdisk.c: ... here. Update all users.
33838
33839 2008-09-07 Robert Millan <rmh@aybabtu.com>
33840
33841 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33842 variables.
33843 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33844 and length can be stored directly in the `mbi->mmap_addr' and
33845 `mbi->mmap_length' struct fields.
33846
33847 2008-09-07 Robert Millan <rmh@aybabtu.com>
33848
33849 * conf/i386.rmk: New file. Provides declaration for building
33850 `cpuid.mod'.
33851 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33852 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33853 variables.
33854 Include `conf/i386.mk'.
33855 * conf/i386-efi.rmk: Likewise.
33856 * conf/x86_64-efi.rmk: Likewise.
33857 * conf/i386-coreboot.rmk: Likewise.
33858 * conf/i386-ieee1275.rmk: Likewise.
33859
33860 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33861
33862 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33863 Adds optimization support for BGR based modes.
33864
33865 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33866 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33867 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33868 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33869 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33870 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33871 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33872 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33873 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33874 (grub_video_i386_vbeblit_index_index): Likewise.
33875 (grub_video_i386_vbeblit_replace_directN): Added.
33876 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33877 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33878 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33879 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33880 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33881 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33882 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33883 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33884 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33885 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33886 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33887 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33888 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33889
33890 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33891 (grub_video_i386_vbefill_R8G8B8): Likewise.
33892 (grub_video_i386_vbefill_index): Likewise.
33893 (grub_video_i386_vbefill_direct32): Added.
33894 (grub_video_i386_vbefill_direct24): Likewise.
33895 (grub_video_i386_vbefill_direct16): Likewise.
33896 (grub_video_i386_vbefill_direct8): Likewise.
33897
33898 * include/grub/video.h (grub_video_blit_format): Removed
33899 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33900 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33901 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33902 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33903 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33904
33905 * video/video.c (grub_video_get_blit_format): Updated to use new
33906 blit formats. Added handling for 16 bit color modes.
33907
33908 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33909 fillers.
33910 (common_blitter): Updated to use new blitters.
33911
33912 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33913 Removed.
33914 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33915 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33916 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33917 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33918 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33919 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33920 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33921 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33922 (grub_video_i386_vbeblit_index_index): Likewise.
33923 (grub_video_i386_vbeblit_replace_directN): Added.
33924 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33925 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33926 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33927 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33928 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33929 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33930 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33931 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33932 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33933 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33934 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33935 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33936 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33937
33938 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33939 (grub_video_i386_vbefill_R8G8B8): Likewise.
33940 (grub_video_i386_vbefill_index): Likewise.
33941 (grub_video_i386_vbefill_direct32): Added.
33942 (grub_video_i386_vbefill_direct24): Likewise.
33943 (grub_video_i386_vbefill_direct16): Likewise.
33944 (grub_video_i386_vbefill_direct8): Likewise.
33945
33946 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33947 types.
33948
33949 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33950 types.
33951
33952 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33953 blitter types.
33954
33955 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33956 types.
33957
33958 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33959
33960 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33961 RAID level 1.
33962
33963 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33964
33965 * fs/iso9660.c (grub_iso9660_date): New structure.
33966 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33967 (grub_iso9660_uuid): New function.
33968
33969 2008-09-05 Bean <bean123ch@gmail.com>
33970
33971 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33972
33973 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33974 insensitive bit for names in Win32 and Win32 & DOS namespace.
33975
33976 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33977
33978 * include/grub/types.h (LONG_MAX): Likewise.
33979
33980 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33981
33982 * util/getroot.c: Include <config.h>.
33983 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33984 add support for /dev/md/N devices and handle LVM double dash escaping.
33985
33986 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33987
33988 * config.guess: Update to latest version from config git.
33989 * config.sub: Likewise.
33990
33991 2008-09-03 Robert Millan <rmh@aybabtu.com>
33992
33993 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33994 `disk->total_sectors'.
33995
33996 2008-09-01 Colin D Bennett <colin@gibibit.com>
33997
33998 * include/grub/normal.h: Fixed incorrect comment for
33999 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34000
34001 2008-09-01 Colin D Bennett <colin@gibibit.com>
34002
34003 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34004 values with defines.
34005
34006 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34007 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34008 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34009 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34010 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34011 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34012 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34013 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34014 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34015 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34016 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34017 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34018 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34019 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34020 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34021 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34022 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34023 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34024 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34025
34026 2008-08-31 Robert Millan <rmh@aybabtu.com>
34027
34028 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34029 declaration.
34030 (grub_multiboot): Fix a few warnings.
34031
34032 2008-08-31 Robert Millan <rmh@aybabtu.com>
34033
34034 * loader/i386/pc/multiboot.c: Update comment not to say that
34035 boot_device support is unimplemented.
34036
34037 2008-08-31 Robert Millan <rmh@aybabtu.com>
34038
34039 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34040 or memory map support are unimplemented.
34041
34042 2008-08-31 Colin D Bennett <colin@gibibit.com>
34043
34044 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34045
34046 2008-08-31 Colin D Bennett <colin@gibibit.com>
34047
34048 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34049 total video memory in 'vbeinfo' output; show color format details for
34050 each video mode.
34051
34052 2008-08-30 Pavel Roskin <proski@gnu.org>
34053
34054 * util/genmoddep.c: Remove for real this time.
34055 * DISTLIST: Remove util/genmoddep.c.
34056
34057 2008-08-30 Robert Millan <rmh@aybabtu.com>
34058
34059 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34060 as required by Multiboot spec (it was already 4-byte aligned, but
34061 only by chance).
34062
34063 2008-08-29 Pavel Roskin <proski@gnu.org>
34064
34065 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34066 * kern/powerpc/ieee1275/startup.S: ... this.
34067 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34068 * DISTLIST: Likewise.
34069
34070 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34071 grub/cpu/kernel.h. Add start label for consistency with other
34072 platforms. Add grub_prefix immediately after start. Add jump
34073 to the code after grub_prefix.
34074 * include/grub/powerpc/kernel.h: Provide valid values for
34075 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34076
34077 2008-08-29 Bean <bean123ch@gmail.com>
34078
34079 * configure.ac: Change host_os to cygwin for mingw.
34080 (asprintf): New check for function.
34081
34082 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34083 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34084
34085 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
34086 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
34087 sync, sleep and grub_util_get_disk_size for mingw.
34088
34089 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34090 to get size in mingw.
34091 (open_device): Use flag O_BINARY if it's defined.
34092 (find_root_device): Add dummy code for mingw.
34093
34094 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34095 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34096 (get_scsi_disk_name): Return 0 for mingw.
34097
34098 * util/hostfs.c: #include <grub/util/misc.h>.
34099 (grub_hostfs_open): Use "rb" flag to open file, use
34100 grub_util_get_disk_size to get disk size for mingw.
34101
34102 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34103 (asprintf): New function if HAVE_ASPRINTF is not set.
34104 (sync): New function for mingw.
34105 (sleep): Likewise.
34106 (grub_util_get_disk_size): Likewise.
34107
34108 2008-08-28 Pavel Roskin <proski@gnu.org>
34109
34110 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34111 kern/time.c.
34112
34113 2008-08-28 Robert Millan <rmh@aybabtu.com>
34114
34115 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34116
34117 2008-08-28 Robert Millan <rmh@aybabtu.com>
34118
34119 Change find_grub_drive() syntax so it doesn't prevent it from
34120 detecting NULL names as errors.
34121
34122 * util/biosdisk.c (find_grub_drive): Move free slot search code
34123 from here ...
34124 (find_free_slot): ... to here.
34125 (read_device_map): Use find_free_slot() to search for free slots.
34126
34127 2008-08-27 Marco Gerards <marco@gnu.org>
34128
34129 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34130 (scsi_mod_SOURCES): New variable.
34131 (scsi_mod_CFLAGS): Likewise
34132 (scsi_mod_LDFLAGS): Likewise.
34133
34134 * disk/scsi.c: New file.
34135
34136 * include/grub/scsi.h: Likewise.
34137
34138 * include/grub/scsicmd.h: Likewise.
34139
34140 * disk/ata.c: Include <grub/scsi.h>.
34141 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34142 instead.
34143 (grub_ata_iterate): Skip ATAPI devices.
34144 (grub_ata_open): Only handle ATAPI devices.
34145 (struct grub_atapi_read): Removed.
34146 (grub_atapi_readsector): Likewise.
34147 (grub_ata_read): No longer handle ATAPI devices.
34148 (grub_ata_write): Likewise.
34149 (grub_atapi_iterate): New function.
34150 (grub_atapi_read): Likewise.
34151 (grub_atapi_write): Likewise.
34152 (grub_atapi_open): Likewise.
34153 (grub_atapi_close): Likewise.
34154 (grub_atapi_dev): New variable.
34155 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34156 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34157
34158 * include/grub/disk.h (enum grub_disk_dev_id): Add
34159 `GRUB_DISK_DEVICE_SCSI_ID'.
34160
34161 2008-08-26 Robert Millan <rmh@aybabtu.com>
34162
34163 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34164 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34165 descriptive.
34166
34167 2008-08-23 Bean <bean123ch@gmail.com>
34168
34169 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34170 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34171 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34172 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34173 dm_nv.mod.
34174 (raid5rec_mod_SOURCES): New macro.
34175 (raid5rec_mod_CFLAGS): Likewise.
34176 (raid5rec_mod_LDFLAGS): Likewise.
34177 (raid6rec_mod_SOURCES): Likewise.
34178 (raid6rec_mod_CFLAGS): Likewise.
34179 (raid6rec_mod_LDFLAGS): Likewise.
34180 (mdraid_mod_SOURCES): Likewise.
34181 (mdraid_mod_CFLAGS): Likewise.
34182 (mdraid_mod_LDFLAGS): Likewise.
34183 (dm_nv_mod_SOURCES): Likewise.
34184 (dm_nv_mod_CFLAGS): Likewise.
34185 (dm_nv_mod_LDFLAGS): Likewise.
34186
34187 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34188 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34189 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34190
34191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34192 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34193
34194 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34195
34196 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34197
34198 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34199
34200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34201
34202 * disk/raid5_recover.c: New file.
34203
34204 * disk/raid6_recover.c: Likewise.
34205
34206 * disk/mdraid_linux.c: Likewise.
34207
34208 * disk/dmraid_nvidia.c: Likewise.
34209
34210 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34211 ULONG_MAX.
34212
34213 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34214 calculate the size of raid device.
34215 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34216 different layout of raid5.
34217 (grub_raid_scan_device): Remove code specific to mdraid.
34218 (grub_raid_list): New variable.
34219 (free_array): New function.
34220 (grub_raid_register): Likewise.
34221 (grub_raid_unregister): Likewise.
34222 (grub_raid_rescan): Likewise.
34223 (GRUB_MOD_INIT): Don't iterate device here.
34224 (GRUB_MOD_FINI): Use free_array to release resource.
34225
34226 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34227 (grub_raid5_recover_func_t): New function variable type.
34228 (grub_raid6_recover_func_t): Likewise.
34229 (grub_raid5_recover_func): New variable.
34230 (grub_raid6_recover_func): Likewise.
34231 (grub_raid_register): New function.
34232 (grub_raid_unregister): Likewise.
34233 (grub_raid_rescan): Likewise.
34234 (grub_raid_block_xor): Likewise.
34235
34236 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34237 (CMD_CRC): New macro.
34238 (part): Removed.
34239 (read_file): Handle device as well as file.
34240 (cmd_crc): New function.
34241 (fstest): Handle multiple disks.
34242 (options): Remove part, raw and long, add root and diskcount.
34243 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34244 (main): Find the first non option entry and ignore subsequent options,
34245 add handling for the new options, support multiple disks.
34246
34247 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34248
34249 2008-08-23 Bean <bean123ch@gmail.com>
34250
34251 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34252
34253 * genfslist.sh: Ignore kernel.mod.
34254
34255 * genpartmaplist.sh: Likewise.
34256
34257 2008-08-23 Robert Millan <rmh@aybabtu.com>
34258
34259 * util/getroot.c (find_root_device): Skip anything that starts with
34260 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34261
34262 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34263
34264 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34265 * util/grub.d/00_header.in: Allow the administrator to change default
34266 gfxmode via ${GRUB_GFXMODE}.
34267
34268 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34269
34270 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34271
34272 2008-08-21 Robert Millan <rmh@aybabtu.com>
34273
34274 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34275 loader.
34276 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34277 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34278
34279 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34280
34281 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34282 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34283
34284 2008-08-19 Robert Millan <rmh@aybabtu.com>
34285
34286 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34287 (struct grub_virtual_screen): Remove `cursor_color'.
34288 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34289 initialization.
34290 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34291
34292 2008-08-18 Robert Millan <rmh@aybabtu.com>
34293
34294 Unify (identical) linux_normal.c files.
34295 * loader/i386/efi/linux_normal.c: Move from here ...
34296 * loader/linux_normal.c: ... to here. Update all users.
34297 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34298 * loader/i386/ieee1275/linux_normal.c: Likewise.
34299
34300 2008-08-18 Robert Millan <rmh@aybabtu.com>
34301
34302 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34303 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34304 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34305 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34306 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34307 New macros.
34308 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34309 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34310 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34311 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34312 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34313 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34314 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34315 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34316 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34317 portably using grub_getxy().
34318 Replace `-EFI' with `-bzImage' in boot message.
34319
34320 2008-08-17 Robert Millan <rmh@aybabtu.com>
34321
34322 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34323
34324 2008-08-17 Robert Millan <rmh@aybabtu.com>
34325
34326 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34327
34328 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34329 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34330 (grub_machine_mmap_iterate): New function declaration.
34331 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34332 structure.
34333 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34334 macros.
34335
34336 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34337 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34338 Move e820 parsing from here ...
34339 * kern/i386/pc/mmap.c: New file.
34340 (grub_machine_mmap_iterate): ... to here.
34341
34342 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34343 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34344 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34345 (grub_available_iterate): Redeclare to return `void', and redeclare
34346 its hook to use grub_uint64_t as addr and size parameters, and rename
34347 to ...
34348 (grub_machine_mmap_iterate): ... this. Update all users.
34349
34350 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34351 to make it more readable. Rename to ...
34352 (grub_machine_mmap_iterate): ... this.
34353
34354 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34355 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34356 (grub_multiboot): Allocate an extra region after the payload, and fill
34357 it with a Multiboot memory map. Adjust a.out loader to calculate size
34358 with the extra space.
34359 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34360 with the extra space.
34361
34362 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34363
34364 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34365
34366 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34367
34368 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34369 mdate-sh to the list `find' searches for.
34370 * DISTLIST: Regenerated.
34371
34372 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34373
34374 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34375 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34376 genmoddep.awk, gensymlist.sh.in.
34377 (DISTDIRS): Add bus, docs, hook, lib.
34378 * DISTLIST: Regenerated.
34379 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34380
34381 2008-08-16 Robert Millan <rmh@aybabtu.com>
34382
34383 * disk/raid.c (grub_raid_init): Handle/report errors set by
34384 grub_device_iterate().
34385 * disk/lvm.c (grub_lvm_init): Likewise.
34386
34387 2008-08-15 Bean <bean123ch@gmail.com>
34388
34389 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34390 and datehook.mod.
34391 (datetime_mod_SOURCES): New macro.
34392 (datetime_mod_CFLAGS): Likewise.
34393 (datetime_mod_LDFLAGS): Likewise.
34394 (date_mod_SOURCES): Likewise.
34395 (date_mod_CFLAGS): Likewise.
34396 (date_mod_LDFLAGS): Likewise.
34397 (datehook_mod_SOURCES): Likewise.
34398 (datehook_mod_CFLAGS): Likewise.
34399 (datehook_mod_LDFLAGS): Likewise.
34400
34401 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34402 and datehook.mod.
34403 (datetime_mod_SOURCES): New macro.
34404 (datetime_mod_CFLAGS): Likewise.
34405 (datetime_mod_LDFLAGS): Likewise.
34406 (date_mod_SOURCES): Likewise.
34407 (date_mod_CFLAGS): Likewise.
34408 (date_mod_LDFLAGS): Likewise.
34409 (datehook_mod_SOURCES): Likewise.
34410 (datehook_mod_CFLAGS): Likewise.
34411 (datehook_mod_LDFLAGS): Likewise.
34412
34413 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34414 and datehook.mod.
34415 (datetime_mod_SOURCES): New macro.
34416 (datetime_mod_CFLAGS): Likewise.
34417 (datetime_mod_LDFLAGS): Likewise.
34418 (date_mod_SOURCES): Likewise.
34419 (date_mod_CFLAGS): Likewise.
34420 (date_mod_LDFLAGS): Likewise.
34421 (datehook_mod_SOURCES): Likewise.
34422 (datehook_mod_CFLAGS): Likewise.
34423 (datehook_mod_LDFLAGS): Likewise.
34424
34425 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34426 and datehook.mod.
34427 (datetime_mod_SOURCES): New macro.
34428 (datetime_mod_CFLAGS): Likewise.
34429 (datetime_mod_LDFLAGS): Likewise.
34430 (date_mod_SOURCES): Likewise.
34431 (date_mod_CFLAGS): Likewise.
34432 (date_mod_LDFLAGS): Likewise.
34433 (datehook_mod_SOURCES): Likewise.
34434 (datehook_mod_CFLAGS): Likewise.
34435 (datehook_mod_LDFLAGS): Likewise.
34436
34437 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34438 and datehook.mod.
34439 (datetime_mod_SOURCES): New macro.
34440 (datetime_mod_CFLAGS): Likewise.
34441 (datetime_mod_LDFLAGS): Likewise.
34442 (date_mod_SOURCES): Likewise.
34443 (date_mod_CFLAGS): Likewise.
34444 (date_mod_LDFLAGS): Likewise.
34445 (datehook_mod_SOURCES): Likewise.
34446 (datehook_mod_CFLAGS): Likewise.
34447 (datehook_mod_LDFLAGS): Likewise.
34448
34449 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34450
34451 * commands/date.c: New file.
34452
34453 * hook/datehook.c: Likewise.
34454
34455 * include/grub/lib/datetime.h: Likewise.
34456
34457 * include/grub/i386/cmos.h: Likewise.
34458
34459 * lib/datetime.c: Likewise.
34460
34461 * lib/i386/datetime.c: Likewise.
34462
34463 * lib/efi/datetime.c: Likewise.
34464
34465 2008-08-14 Robert Millan <rmh@aybabtu.com>
34466
34467 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34468 (grub_mkelfimage_SOURCES): New variable.
34469 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34470
34471 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34472 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34473 * conf/powerpc-ieee1275.rmk: Likewise.
34474 * conf/i386-ieee1275.rmk: Likewise.
34475
34476 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34477 * kern/i386/coreboot/init.c: Likewise.
34478
34479 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34480 with `<grub/cpu/kernel.h>'.
34481 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34482 to ...
34483 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34484 * kern/i386/coreboot/startup.S: Likewise.
34485
34486 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34487 (GRUB_MOD_GAP): Remove.
34488 * include/grub/powerpc/kernel.h: New file.
34489 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34490 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34491 * include/grub/i386/kernel.h: New file.
34492 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34493 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34494 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34495
34496 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34497 `grub-mkelfimage'.
34498 Use --directory when invoking grub_mkimage.
34499
34500 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34501 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34502 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34503 and GRUB_KERNEL_CPU_PREFIX.
34504
34505 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34506
34507 * include/grub/err.h (grub_err_printf): New function prototype.
34508 * util/misc.c (grub_err_printf): New function.
34509 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34510 grub_printf.
34511 * kern/err.c (grub_print_error): Use grub_err_printf.
34512
34513 2008-08-13 Robert Millan <rmh@aybabtu.com>
34514
34515 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34516
34517 2008-08-13 Robert Millan <rmh@aybabtu.com>
34518
34519 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34520 boot entry.
34521
34522 2008-08-12 Robert Millan <rmh@aybabtu.com>
34523
34524 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34525 of the relocation code from here ...
34526 (grub_multiboot): ... to here.
34527 (forward_relocator, backward_relocator): Move from here ...
34528 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34529 (grub_multiboot_backward_relocator): ... to here.
34530 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34531 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34532 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34533 (grub_multiboot_forward_relocator_end)
34534 (grub_multiboot_backward_relocator)
34535 (grub_multiboot_backward_relocator_end): New variables.
34536
34537 2008-08-12 Bean <bean123ch@gmail.com>
34538
34539 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34540
34541 2008-08-11 Robert Millan <rmh@aybabtu.com>
34542
34543 * kern/i386/linuxbios/startup.S: Move from here ...
34544 * kern/i386/coreboot/startup.S: ... to here.
34545
34546 * kern/i386/linuxbios/init.c: Move from here ...
34547 * kern/i386/coreboot/init.c: ... to here.
34548
34549 * kern/i386/linuxbios/table.c: Move from here ...
34550 * kern/i386/coreboot/mmap.c: ... to here.
34551
34552 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34553
34554 2008-08-11 Robert Millan <rmh@aybabtu.com>
34555
34556 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34557 errors. Leave it to the upper layer to handle them.
34558
34559 2008-08-09 Christian Franke <franke@computer.org>
34560
34561 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34562 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34563 Install `grub.d/10_windows' only on Cygwin.
34564 * configure.ac: Add subst of `target_os'.
34565 Check `target_os' also before setting TARGET_OBJ2ELF.
34566 Add `--enable-grub-pe2elf'.
34567
34568 2008-08-08 Robert Millan <rmh@aybabtu.com>
34569
34570 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34571 (grub_last_time): Change type to grub_uint64_t.
34572 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34573 (grub_disk_close): Likewise.
34574
34575 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34576 (run_menu): Migrate code from to using grub_get_time_ms().
34577
34578 * util/misc.c (grub_get_time_ms): New function.
34579
34580 2008-08-08 Marco Gerards <marco@gnu.org>
34581
34582 * disk/ata.c (grub_ata_regget): Change return type to
34583 `grub_uint8_t'.
34584 (grub_ata_regget2): Likewise.
34585 (grub_ata_wait_status): New function.
34586 (grub_ata_wait_busy): Removed function, updated all users to use
34587 `grub_ata_wait_status'.
34588 (grub_ata_wait_drq): Likewise.
34589 (grub_ata_cmd): New function.
34590 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34591 error handling.
34592 (grub_ata_pio_write): Add error handling.
34593 (grub_atapi_identify): Likewise.
34594 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34595 handling.
34596 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34597 handling. Actually use the detected registers. Reorder the
34598 detection logic such that it is easier to read.
34599 (grub_ata_pciinit): Do not assign the same ID to each controller.
34600 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34601 handling.
34602 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34603
34604 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34605
34606 2008-08-08 Marco Gerards <marco@gnu.org>
34607
34608 * NEWS: Update.
34609
34610 2008-08-07 Bean <bean123ch@gmail.com>
34611
34612 * include/grub/x86_64/pci.h: New file.
34613
34614 2008-08-07 Christian Franke <franke@computer.org>
34615
34616 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34617 (TIMER2_GATE): Likewise.
34618 (grub_pit_wait): Add enable/disable of the timer2 gate
34619 bit of port 0x61. This fixes a possible infinite loop.
34620
34621 2008-08-07 Bean <bean123ch@gmail.com>
34622
34623 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34624 kern/i386/tsc.c and kern/i386/pit.c.
34625
34626 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34627 x86_64 platform.
34628
34629 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34630 <grub/i386/tsc.h>.
34631
34632 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34633
34634 2008-08-07 Bean <bean123ch@gmail.com>
34635
34636 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34637
34638 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34639
34640 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34641 multiple inclusion. Add #include <grub/types.h>.
34642
34643 2008-08-06 Christian Franke <franke@computer.org>
34644
34645 * conf/common.rmk: Build and install `10_windows'.
34646 * util/grub.d/10_windows.in: New script.
34647
34648 2008-08-06 Pavel Roskin <proski@gnu.org>
34649
34650 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34651
34652 2008-08-06 Robert Millan <rmh@aybabtu.com>
34653
34654 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34655 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34656
34657 2008-08-06 Bean <bean123ch@gmail.com>
34658
34659 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34660 (grub_pxefs_fs_int): Remove dummy definition.
34661 (grub_pxefs_open): Use data->block_size to store the current block
34662 size setting.
34663 (grub_pxefs_read): Use block size stored in data->block_size. As the
34664 value of grub_pxe_blksize can be changed after the file is opened.
34665
34666 2008-08-06 Bean <bean123ch@gmail.com>
34667
34668 * fs/i386/pc/pxe.c (curr_file): new variable.
34669 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34670 require the dummy internal file system anymore.
34671 (grub_pxefs_read): Removed.
34672 (grub_pxefs_close): Likewise.
34673 (grub_pxefs_fs_int): Likewise.
34674 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34675 connection when we switch file.
34676 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34677
34678 2008-08-06 Robert Millan <rmh@aybabtu.com>
34679
34680 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34681 `halt.mod'.
34682 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34683 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34684
34685 * kern/i386/halt.c: New file.
34686 * kern/i386/reboot.c: Likewise.
34687 * include/grub/i386/reboot.h: Likewise.
34688 * include/grub/i386/halt.h: Likewise.
34689
34690 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34691 Include `<grub/cpu/halt.h>'.
34692 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34693 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34694
34695 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34696 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34697 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34698 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34699 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34700 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34701 from here ...
34702 * include/grub/i386/at_keyboard.h: ... to here.
34703
34704 2008-08-05 Robert Millan <rmh@aybabtu.com>
34705
34706 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34707 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34708 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34709 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34710 `kern/generic/millisleep.c'.
34711
34712 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34713 instead of grub_get_rtc().
34714 (grub_tsc_init): Initialize `tsc_boot_time'.
34715
34716 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34717 (grub_machine_init): Use grub_tsc_init() rather than
34718 installing an RTC-based handler via grub_install_get_time_ms().
34719
34720 * kern/i386/pit.c: New file.
34721 * include/grub/i386/pit.h: Likewise.
34722
34723 2008-08-05 Bean <bean123ch@gmail.com>
34724
34725 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34726
34727 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34728 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34729 (pxe_mod_SOURCES): New macro.
34730 (pxe_mod_CFLAGS): Likewise.
34731 (pxe_mod_LDFLAGS): Likewise.
34732 (pxecmd_mod_SOURCES): Likewise.
34733 (pxecmd_mod_CFLAGS): Likewise.
34734 (pxecmd_mod_LDFLAGS): Likewise.
34735
34736 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34737 (grub_pxe_call): Likewise.
34738
34739 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34740
34741 * commands/i386/pc/pxecmd.c: New file.
34742
34743 * fs/i386/pc/pxe.c: Likewise.
34744
34745 * include/grub/i386/pc/pxe.h: Likewise.
34746
34747 2008-08-05 Bean <bean123ch@gmail.com>
34748
34749 * util/console.c (grub_console_cur_color): New variable.
34750 (grub_console_standard_color): Likewise.
34751 (grub_console_normal_color): Likewise.
34752 (grub_console_highlight_color): Likewise.
34753 (color_map): Likewise.
34754 (use_color): Likewise.
34755 (NUM_COLORS): New macro.
34756 (grub_ncurses_setcolorstate): Handle color properly.
34757 (grub_ncurses_setcolor): Don't change color here, just remember the
34758 settings, color will be set in grub_ncurses_setcolorstate.
34759 (grub_ncurses_getcolor): New function.
34760 (grub_ncurses_init): Initialize color pairs.
34761 (grub_ncurses_term): New member grub_ncurses_getcolor.
34762
34763 2008-08-05 Colin D Bennett <colin@gibibit.com>
34764
34765 High resolution timer support. Implemented for x86 CPUs using TSC.
34766 Extracted generic grub_millisleep() so it's linked in only as needed.
34767 This requires a Pentium compatible CPU; if the RDTSC instruction is
34768 not supported, then it falls back on the generic grub_get_time_ms()
34769 implementation that uses the machine's RTC.
34770
34771 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34772 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34773 `kern/generic/millisleep.c'.
34774
34775 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34776 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34777
34778 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34779 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34780
34781 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34782
34783 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34784 `kern/generic/millisleep.c'.
34785
34786 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34787
34788 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34789
34790 * kern/generic/rtc_get_time_ms.c: New file.
34791
34792 * kern/generic/millisleep.c: New file.
34793
34794 * kern/misc.c: Don't include
34795 <kern/time.h> anymore.
34796 (grub_millisleep_generic): Removed.
34797
34798 * commands/sleep.c (grub_interruptible_millisleep): Uses
34799 grub_get_time_ms() instead of grub_get_rtc().
34800
34801 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34802 function.
34803 (grub_cpu_is_cpuid_supported): New inline function.
34804 (grub_cpu_is_tsc_supported): New inline function.
34805 (grub_tsc_init): New function prototype.
34806 (grub_tsc_get_time_ms): New function prototype.
34807
34808 * kern/i386/tsc.c (grub_get_time_ms): New file.
34809
34810 * include/grub/time.h: Include <grub/types.h.
34811 (grub_millisleep_generic): Removed.
34812 (grub_get_time_ms): New prototype.
34813 (grub_install_get_time_ms): New prototype.
34814 (grub_rtc_get_time_ms): New prototype.
34815
34816 * kern/time.c (grub_get_time_ms): New function.
34817 (grub_install_get_time_ms): New function.
34818
34819 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34820 <grub/time.h> anymore.
34821 (grub_millisleep): Removed.
34822 (grub_machine_init): Call grub_tsc_init.
34823
34824 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34825 get_time_ms() implementation.
34826
34827 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34828 (ieee1275_get_time_ms): New function.
34829 (grub_machine_init): Install get_time_ms() implementation.
34830
34831 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34832 (grub_machine_init): Call grub_tsc_init().
34833 (grub_millisleep): Removed.
34834
34835 * kern/ieee1275/init.c (grub_millisleep): Removed.
34836 (grub_machine_init): Install ieee1275_get_time_ms()
34837 implementation.
34838 (ieee1275_get_time_ms): New function.
34839 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34840 real work.
34841
34842 2008-08-05 Marco Gerards <marco@gnu.org>
34843
34844 * disk/ata.c: Include <grub/pci.h>.
34845 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34846 (grub_ata_initialize): Rewritten.
34847 (grub_ata_device_initialize): New function.
34848
34849 2008-08-04 Pavel Roskin <proski@gnu.org>
34850
34851 * kern/main.c: Include grub/mm.h.
34852
34853 2008-08-04 Robert Millan <rmh@aybabtu.com>
34854
34855 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34856 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34857 corruption problem).
34858
34859 2008-08-04 Robert Millan <rmh@aybabtu.com>
34860
34861 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34862 warnings introduced in my last commit.
34863
34864 2008-08-03 Robert Millan <rmh@aybabtu.com>
34865
34866 Make PCI available on all i386 architectures.
34867
34868 * include/grub/i386/pc/pci.h: Move from here ...
34869 * include/grub/i386/pci.h: ... to here.
34870
34871 * include/grub/i386/pc/pci.h: Remove.
34872 * include/grub/i386/efi/pci.h: Remove.
34873 * include/grub/x86_64/efi/pci.h: Remove.
34874
34875 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34876 `<grub/cpu/pci.h>'.
34877
34878 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34879 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34880 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34881
34882 * conf/i386-ieee1275.rmk: Likewise.
34883
34884 2008-08-03 Robert Millan <rmh@aybabtu.com>
34885
34886 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34887 (grub_console_setcursor): Make it possible to set cursor off.
34888
34889 2008-08-03 Robert Millan <rmh@aybabtu.com>
34890
34891 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34892 of modules instead of assuming which platform provides what.
34893 * util/update-grub.in: Likewise.
34894
34895 2008-08-03 Robert Millan <rmh@aybabtu.com>
34896
34897 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34898 instead of `grub_install_dos_part' to determine whether a drive needs
34899 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34900 because it can be overridden when loading GRUB via Multiboot).
34901
34902 2008-08-02 Robert Millan <rmh@aybabtu.com>
34903
34904 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34905
34906 2008-08-02 Robert Millan <rmh@aybabtu.com>
34907
34908 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34909 of informational grub_dprintf() calls.
34910
34911 2008-08-02 Robert Millan <rmh@aybabtu.com>
34912
34913 * disk/memdisk.c (memdisk_size): Don't initialize.
34914 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34915
34916 * include/grub/i386/pc/kernel.h
34917 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34918 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34919 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34920 (grub_arch_memdisk_size): Remove.
34921
34922 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34923 field (was only used to transfer a constant). Add `type' field to
34924 support multiple module types.
34925 (grub_module_iterate): New function.
34926
34927 * kern/device.c (grub_device_open): Do not hide error messages
34928 when grub_disk_open() fails. Use grub_print_error() instead.
34929
34930 * kern/i386/pc/init.c (grub_arch_modules_addr)
34931 (grub_arch_memdisk_size): Remove functions.
34932 (grub_arch_modules_addr): Return the module address in high memory
34933 (now that it isn't copied anymore).
34934
34935 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34936 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34937 decompression routine (grub_total_module_size already includes that
34938 now). Don't copy modules back to low memory.
34939
34940 * kern/main.c: Include `<grub/mm.h>'.
34941 (grub_load_modules): Split out (and use) ...
34942 (grub_module_iterate): ... this function, which iterates through
34943 module objects and runs a hook.
34944 Comment out grub_mm_init_region() call, as it would cause non-ELF
34945 modules to be overwritten.
34946
34947 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34948 the memdisk image in its own region, make it part of the module list.
34949 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34950 (main): Parse --memdisk|-m option, and pass user-provided path as
34951 parameter to generate_image().
34952 (add_segments): Pass `memdisk_path' down to load_modules().
34953 (load_modules): Embed memdisk image in module section when requested.
34954 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34955 `header.type' instead of `header.offset'.
34956
34957 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34958 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34959 (memdisk_mod_LDFLAGS): New variables.
34960 * conf/i386-coreboot.rmk: Likewise.
34961 * conf/i386-ieee1275.rmk: Likewise.
34962
34963 2008-08-02 Robert Millan <rmh@aybabtu.com>
34964
34965 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34966 (backward_relocator): New variables. Used to allocate and relocate
34967 the payload, respectively.
34968 (grub_multiboot_load_elf32): Load into heap instead of requested
34969 address, install the appropriate relocator code in each bound of
34970 the payload, and set the entry point such that
34971 grub_multiboot_real_boot() will jump to one of them.
34972
34973 * kern/i386/loader.S (grub_multiboot_payload_size)
34974 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34975 (grub_multiboot_payload_entry_offset): New variables.
34976 (grub_multiboot_real_boot): Set cpu context to what the relocator
34977 expects, and jump to the relocator instead of the payload.
34978
34979 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34980 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34981 (grub_multiboot_payload_entry_offset): Export.
34982
34983 2008-08-01 Bean <bean123ch@gmail.com>
34984
34985 * normal/menu_entry.c (editor_getline): Don't return the original
34986 string as result, as it will be released by lexer once it has done
34987 using it.
34988
34989 2008-08-01 Robert Millan <rmh@aybabtu.com>
34990
34991 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34992 within menuentries, not before them.
34993 util/grub.d/10_hurd.in: Likewise.
34994
34995 2008-08-01 Bean <bean123ch@gmail.com>
34996
34997 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34998 (bufio_mod_SOURCES): New macro.
34999 (bufio_mod_CFLAGS): Likewise.
35000 (bufio_mod_LDFLAGS): Likewise.
35001
35002 * include/grub/bufio.h: New file.
35003
35004 * io/bufio.c: Likewise.
35005
35006 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35007 (grub_video_reader_png): Use grub_buffile_open to open file.
35008
35009 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35010 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35011
35012 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35013 (grub_video_reader_tga): Use grub_buffile_open to open file.
35014
35015 * font/manager.c: Include <grub/bufio.h>.
35016 (add_font): Use grub_buffile_open to open file.
35017
35018 2008-07-31 Robert Millan <rmh@aybabtu.com>
35019
35020 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35021 ELF segments, use a macro for arbitrarily accessing any of them instead
35022 of preparing a pointer that allows access to one at a time.
35023 (grub_multiboot_load_elf64): Likewise.
35024
35025 2008-07-31 Bean <bean123ch@gmail.com>
35026
35027 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35028 GRUB_KERNEL_MACHINE_DATA_END.
35029
35030 2008-07-30 Robert Millan <rmh@aybabtu.com>
35031
35032 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35033 Increase from 0x50 to 0x60.
35034 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35035 use UUIDs to identify the root drive for them. If that's not
35036 possible, abort.
35037 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35038 check, for cross-disk installs.
35039
35040 2008-07-30 Robert Millan <rmh@aybabtu.com>
35041
35042 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35043 is non-empty, use it to set the `prefix' environment variable instead
35044 of the usual approach.
35045 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35046 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35047 environment variable instead of dummy make_install_device().
35048
35049 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35050 (start): Insert a data section, with `grub_prefix' variable.
35051 * kern/i386/linuxbios/startup.S: Likewise.
35052
35053 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35054 New variable reference.
35055 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35056 New macro. Defines offset of `grub_prefix' within startup.S (relative
35057 to `start').
35058 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35059 section within startup.S (relative to `start').
35060 * include/grub/i386/coreboot/kernel.h: Likewise.
35061
35062 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35063 Overwrite grub_prefix with its contents, at the beginning of the
35064 first segment.
35065 (main): Understand -p|--prefix.
35066
35067 2008-07-30 Robert Millan <rmh@aybabtu.com>
35068
35069 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35070
35071 2008-07-30 Robert Millan <rmh@aybabtu.com>
35072
35073 * term/i386/pc/vga_text.c (grub_console_cls): Use
35074 grub_console_gotoxy() to go back to beginning of the screen.
35075 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35076
35077 2008-07-29 Christian Franke <franke@computer.org>
35078
35079 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35080 Add conversion of emulated mount points on Cygwin.
35081
35082 2008-07-29 Christian Franke <franke@computer.org>
35083
35084 * util/update-grub.in: Add a check for admin
35085 group on Cygwin.
35086 Remove old `grub.cfg.new' before creation.
35087 Add `-f' to `mv' to handle the different filesystem
35088 semantics of Windows.
35089
35090 2008-07-29 Bean <bean123ch@gmail.com>
35091
35092 * normal/main.c (get_line): Fix buffer overflow bug.
35093
35094 2008-07-28 Robert Millan <rmh@aybabtu.com>
35095
35096 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35097 (struct grub_apple_header): New struct. Describes the layout of
35098 the partmap header.
35099 (apple_partition_map_iterate): Check the header magic as well as the
35100 partition magic (which was already being checked).
35101
35102 2008-07-28 Pavel Roskin <proski@gnu.org>
35103
35104 * genmk.rb: Add a warning to the beginning of the output that
35105 it's a generated file and should not be edited.
35106
35107 2008-07-28 Robert Millan <rmh@aybabtu.com>
35108
35109 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35110 with the same number are found, just use issue a warning with
35111 grub_dprintf(), as this error has been reported to be non-fatal.
35112
35113 2008-07-27 Robert Millan <rmh@aybabtu.com>
35114
35115 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35116 information.
35117
35118 2008-07-27 Bean <bean123ch@gmail.com>
35119
35120 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35121 (grub_fat_find_dir): Ignore case when comparing filename.
35122
35123 2008-07-27 Bean <bean123ch@gmail.com>
35124
35125 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35126 smallino, as it's more descriptive, and i8count can be confused with
35127 the other field count.
35128 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35129 inode type.
35130
35131 2008-07-27 Bean <bean123ch@gmail.com>
35132
35133 * commands/crc.c: New file.
35134
35135 * lib/crc.c: Likewise.
35136
35137 * include/grub/lib/crc.h: Likewise.
35138
35139 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35140
35141 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35142 (hexdump): Move this function to ...
35143
35144 * lib/hexdump.c: ... here.
35145
35146 * include/grub/hexdump.h: Renamed to ...
35147
35148 * include/grub/lib/hexdump.h: ... this.
35149
35150 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35151
35152 * util/grub-editenv.c: Likewise.
35153
35154 * include/envblk.h: Renamed to ...
35155
35156 * include/lib/envblk.h: ... this.
35157
35158 * util/envblk.c: Renamed to ...
35159
35160 * lib/envblk.c: ... this.
35161
35162 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35163 lib/hexdump.c.
35164 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35165 (pkglib_MODULES): Add crc.mod.
35166 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35167 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35168 (crc_mod_SOURCES): New macro.
35169 (crc_mod_CFLAGS): Likewise.
35170 (crc_mod_LDFLAGS): Likewise.
35171
35172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35173
35174 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35175
35176 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35177
35178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35179
35180 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35181
35182 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35183
35184 * commands/help.c: Include <grub/term.h>.
35185 (TERM_WIDTH): Removed. Updated all users.
35186
35187 2008-07-27 Pavel Roskin <proski@gnu.org>
35188
35189 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35190 spurious warnings about a comment within a comment.
35191
35192 2008-07-25 Robert Millan <rmh@aybabtu.com>
35193
35194 * util/getroot.c (find_root_device): Skip devices that match
35195 /dev/dm-[0-9]. This lets the real device be found for any type of
35196 abstraction (LVM, EVMS, RAID..).
35197 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35198 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35199 device is found first, find_root_device() will now skip it.
35200
35201 2008-07-24 Pavel Roskin <proski@gnu.org>
35202
35203 * include/grub/types.h: Use __builtin_bswap32() and
35204 __builtin_bswap64() with gcc 4.3 and newer.
35205
35206 2008-07-24 Christian Franke <franke@computer.org>
35207
35208 * util/i386/pc/grub-install.in: If `--debug' is specified,
35209 pass `--verbose' to grub-setup.
35210 Abort script if make_system_path_relative_to_its_root() fails.
35211
35212 2008-07-24 Bean <bean123ch@gmail.com>
35213
35214 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35215 variable `target_platform' should be `platform'.
35216
35217 2008-07-24 Bean <bean123ch@gmail.com>
35218
35219 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35220 (grub_png_init_fixed_block): New function.
35221 (grub_png_decode_image_data): Handle fixed huffman code compression.
35222
35223 2008-07-24 Bean <bean123ch@gmail.com>
35224
35225 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35226 (grub_pe2elf_SOURCES): New macro.
35227 (CLEANFILES): Add grub-pe2elf.
35228
35229 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35230 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35231 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35232 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35233 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35234 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35235 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35236 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35237 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35238 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35239 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35240 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35241 (GRUB_PE32_DT_FUNCTION): Likewise.
35242 (GRUB_PE32_REL_I386_DIR32): Likewise.
35243 (GRUB_PE32_REL_I386_REL32): Likewise.
35244 (grub_pe32_symbol): New structure.
35245 (grub_pe32_reloc): Likewise.
35246
35247 * util/grub-pe2elf.c: New file.
35248
35249 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35250 start symbol in non pc platform.
35251
35252 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35253
35254 The following patches are from Christian Franke.
35255
35256 * include/grub/dl.h: Remove .previous, gas supports this only
35257 for ELF format.
35258
35259 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35260 Remove .type, gas supports this only for ELF format.
35261
35262 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35263 nullbytes in symbol table. This fixes an infinite loop if table is
35264 zero filled.
35265
35266 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35267 TARGET_IMG_LDFLAGS and EXEEXT.
35268
35269 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35270 TARGET_IMG_LDFLAGS_AC.
35271 (grub_CHECK_STACK_ARG_PROBE): New function.
35272
35273 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35274
35275 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35276
35277 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35278 to set TARGET_IMG_LD* accordingly.
35279 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35280 Add call to grub_CHECK_STACK_ARG_PROBE.
35281 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35282
35283 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35284
35285 * genmk.rb: Add EXEEXT to CLEANFILES.
35286
35287 2008-07-23 Robert Millan <rmh@aybabtu.com>
35288
35289 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35290 define the codes for arrows and lines used for the menu).
35291 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35292 as well.
35293
35294 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35295 fonts, because the latter are too slow.
35296
35297 2008-07-21 Bean <bean123ch@gmail.com>
35298
35299 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35300 a20. Run keyboard test last, as it will cause macbook to halt.
35301
35302 2008-07-18 Pavel Roskin <proski@gnu.org>
35303
35304 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35305 load foreign architecture modules correctly anyway. Keep
35306 support for loading host architecture modules, whether we
35307 compile them or not.
35308
35309 2008-07-17 Pavel Roskin <proski@gnu.org>
35310
35311 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35312 change target_cpu. The compiler default can mismatch target_cpu
35313 in any case.
35314
35315 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35316 * kern/efi/efi.c: Likewise.
35317
35318 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35319 target compiler is functional.
35320 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35321 are set up.
35322
35323 * configure.ac: Default to efi platform for x86_64-apple. Allow
35324 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35325 adjustments from the rest, only do them if target is not
35326 explicitly given. Merge other adjustments with the final sanity
35327 check. Remove an extraneous check for supported CPU. Be
35328 specific which CPU and which platform is not supported.
35329
35330 * configure.ac: Default to pc platform for x86_64.
35331
35332 2008-07-17 Robert Millan <rmh@aybabtu.com>
35333
35334 Partial LinuxBIOS -> Coreboot rename.
35335
35336 * conf/i386-linuxbios.rmk: Renamed to ...
35337 * conf/i386-coreboot.rmk: ... this.
35338 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35339 * configure.ac: Accept "coreboot" as input platform (but maintain
35340 compatibility with "linuxbios").
35341 * include/grub/i386/linuxbios: Renamed to ...
35342 * include/grub/i386/coreboot: ... this.
35343
35344 2008-07-17 Bean <bean123ch@gmail.com>
35345
35346 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35347 (appleldr_mod_SOURCE): New variable.
35348 (appleldr_mod_CFLAGS): Likewise.
35349 (appleldr_mod_LDFLAGS): Likewise.
35350 (pci_mod_SOURCES): Likewise.
35351 (pci_mod_CFLAGS): Likewise.
35352 (pci_mod_LDFLAGS): Likewise.
35353 (lspci_mod_SOURCES): Likewise.
35354 (lspci_mod_CFLAGS): Likewise.
35355 (lspci_mod_LDFLAGS): Likewise.
35356
35357 * conf/x86_64-efi.rmk: New file.
35358
35359 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35360 macro.
35361 (grub_efidisk_write): Likewise.
35362
35363 * include/efi/api.h (efi_call_0): New macro.
35364 (efi_call_1): Likewise.
35365 (efi_call_2): Likewise.
35366 (efi_call_3): Likewise.
35367 (efi_call_4): Likewise.
35368 (efi_call_5): Likewise.
35369 (efi_call_6): Likewise.
35370
35371 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35372 grub_rescue_cmd_chainloader.
35373
35374 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35375 (grub_pe32_optional_header): Change some fields based on i386 or
35376 x86_64 platform.
35377 (GRUB_PE32_PE32_MAGIC): Likewise.
35378
35379 * include/grub/efi/uga_draw.h: New file.
35380
35381 * include/grub/elf.h (STN_ABS): New constant.
35382 (R_X86_64_NONE): Relocation constant for x86_64.
35383 (R_X86_64_64): Likewise.
35384 (R_X86_64_PC32): Likewise.
35385 (R_X86_64_GOT32): Likewise.
35386 (R_X86_64_PLT32): Likewise.
35387 (R_X86_64_COPY): Likewise.
35388 (R_X86_64_GLOB_DAT): Likewise.
35389 (R_X86_64_JUMP_SLOT): Likewise.
35390 (R_X86_64_RELATIVE): Likewise.
35391 (R_X86_64_GOTPCREL): Likewise.
35392 (R_X86_64_32): Likewise.
35393 (R_X86_64_32S): Likewise.
35394 (R_X86_64_16): Likewise.
35395 (R_X86_64_PC16): Likewise.
35396 (R_X86_64_8): Likewise.
35397 (R_X86_64_PC8): Likewise.
35398
35399 * include/grub/i386/efi/pci.h: New file.
35400
35401 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35402 Change it value based on platform.
35403 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35404 (GRUB_E820_RAM): Likewise.
35405 (GRUB_E820_RESERVED): Likewise.
35406 (GRUB_E820_ACPI): Likewise.
35407 (GRUB_E820_NVS): Likewise.
35408 (GRUB_E820_EXEC_CODE): Likewise.
35409 (GRUB_E820_MAX_ENTRY): Likewise.
35410 (grub_e820_mmap): New structure.
35411 (linux_kernel_header): Change the efi field according to different
35412 kernel version, also field from linux_kernel_header.
35413
35414 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35415
35416 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35417 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35418 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35419 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35420 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35421 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35422 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35423 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35424 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35425 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35426
35427 * include/grub/x86_64/efi/kernel.h: New file.
35428
35429 * include/grub/x86_64/efi/loader.h: Likewise.
35430
35431 * include/grub/x86_64/efi/machine.h: Likewise.
35432
35433 * include/grub/x86_64/efi/pci.h: Likewise.
35434
35435 * include/grub/x86_64/efi/time.h: Likewise.
35436
35437 * include/grub/x86_64/linux.h: Likewise.
35438
35439 * include/grub/x86_64/setjmp.h: Likewise.
35440
35441 * include/grub/x86_64/time.h: Likewise.
35442
35443 * include/grub/x86_64/types.h: Likewise.
35444
35445 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35446 GRUB_TARGET_SIZEOF_VOID_P.
35447
35448 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35449 (grub_efi_locate_handle): Likewise.
35450 (grub_efi_open_protocol): Likewise.
35451 (grub_efi_set_text_mode): Likewise.
35452 (grub_efi_stall): Likewise.
35453 (grub_exit): Likewise.
35454 (grub_reboot): Likewise.
35455 (grub_halt): Likewise.
35456 (grub_efi_exit_boot_services): Likewise.
35457 (grub_get_rtc): Likewise.
35458
35459 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35460 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35461 (grub_efi_allocate_pages): Wrap efi calls.
35462 (grub_efi_free_pages): Wrap efi calls.
35463 (grub_efi_get_memory_map): Wrap efi calls.
35464
35465 * kern/x86_64/dl.c: New file.
35466
35467 * kern/x86_64/efi/callwrap.S: Likewise.
35468
35469 * kern/x86_64/efi/startup.S: Likewise.
35470
35471 * loader/efi/appleloader.c: Likewise.
35472
35473 * loader/efi/chainloader.c (cmdline): New variable.
35474 (grub_chainloader_unload): Wrap efi calls.
35475 (grub_chainloader_boot): Likewise.
35476 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35477 command line.
35478
35479 * loader/efi/chainloader_normal.c (chainloader_command):
35480 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35481 command line.
35482
35483 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35484 method.
35485 (grub_e820_add_region): New function.
35486 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35487 booting.
35488 (grub_find_video_card): New function.
35489 (grub_linux_setup_video): New function.
35490 (grub_rescue_cmd_linux): Probe for video information.
35491
35492 * normal/x86_64/setjmp.S: New file.
35493
35494 * term/efi/console.c (map_char): New function.
35495 (grub_console_putchar): Map unicode char.
35496 (grub_console_checkkey): Wrap efi calls.
35497 (grub_console_getkey): Likewise.
35498 (grub_console_getwh): Likewise.
35499 (grub_console_gotoxy): Likewise.
35500 (grub_console_cls): Likewise.
35501 (grub_console_setcolorstate): Likewise.
35502 (grub_console_setcursor): Likewise.
35503
35504 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35505
35506 2008-07-16 Pavel Roskin <proski@gnu.org>
35507
35508 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35509 format strings.
35510
35511 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35512 pointer, not an integer. This fixes a warning and prevents
35513 precision loss on 64-bit systems.
35514 (relocate_addresses): Remove unneeded cast.
35515
35516 2008-07-15 Pavel Roskin <proski@gnu.org>
35517
35518 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35519
35520 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35521
35522 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35523 Fix comparison between signed and unsigned.
35524
35525 * include/grub/i386/ieee1275/console.h: Declare
35526 grub_console_init() and grub_console_fini().
35527
35528 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35529 It's empty and unused.
35530
35531 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35532 beginning to avoid warnings with some compilers.
35533
35534 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35535 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35536
35537 2008-07-14 Pavel Roskin <proski@gnu.org>
35538
35539 * kern/env.c (grub_register_variable_hook): Don't copy empty
35540 string, it leaks memory. Pass "" to grub_env_set(), it should
35541 handle constant strings.
35542
35543 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35544 * commands/cmp.c (grub_cmd_cmp): Likewise.
35545 * kern/dl.c (grub_dl_flush_cache): Likewise.
35546 (grub_dl_load_core): Likewise.
35547 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35548 (grub_elf64_load_phdrs): Likewise.
35549
35550 2008-07-13 Pavel Roskin <proski@gnu.org>
35551
35552 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35553 between signed and unsigned.
35554 (LzmaEnc_Finish): Fix warning about an unused parameter.
35555
35556 2008-07-13 Bean <bean123ch@gmail.com>
35557
35558 * Makefile.in (enable_lzo): New rule.
35559
35560 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35561
35562 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35563
35564 * boot/i386/pc/lnxboot.S: #include <config.h>.
35565
35566 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35567 its value according to the compression algorithm used, lzo or lzma.
35568
35569 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35570 compression algorithm according to configure macro.
35571
35572 * kern/i386/pc/startup.S (codestart): Likewise.
35573
35574 * kern/i386/pc/lzma_decode.S: New file.
35575
35576 * include/grub/lib/LzFind.h: Likewise.
35577
35578 * include/grub/lib/LzHash.h: Likewise.
35579
35580 * include/grub/lib/LzmaDec.h: Likewise.
35581
35582 * include/grub/lib/LzmaEnc.h: Likewise.
35583
35584 * include/grub/lib/LzmaTypes.h: Likewise.
35585
35586 * lib/LzFind.c: Likewise.
35587
35588 * lib/LzmaDec.c: Likewise.
35589
35590 * lib/LzmaEnc.c: Likewise.
35591
35592 2008-07-13 Bean <bean123ch@gmail.com>
35593
35594 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35595 (grub_ext4_extent_header): New structure.
35596 (grub_ext4_extent): Likewise.
35597 (grub_ext4_extent_idx): Likewise.
35598 (grub_ext4_find_leaf): New function.
35599 (grub_ext2_read_block): Handle extents.
35600
35601 2008-07-12 Robert Millan <rmh@aybabtu.com>
35602
35603 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35604
35605 2008-07-11 Robert Millan <rmh@aybabtu.com>
35606
35607 * util/grub.d/40_custom.in: New file. Example on how to add custom
35608 entries to /etc/grub.d.
35609 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35610 40_custom (implicitly, by merging all the grub.d rules).
35611
35612 2008-07-11 Pavel Roskin <proski@gnu.org>
35613
35614 * commands/read.c (grub_getline): Fix invalid memory access.
35615 Don't add newline to the variable value.
35616
35617 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35618 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35619 (serial_hw_get_port): Check validity of the port number.
35620 (grub_cmd_serial): Check return value of serial_hw_get_port().
35621
35622 2008-07-07 Pavel Roskin <proski@gnu.org>
35623
35624 * boot/i386/pc/diskboot.S (notification_string): Replace
35625 "Loading kernel" with just "loading". This is shorter, less
35626 confusing and saves a few bytes for possible future changes.
35627
35628 2008-07-05 Pavel Roskin <proski@gnu.org>
35629
35630 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35631 size for ATAPI devices, they are undefined. Output sector
35632 number in decimal form.
35633
35634 * disk/ata.c: Use named constants for status bits.
35635
35636 2008-07-04 Pavel Roskin <proski@gnu.org>
35637
35638 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35639 grub_addr_t before casting it to the void pointer to fix a
35640 warning. Non-addressable regions are discarded earlier.
35641 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35642 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35643 (check_signature): Don't shadow table_header.
35644 (grub_linuxbios_table_iterate): Cast numeric constants to
35645 grub_linuxbios_table_header_t.
35646 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35647 grub_stop().
35648
35649 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35650 prevent warnings.
35651
35652 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35653 pointer, which can cause warnings. Support 64-bit addresses.
35654
35655 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35656 of sizeof(long). This fixes PowerPC image generation on x86_64.
35657
35658 2008-07-04 Robert Millan <rmh@aybabtu.com>
35659
35660 This fixes a performance issue when pc & gpt partmap iterators
35661 didn't abort iteration even after our hook found what it was
35662 looking for (often causing expensive probes of non-existent drives).
35663
35664 Some callers relied on previous buggy behaviour, since they would
35665 raise an error when their own hooks caused early abortion of its
35666 iteration.
35667
35668 * kern/device.c (grub_device_open): Improve error message.
35669 * disk/lvm.c (grub_lvm_open): Likewise.
35670 * disk/raid.c (grub_raid_open): Likewise.
35671
35672 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35673 when hook requests it, independently of grub_errno.
35674 (pc_partition_map_probe): Do not fail when find_func() caused
35675 early abortion of pc_partition_map_iterate().
35676
35677 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35678 when hook requests it, independently of grub_errno.
35679 (gpt_partition_map_probe): Do not fail when find_func() caused
35680 early abortion of gpt_partition_map_iterate().
35681
35682 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35683 when hook requests it, independently of grub_errno. Do not fail when
35684 part_map_iterate_hook() caused early abortion of p->iterate().
35685
35686 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35687 when grub_partition_iterate() returned with non-zero.
35688
35689 2008-07-03 Pavel Roskin <proski@gnu.org>
35690
35691 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35692 like we do in grub_ata_pio_read().
35693 (grub_ata_readwrite): Always write individual sectors. Fix the
35694 sector count for the remainder.
35695 (grub_ata_write): Enable writing to ATA devices. Correctly
35696 report error for ATAPI devices.
35697
35698 2008-07-02 Pavel Roskin <proski@gnu.org>
35699
35700 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35701 warning.
35702
35703 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35704 for every read sector, we already increment it for the whole
35705 batch. This fixes reading more than 256 sectors at once.
35706
35707 * util/grub-editenv.c (cmd_info): Cast argument to long
35708 explicitly. ptrdiff_t reduces to int on i386.
35709
35710 * util/grub-editenv.c (main): Be specific which parameter is
35711 missing.
35712
35713 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35714 (memdisk): Make memdisk_orig_addr a pointer.
35715
35716 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35717 for file offsets, use grub_off_t instead. Fix printf format
35718 warnings.
35719
35720 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35721 there. Real unexpected warnings should not drown in the noise
35722 about known problems.
35723
35724 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35725 grub_disk_addr_t for memory addresses.
35726
35727 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35728 explicitly to fix a warning.
35729
35730 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35731
35732 * Makefile.in (MODULE_LDFLAGS): New variable.
35733 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35734 the linker accepts --build-id=none.
35735 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35736 MODULE_LDFLAGS.
35737 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35738
35739 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35740 those in Linux XFS code. Provide a way to access 64-bit parent
35741 inode.
35742 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35743 the end of struct grub_xfs_dir_header.
35744
35745 2008-07-02 Bean <bean123ch@gmail.com>
35746
35747 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35748 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35749 and GRUB_IEEE1275_FLAG_NO_ANSI.
35750
35751 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35752 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35753 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35754
35755 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35756 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35757
35758 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35759 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35760
35761 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35762 esc sequence on non ANSI terminal.
35763 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35764
35765 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35766 beginning of file.
35767
35768 2008-07-02 Bean <bean123ch@gmail.com>
35769
35770 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35771 (grub_editenv_SOURCES): New variable.
35772 (pkglib_MODULES): Add loadenv.mod.
35773 (loadenv_mod_SOURCES): New variable.
35774 (loadenv_mod_CFLAGS): Likewise.
35775 (loadenv_mod_LDFLAGS): Likewise.
35776
35777 * include/grub/envblk.h: New file.
35778
35779 * util/envblk.c: New file.
35780
35781 * util/grub-editenv.c: New file.
35782
35783 * commands/loadenv.c: New file.
35784
35785 2008-07-01 Pavel Roskin <proski@gnu.org>
35786
35787 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35788 not unsigned char. This fixes warnings and is consistent with
35789 other tags.
35790
35791 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35792
35793 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35794
35795 * term/tparm.c (analyze): Always set *popcount.
35796
35797 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35798 cast to fix a warning.
35799
35800 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35801 cast to suppress a warning.
35802
35803 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35804 grub_fshelp_read_file() expects.
35805
35806 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35807 write uuid as a 32-bit value in CPU byte order, so declare and
35808 use it as such.
35809
35810 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35811 long if the format specifier expects it.
35812 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35813 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35814 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35815 long to fix a warning.
35816 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35817 grub_dprintf() arguments to fix warnings.
35818
35819 2008-06-30 Pavel Roskin <proski@gnu.org>
35820
35821 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35822 install_bsd_part immediately before core.img is embedded or
35823 modified on disk. This fixes core.img verification if core.img
35824 cannot be embedded.
35825
35826 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35827 core_path to calculate the blocklist.
35828 Patch from Javier Martín <lordhabbit@gmail.com>
35829
35830 2008-06-29 Robert Millan <rmh@aybabtu.com>
35831
35832 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35833 block to disk block.
35834 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35835 Patch from Niels Böhm <bitbucket@arcor.de>
35836
35837 2008-06-29 Robert Millan <rmh@aybabtu.com>
35838
35839 * util/update-grub_lib.in (font_path): Search for fonts in
35840 /boot/grub first, which is more likely to be readable (we aren't
35841 deciding where fonts live, just looking for them).
35842
35843 2008-06-26 Pavel Roskin <proski@gnu.org>
35844
35845 * util/biosdisk.c (read_device_map): Don't leave dead map
35846 entries for devices failing stat() check.
35847
35848 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35849 core_path_dev for the core.img path on the target device.
35850
35851 2008-06-26 Robert Millan <rmh@aybabtu.com>
35852
35853 * disk/fs_uuid.c: New file.
35854 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35855 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35856 (fs_uuid_mod_LDFLAGS): New variables.
35857 * include/grub/disk.h (grub_disk_dev_id): Add
35858 `GRUB_DISK_DEVICE_UUID_ID'.
35859 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35860 implement iterate().
35861
35862 2008-06-26 Robert Millan <rmh@aybabtu.com>
35863
35864 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35865 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35866 Linux image includes no initrd.
35867
35868 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35869
35870 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35871 call to resolve the core image location that effectively appended the
35872 name twice.
35873
35874 2008-06-21 Robert Millan <rmh@aybabtu.com>
35875
35876 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35877 call from here ...
35878
35879 * util/grub.d/10_hurd.in: ... to here ...
35880 * util/grub.d/10_linux.in: ... and here.
35881
35882 2008-06-19 Robert Millan <rmh@aybabtu.com>
35883
35884 * kern/main.c (grub_main): Export `prefix' variable immediately
35885 after it has been set by grub_machine_set_prefix().
35886
35887 2008-06-19 Robert Millan <rmh@aybabtu.com>
35888
35889 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35890 search result when not saving to variable, not the other way around.
35891 When saving to variable, abort iteration as soon as a match is found.
35892
35893 2008-06-19 Robert Millan <rmh@aybabtu.com>
35894
35895 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35896 check for partition that provides /boot/grub. Its logic is flawed,
35897 as it prevents prepare_grub_to_access_device() from being called
35898 multiple times.
35899
35900 2008-06-19 Robert Millan <rmh@aybabtu.com>
35901
35902 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35903 "insmod" command directly when abstraction modules are needed,
35904 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35905 since it had already been processed).
35906
35907 2008-06-19 Pavel Roskin <proski@gnu.org>
35908
35909 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35910 changed. This is needed in case GRUB_LIBDIR changes.
35911 * conf/i386-ieee1275.rmk: Likewise.
35912 * conf/i386-linuxbios.rmk: Likewise.
35913 * conf/i386-pc.rmk: Likewise.
35914 * conf/powerpc-ieee1275.rmk: Likewise.
35915
35916 2008-06-18 Pavel Roskin <proski@gnu.org>
35917
35918 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35919 kernel_elf_symlist.c to symlist.c for consistency with other
35920 architectures. Update all users.
35921 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35922
35923 2008-06-18 Robert Millan <rmh@aybabtu.com>
35924
35925 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35926 it in prefix.
35927
35928 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35929 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35930 a RAID device, run setup() for all members independently on whether
35931 LVM abstraction is being used.
35932 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35933 If grub-mkimage has set `*install_dos_part == -2', don't override this
35934 value.
35935 Perform *install_dos_part adjustments independently on whether
35936 we're embedding or not.
35937 Clarify error message when image is too big for embedding.
35938 Remove duplicate *install_dos_part stanza.
35939
35940 2008-06-17 Robert Millan <rmh@aybabtu.com>
35941
35942 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35943 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35944 variables.
35945 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35946 values in grub_ofconsole_normal_color and
35947 grub_ofconsole_highlight_color (they're not directly related to
35948 background and foreground).
35949 (grub_ofconsole_setcolorstate): Extract background and foreground
35950 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35951
35952 2008-06-17 Robert Millan <rmh@aybabtu.com>
35953
35954 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35955 /boot/grub for the check in last commit, not /boot (they could be
35956 different partitions).
35957
35958 2008-06-16 Robert Millan <rmh@aybabtu.com>
35959
35960 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35961 asked to setup access for the same partition that provides /boot,
35962 don't bother using UUIDs since our root already has the value we
35963 want.
35964
35965 2008-06-16 Robert Millan <rmh@aybabtu.com>
35966
35967 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35968 I2O devices.
35969 Patch from Sven Mueller <sven@debian.org>.
35970
35971 2008-06-16 Robert Millan <rmh@aybabtu.com>
35972
35973 * util/update-grub.in: Check for $EUID instead of $UID.
35974 Reported by Vincent Zweije.
35975
35976 2008-06-16 Bean <bean123ch@gmail.com>
35977
35978 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35979 (grub_ext2_read_block): Likewise.
35980 (grub_ext2_read_inode): Likewise.
35981 (grub_ext2_mount): Likewise.
35982 (grub_ext2_close): Likewise.
35983 (grub_ext3_get_journal): Removed.
35984
35985 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35986 (grub_reiserfs_read_symlink): Likewise.
35987 (grub_reiserfs_mount): Likewise.
35988 (grub_reiserfs_open): Likewise.
35989 (grub_reiserfs_read): Likewise.
35990 (grub_reiserfs_close): Likewise.
35991 (grub_reiserfs_get_journal): Removed.
35992
35993 * fs/fshelp.c (grub_fshelp_read): Removed.
35994 (grub_fshelp_map_block): Likewise.
35995
35996 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35997 (grub_fshelp_journal): Likewise.
35998 (grub_fshelp_read): Likewise.
35999 (grub_fshelp_map_block): Likewise.
36000
36001 2008-06-16 Pavel Roskin <proski@gnu.org>
36002
36003 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36004 floating point anymore.
36005 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36006
36007 2008-06-15 Pavel Roskin <proski@gnu.org>
36008
36009 * commands/ls.c (grub_ls_list_files): Use integer calculations
36010 for human readable format, avoid floating point use.
36011 * kern/misc.c (grub_ftoa): Remove.
36012 (grub_vsprintf): Remove floating point support.
36013
36014 2008-06-15 Robert Millan <rmh@aybabtu.com>
36015
36016 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
36017 devices.
36018 Reported by Max Vozeler.
36019
36020 2008-06-15 Robert Millan <rmh@aybabtu.com>
36021
36022 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36023 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36024 skipped later.
36025 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36026 the beginning of the prefix.
36027
36028 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36029 It is assumed that if we have a memdisk, grub-mkimage has set
36030 grub_prefix to include the "(memdisk)" drive in it.
36031
36032 2008-06-15 Robert Millan <rmh@aybabtu.com>
36033
36034 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36035 Initialize keyboard controller after registering the terminal, so that
36036 grub_printf() can be called from grub_keyboard_controller_init().
36037
36038 2008-06-15 Robert Millan <rmh@aybabtu.com>
36039
36040 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36041 extent-btree which is written as big endian on disk.
36042 Reported by Alain Greppin <al@chilibi.org>.
36043
36044 2008-06-14 Robert Millan <rmh@aybabtu.com>
36045
36046 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36047 * util/i386/pc/grub-install.in (modules): Likewise.
36048
36049 2008-06-13 Pavel Roskin <proski@gnu.org>
36050
36051 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36052
36053 2008-06-13 Bean <bean123ch@gmail.com>
36054
36055 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36056
36057 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36058
36059 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36060 to indicate sparse block.
36061
36062 2008-06-12 Pavel Roskin <proski@gnu.org>
36063
36064 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36065 number, grub_fshelp_read() does it for us.
36066
36067 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36068 linear disk read with journal translation.
36069 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36070 * include/grub/fshelp.h: Declare grub_fshelp_read().
36071
36072 2008-06-09 Pavel Roskin <proski@gnu.org>
36073
36074 * fs/minix.c (grub_minix_mount): Handle error reading
36075 superblock.
36076
36077 2008-06-08 Robert Millan <rmh@aybabtu.com>
36078
36079 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36080 don't append the RAID prefix afterwards.
36081 Reported by Clint Adams.
36082
36083 2008-06-08 Robert Millan <rmh@aybabtu.com>
36084
36085 Based on description from Pavel:
36086 * kern/disk.c (grub_disk_check_range): Rename to ...
36087 (grub_disk_adjust_range): ... this. Add a comment explaining the
36088 tasks performed by this function.
36089
36090 2008-06-08 Robert Millan <rmh@aybabtu.com>
36091
36092 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36093 `num_serial' (for consistency with other variables).
36094 (struct grub_ntfs_data): Add `uuid' member.
36095 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36096 (grub_ntfs_uuid): New function.
36097 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36098
36099 2008-06-07 Pavel Roskin <proski@gnu.org>
36100
36101 * util/biosdisk.c (open_device): Revert last change to the
36102 function, it broke installation. The sector needs to be
36103 different dependent on which device is opened.
36104
36105 2008-06-06 Robert Millan <rmh@aybabtu.com>
36106
36107 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36108 rest of GRUB, and breakage doesn't happen if its value were modified.
36109
36110 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36111 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36112 a constant (same value).
36113 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36114 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36115
36116 2008-06-06 Robert Millan <rmh@aybabtu.com>
36117
36118 * util/biosdisk.c (open_device): Do not modify sector offset when
36119 accessing a partition. kern/disk.c already handles this for us.
36120
36121 2008-06-06 Robert Millan <rmh@aybabtu.com>
36122
36123 * util/grub-emu.c (grub_machine_init): Move code in this function from
36124 here ...
36125 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36126 segfault in case grub_printf() is called).
36127
36128 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36129 grub_probe. Update all users not to explicitly add it again.
36130 (grub_device): New variable; contains corresponding device for grubdir.
36131 (fs_module, partmap_module, devabstraction_module): Pass
36132 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36133 every time.
36134
36135 2008-06-05 Robert Millan <rmh@aybabtu.com>
36136
36137 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36138 is found, print it (same layout as with labels).
36139
36140 2008-06-04 Robert Millan <rmh@aybabtu.com>
36141
36142 * util/biosdisk.c (get_drive): Rename to ...
36143 (find_grub_drive): ... this. Update all users.
36144
36145 (get_os_disk): Rename to ...
36146 (convert_system_partition_to_system_disk): ... this. Update all users.
36147
36148 (find_drive): Rename to ...
36149 (find_system_device): ... this. Update all users.
36150
36151 2008-06-04 Robert Millan <rmh@aybabtu.com>
36152
36153 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36154 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36155 (make_device_map): Likewise.
36156
36157 2008-06-01 Robert Millan <rmh@aybabtu.com>
36158
36159 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36160 before dereferencing it.
36161
36162 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36163 union with fat12/fat16-specific ones. Add some new fields, including
36164 `num_serial' for both versions.
36165 (struct grub_fat_data): Add `uuid' member.
36166 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36167 names. Initialize `data->uuid' using `num_serial'.
36168 (grub_fat_uuid): New function.
36169 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36170
36171 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36172 (grub_reiserfs_uuid): New function.
36173 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36174 member.
36175
36176 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36177 (grub_xfs_uuid): New function.
36178 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36179
36180 2008-06-01 Robert Millan <rmh@aybabtu.com>
36181
36182 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36183 code that is backward compatible with pre-uuid search command.
36184
36185 2008-05-31 Robert Millan <rmh@aybabtu.com>
36186
36187 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36188 floppies after everything else, to ensure floppy drive isn't accessed
36189 unnecessarily (patch from Bean).
36190
36191 2008-05-31 Robert Millan <rmh@aybabtu.com>
36192
36193 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36194 not print device names when we were asked to set a variable.
36195
36196 2008-05-31 Robert Millan <rmh@aybabtu.com>
36197
36198 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36199 using "cursor-on" and "cursor-off" commands (understood at least by
36200 the Open Firmware flavour on OLPC).
36201
36202 2008-05-31 Michael Gorven <michael@gorven.za.net>
36203
36204 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36205 on and off sequences.
36206
36207 2008-05-31 Robert Millan <rmh@aybabtu.com>
36208
36209 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36210 * util/update-grub.in: Likewise.
36211
36212 2008-05-30 Pavel Roskin <proski@gnu.org>
36213
36214 * util/biosdisk.c (linux_find_partition): Simplify logic and
36215 make the code more universal. Keep special processing for
36216 devfs, but use a simple rule for all other devices. If the
36217 device ends with a number, append 'p' and the partition number.
36218 Otherwise, append only the partition number.
36219
36220 2008-05-30 Robert Millan <rmh@aybabtu.com>
36221
36222 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36223 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36224 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36225 the `root' parameter to Linux.
36226
36227 2008-05-30 Robert Millan <rmh@aybabtu.com>
36228
36229 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36230 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36231 --fs_uuid with --fs-uuid.
36232 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36233 all filesystems support them).
36234
36235 2008-05-30 Robert Millan <rmh@aybabtu.com>
36236
36237 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36238 grub_printf() flags, since we're printing in units of 2 bytes.
36239
36240 2008-05-30 Robert Millan <rmh@aybabtu.com>
36241
36242 * util/grub.d/00_header.in: Remove obsolete comment referencing
36243 convert_system_path_to_grub_path().
36244 * util/update-grub.in: Likewise.
36245 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36246 (convert_system_path_to_grub_path): Add a warning message explaining
36247 that this function is deprecated. Rely on is_path_readable_by_grub()
36248 for the readability checks.
36249 (font_path): Use is_path_readable_by_grub() for the readability
36250 check rather than convert_system_path_to_grub_path().
36251
36252 2008-05-30 Robert Millan <rmh@aybabtu.com>
36253
36254 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36255 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36256 converting it first.
36257 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36258 grub.cfg for access to font file, and afterwards call it again to set
36259 the root device.
36260
36261 2008-05-30 Robert Millan <rmh@aybabtu.com>
36262
36263 * commands/search.c (options): Add --fs_uuid option.
36264 (search_fs_uuid): New function.
36265 (grub_cmd_search): Fix --set argument passing.
36266 Use search_fs_uuid() when requested via --fs_uuid.
36267 (grub_search_init): Update help message.
36268 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36269 and redeclare it as an array of 16-bit words.
36270 (grub_ext2_uuid): New function.
36271 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36272 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36273 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36274 (GRUB_DEVICE_BOOT_UUID): New variables.
36275 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36276 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36277 whenever possible.
36278 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36279 just assume `root' variable has the right value.
36280 * util/grub.d/10_linux.in: Likewise.
36281 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36282 via PRINT_FS_UUID.
36283 (main): Recognise `-t fs_uuid' argument.
36284
36285 2008-05-30 Robert Millan <rmh@aybabtu.com>
36286
36287 * util/biosdisk.c (map): Redefine structure to hold information
36288 about GRUB drive name.
36289 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36290 drive names.
36291 (call_hook): Remove.
36292 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36293 member. Assume drive has partitions.
36294 (grub_util_biosdisk_open): Access device names via `.device' struct
36295 member.
36296 (open_device): Likewise.
36297 (find_drive): Likewise.
36298 (read_device_map): Adjust map[] usage to match the new struct
36299 definition. Don't check for duplicates (still possible, but not cheap
36300 anymore).
36301 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36302 (make_device_name): Remove assumption of BIOS-like drive names.
36303
36304 2008-05-30 Pavel Roskin <proski@gnu.org>
36305
36306 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36307 compiling execute.c doesn't need grub_script.tab.h anymore.
36308 (normal/command.c_DEPENDENCIES): Likewise.
36309 (normal/function.c_DEPENDENCIES): Likewise.
36310 * conf/i386-ieee1275.rmk: Likewise.
36311 * conf/i386-linuxbios.rmk: Likewise.
36312 * conf/i386-pc.rmk: Likewise.
36313 * conf/powerpc-ieee1275.rmk: Likewise.
36314 * conf/sparc64-ieee1275.rmk: Likewise.
36315
36316 2008-05-29 Pavel Roskin <proski@gnu.org>
36317
36318 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36319 when scanning metadata for volume group name.
36320
36321 * include/grub/script.h: Don't include grub_script.tab.h. It's
36322 a generated file, which may only be included from the files with
36323 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36324 use union YYSTYPE, as the later allows forward declaration.
36325 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36326
36327 2008-05-29 Robert Millan <rmh@aybabtu.com>
36328
36329 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36330 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36331 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36332 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36333 scan codes.
36334
36335 2008-05-29 Robert Millan <rmh@aybabtu.com>
36336
36337 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36338 control key combinations.
36339
36340 2008-05-29 Robert Millan <rmh@aybabtu.com>
36341
36342 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36343 * util/ieee1275/grub-install.in: ... to here.
36344 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36345 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36346 (grub_install_SOURCES): Likewise.
36347
36348 2008-05-29 Robert Millan <rmh@aybabtu.com>
36349
36350 * fs/affs.c: Update copyright year.
36351 * fs/ext2.c: Likewise.
36352 * fs/fshelp.c: Likewise.
36353 * fs/hfsplus.c: Likewise.
36354 * fs/ntfs.c: Likewise.
36355 * fs/xfs.c: Likewise.
36356 * include/grub/fshelp.h: Likewise.
36357 * util/grub-mkdevicemap.c: Likewise.
36358
36359 2008-05-28 Robert Millan <rmh@aybabtu.com>
36360
36361 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36362 might need to be fatfs to support some firmware implementations
36363 (e.g. OFW or EFI).
36364
36365 2008-05-28 Robert Millan <rmh@aybabtu.com>
36366
36367 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36368 devices.
36369 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36370 (make_device_map): Likewise.
36371
36372 2008-05-20 Bean <bean123ch@gmail.com>
36373
36374 * fs/fshelp.c (grub_fshelp_map_block): New function.
36375 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36376 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36377
36378 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36379 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36380 (grub_fshelp_journal): New structure.
36381 (grub_fshelp_map_block): New function prototype.
36382 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36383 (grub_fshelp_map_block): Likewise.
36384
36385 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36386 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36387 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36388 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36389 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36390 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36391 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36392 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36393 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36394 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36395 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36396 (grub_ext2_sblock): New members for journal support.
36397 (grub_ext3_journal_header): New structure.
36398 (grub_ext3_journal_revoke_header): Likewise.
36399 (grub_ext3_journal_block_tag): Likewise.
36400 (grub_ext3_journal_sblock): Likewise.
36401 (grub_fshelp_node): New members logfile and journal.
36402 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36403 grub_fshelp_map_block to get real block number.
36404 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36405 number.
36406 (grub_ext2_read_inode): Likewise.
36407 (grub_ext3_get_journal): New function.
36408 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36409 (grub_ext2_close): Release memory used by journal.
36410
36411 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36412 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36413 (grub_reiserfs_transaction_header): Renamed to
36414 grub_reiserfs_description_block, replace field data with real_blocks.
36415 (grub_reiserfs_commit_block): New structure.
36416 (grub_reiserfs_data): New member journal.
36417 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36418 number.
36419 (grub_reiserfs_read_symlink): Likewise.
36420 (grub_reiserfs_iterate_dir): Likewise.
36421 (grub_reiserfs_open): Likewise.
36422 (grub_reiserfs_read): Likewise.
36423 (grub_reiserfs_get_journal): New function.
36424 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36425 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36426 using grub_reiserfs_get_journal.
36427 (grub_reiserfs_close): Release memory used by journal.
36428
36429 * fs/affs.c (grub_affs_read_block): Change block type to
36430 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36431
36432 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36433
36434 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36435
36436 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36437
36438 * fs/udf.c (grub_udf_read_block): Change block type to
36439 grub_disk_addr_t. Use type cast to avoid warning.
36440
36441 * fs/xfs.c (grub_xfs_read_block): Likewise.
36442
36443 2008-05-16 Christian Franke <franke@computer.org>
36444
36445 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36446 to ensure that break with ESC will always work.
36447 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36448 Remove ESC from keyboard queue.
36449
36450 2008-05-16 Christian Franke <franke@computer.org>
36451
36452 * util/biosdisk.c: [__CYGWIN__] Add includes.
36453 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36454 (get_os_disk): Move variable declarations to OS specific
36455 parts to avoid warning.
36456 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36457 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36458 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36459 Cygwin.
36460 * util/getroot.c: [__CYGWIN__] Add includes.
36461 (strip_extra_slashes): Fix "/" case.
36462 [__CYGWIN__] (get_win32_path): New function.
36463 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36464 [__CYGWIN__] (find_root_device): Disable.
36465 [__CYGWIN__] (get_bootsec_serial): New function.
36466 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36467 [__linux__] (grub_guess_root_device): Add early returns to simplify
36468 structure.
36469 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36470 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36471 check for Linux only.
36472
36473 2008-05-15 Bean <bean123ch@gmail.com>
36474
36475 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36476 keyboard hang problem in apple's intel mac.
36477
36478 2008-05-09 Robert Millan <rmh@aybabtu.com>
36479
36480 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36481 devices.
36482 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36483 (make_device_map): Likewise.
36484 Reported by Aurelien Jarno <aurel32@debian.org>
36485
36486 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36487
36488 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36489 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36490 (make_device_map): Output entries for xvd type disks.
36491
36492 2008-05-07 Robert Millan <rmh@aybabtu.com>
36493
36494 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36495 devices.
36496 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36497 (make_device_map): Likewise.
36498 Reported by Roland Dreier <rdreier@cisco.com>
36499
36500 2008-05-07 Robert Millan <rmh@aybabtu.com>
36501
36502 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36503 grub_strstr() call. Correct a few mistakes in failure path handling.
36504
36505 2008-05-06 Robert Millan <rmh@aybabtu.com>
36506
36507 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36508 Do not print a trailing slash (therefore, the root directory is an
36509 empty string).
36510 (convert_system_path_to_grub_path): Do not remove trailing slash
36511 from make_system_path_relative_to_its_root() output.
36512
36513 * util/i386/pc/grub-install.in: Add trailing slash to output from
36514 make_system_path_relative_to_its_root().
36515
36516 2008-05-06 Robert Millan <rmh@aybabtu.com>
36517
36518 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36519 ensures that output lines aren't intermangled with those sent to
36520 stderr (via grub_util_info()).
36521 * util/grub-probe.c (grub_refresh): Likewise.
36522 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36523
36524 2008-05-05 Christian Franke <franke@computer.org>
36525
36526 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36527 Add Cygwin device names.
36528 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36529 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36530 (check_device): Return error instead of success on empty name.
36531 (make_device_map): Move label inside linux specific code to
36532 prevent compiler warning.
36533
36534 2008-04-30 Robert Millan <rmh@aybabtu.com>
36535
36536 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36537 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36538 first boot option.
36539 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36540
36541 2008-04-29 Robert Millan <rmh@aybabtu.com>
36542
36543 * docs/grub.cfg: New file (example GRUB configuration).
36544
36545 2008-04-26 Robert Millan <rmh@aybabtu.com>
36546
36547 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36548 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36549 and `disk/ieee1275/nand.c'.
36550
36551 2008-04-25 Bean <bean123ch@gmail.com>
36552
36553 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36554 i386-linuxbios.
36555
36556 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36557 change the buffer size to 4096 for cdrom device.
36558
36559 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36560 and nand.mod.
36561 (_linux_mod_SOURCES): New variable.
36562 (_linux_mod_CFLAGS): Likewise.
36563 (_linux_mod_LDFLAGS): Likewise.
36564 (linux_mod_SOURCES): Likewise.
36565 (linux_mod_CFLAGS): Likewise.
36566 (linux_mod_LDFLAGS): Likewise.
36567 (nand_mod_SOURCES): Likewise.
36568 (nand_mod_CFLAGS): Likewise.
36569 (nand_mod_LDFLAGS): Likewise.
36570
36571 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36572 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36573 type property. (nand device in olpc don't have this property)
36574
36575 * include/grub/disk.h (grub_disk_dev_id): New macro
36576 GRUB_DISK_DEVICE_NAND_ID.
36577
36578 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36579 function prototype.
36580 (grub_rescue_cmd_initrd): Likewise.
36581
36582 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36583 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36584 ofw_cif_handler and ofw_idt, adjust padding number.
36585
36586 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36587 GRUB_MACHINE_IEEE1275 is defined.
36588
36589 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36590 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36591
36592 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36593 on nested function heap_init.
36594 (grub_upper_mem): New variable for i386-ieee1275.
36595 (grub_get_extended_memory): New function for i386-ieee1275.
36596 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36597
36598 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36599 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36600 property.
36601
36602 * loader/i386/ieee1275/linux.c: New file.
36603
36604 * loader/i386/ieee1275/linux_normal.c: New file.
36605
36606 * disk/ieee1275/nand.c: New file.
36607
36608 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36609
36610 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36611 value.
36612 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36613
36614 2008-04-18 Robert Millan <rmh@aybabtu.com>
36615
36616 Restructures early code path on ieee1275 to unify grub_main() as
36617 the first C function that is executed in every platform.
36618
36619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36620 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36621 cmain().
36622 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36623 * kern/ieee1275/cmain.c (cmain): Rename to ...
36624 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36625 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36626 at the beginning.
36627
36628 2008-04-18 Robert Millan <rmh@aybabtu.com>
36629
36630 * util/update-grub.in: Fix syntax error when setting
36631 `GRUB_PRELOAD_MODULES'.
36632 Reported by Stephane Chazelas <stephane@artesyncp.com>
36633
36634 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36635
36636 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36637 section into account, newer toolchains generate unique build ids
36638 * configure.ac: remove the test for --build-id=none acceptance,
36639 we want build ids to be preserved
36640 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36641 far from other sections don't cause the raw binary images grow
36642 size
36643
36644 2008-04-15 Robert Millan <rmh@aybabtu.com>
36645
36646 * disk/lvm.c: Update copyright year.
36647 * kern/misc.c: Likewise.
36648
36649 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36650
36651 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36652 there is no memory left for physical volume name.
36653
36654 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36655
36656 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36657 volume name mapping to support bigger than 9 character names properly.
36658
36659 2008-04-13 Robert Millan <rmh@aybabtu.com>
36660
36661 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36662 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36663
36664 2008-04-13 Christian Franke <franke@computer.org>
36665
36666 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36667 to create a floppy emulation boot CD when non emulation mode
36668 does not work.
36669 Enable Joliet CD filesystem extension.
36670
36671 2008-04-13 Robert Millan <rmh@aybabtu.com>
36672
36673 * kern/misc.c (grub_strncat): Fix off-by-one error.
36674 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36675
36676 * kern/env.c (grub_env_context_close): Clear current context, not
36677 previous one.
36678 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36679
36680 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36681
36682 2008-04-13 Robert Millan <rmh@aybabtu.com>
36683
36684 Improve robustness when handling LVM.
36685
36686 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36687 (and leave `*p' unmodified).
36688 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36689 through it.
36690 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36691 iterating through it.
36692 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36693 through it.
36694 (grub_lvm_scan_device): Check the return value (and fail gracefully
36695 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36696 Don't assume `vg->pvs != NULL' when iterating through it.
36697
36698 2008-04-13 Robert Millan <rmh@aybabtu.com>
36699
36700 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36701 * genmk.rb (partmap): New variable.
36702 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36703 (#{partmap}): New target rule.
36704 * genpartmaplist.sh: New file.
36705 * Makefile.in (pkglib_DATA): Add partmap.lst.
36706 (partmap.lst): New target rule.
36707 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36708 modules (including all partition maps), instead of preloading them.
36709
36710 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36711
36712 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36713 `linux-boot-prober' (if installed) to detect other operating
36714 systems which are installed on the computer and add them to
36715 the boot menu.
36716 * conf/common.rmk: Build and install 30_os-prober.
36717
36718 2008-04-12 Robert Millan <rmh@aybabtu.com>
36719
36720 * kern/powerpc/ieee1275/init.c: Move from here ...
36721 * kern/ieee1275/init.c: ... to here. Update all users.
36722
36723 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36724 * kern/ieee1275/cmain.c: ... to here. Update all users.
36725
36726 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36727 * kern/ieee1275/openfw.c: ... to here. Update all users.
36728
36729 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36730 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36731
36732 2008-04-10 Pavel Roskin <proski@gnu.org>
36733
36734 * configure.ac: Always use "_cv_" in cache variables for
36735 compatibility with Autoconf 2.62.
36736
36737 2008-04-07 Robert Millan <rmh@aybabtu.com>
36738
36739 Revert grub/machine/init.h addition by Pavel (since it breaks on
36740 i386-ieee1275 and others):
36741 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36742 * util/powerpc/ieee1275/misc.c: Likewise.
36743
36744 2008-04-07 Robert Millan <rmh@aybabtu.com>
36745
36746 * util/grub-probe.c (probe): Improve error message.
36747
36748 2008-04-07 Robert Millan <rmh@aybabtu.com>
36749
36750 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36751 (this prevents the presence of a bogus entry from ruining the whole
36752 thing).
36753
36754 2008-04-06 Pavel Roskin <proski@gnu.org>
36755
36756 * util/biosdisk.c: Include grub/util/biosdisk.h.
36757 * util/grub-fstest.c (execute_command): Make static.
36758 * util/grub-mkdevicemap.c (check_device): Likewise.
36759 * util/i386/pc/misc.c: Include grub/machine/init.h.
36760 * util/powerpc/ieee1275/misc.c: Likewise.
36761 * util/lvm.c: Include grub/util/lvm.h.
36762 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36763 grub/cache.h.
36764 * util/raid.c: Include grub/util/raid.h.
36765 (grub_util_getdiskname): Make static.
36766
36767 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36768 grub_hostfs_fini(), as they are called from grub_init_all() and
36769 grub_fini_all() respectively. This fixes an infinite loop in
36770 grub-fstest due to double registration of hostfs.
36771 Reported by Christian Franke <Christian.Franke@t-online.de>
36772
36773 2008-04-05 Pavel Roskin <proski@gnu.org>
36774
36775 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36776 all 8 functions. Otherwise, probe function 0 only.
36777
36778 2008-04-04 Pavel Roskin <proski@gnu.org>
36779
36780 * commands/lspci.c (grub_lspci_iter): Print the bus number
36781 correctly.
36782
36783 * commands/lspci.c (grub_pci_classes): Fix typos.
36784 (grub_lspci_iter): Don't print func twice. Print vendor ID
36785 before device ID, as it's normally done.
36786
36787 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36788 Fix signedness warnings.
36789 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36790 Likewise.
36791 * util/ieee1275/get_disk_name.c: Include config.h so that
36792 _GNU_SOURCE is defined and getline() is declared. Mark an
36793 unused argument as such. Fix a signedness warning.
36794
36795 2008-04-02 Pavel Roskin <proski@gnu.org>
36796
36797 * genkernsyms.sh.in: Use more robust assignments for CC and
36798 srcdir. Quote srcdir.
36799 * gensymlist.sh.in: Likewise. Assert at the compile time that
36800 the symbol table is not empty.
36801
36802 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36803 * fs/cpio.c (grub_cpio_read): Likewise.
36804
36805 2008-04-01 Pavel Roskin <proski@gnu.org>
36806
36807 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36808 * disk/host.c (grub_host_open): Likewise.
36809 * disk/loopback.c (grub_loopback_open): Likewise.
36810 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36811 disk->id as in disk/host.c, not a multi-character constant.
36812
36813 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36814 later is obsolete, potentially dangerous and sets a bad example.
36815 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36816 * util/misc.c (grub_util_get_image_size): Likewise.
36817
36818 * disk/loopback.c (options): Improve help for "--partitions".
36819
36820 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36821 options to align them with the short options, e.g. "echo -e".
36822
36823 2008-03-31 Bean <bean123ch@gmail.com>
36824
36825 * video/reader/png.c (grub_png_data): New member is_16bit and
36826 image_data.
36827 (grub_png_decode_image_header): Detect 16 bit png image.
36828 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36829 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36830 (grub_video_reader_png): Release memory occupied by image_data.
36831
36832 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36833 4096 bytes.
36834 (grub_nfs_mount): Skip the test for sector per cluster.
36835
36836 * include/grub/ntfs.h (MAX_SPC): Removed.
36837
36838 2008-03-31 Bean <bean123ch@gmail.com>
36839
36840 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36841 (grub_probe_SOURCES): Add fs/afs.c.
36842 (grub_fstest_SOURCES): Likewise.
36843 (afs_mod_SOURCES): New variable.
36844 (afs_mod_CFLAGS): Likewise.
36845 (afs_mod_LDFLAGS): Likewise.
36846
36847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36848 (grub_emu_SOURCES): Likewise.
36849
36850 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36851
36852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36853
36854 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36855
36856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36857
36858 * fs/afs.c: New file.
36859
36860 2008-03-30 Pavel Roskin <proski@gnu.org>
36861
36862 * disk/host.c: Include grub/misc.h to fix a warning.
36863 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36864 warnings about implicit declarations.
36865
36866 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36867 variable.
36868 * include/grub/i386/loader.h: Change declaration of
36869 grub_linux_boot() to match what grub_loader_set() expects.
36870 * util/getroot.c (grub_guess_root_device): Return const char* to
36871 fix a warning.
36872 * util/grub-probe.c (probe): Fix a warning about uninitialized
36873 abstraction_name variable.
36874 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36875 second argument as unused to fix a warning.
36876
36877 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36878 missing grub_error() call.
36879
36880 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36881 2.60 and newer uses it to define datadir.
36882
36883 * commands/sleep.c: Fix warning about implicit declaration.
36884 * disk/memdisk.c: Likewise.
36885 * loader/aout.c: Likewise.
36886 * loader/i386/bsd_normal.c: Likewise.
36887 * util/grub-probe.c: Likewise.
36888
36889 * commands/i386/cpuid.c (has_longmode): Make static.
36890 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36891 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36892
36893 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36894 GDT. This is more robust, as %ds can change.
36895 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36896 calling real_to_prot().
36897 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36898
36899 2008-03-28 Pavel Roskin <proski@gnu.org>
36900
36901 * kern/i386/pc/startup.S: Assert that uncompressed functions
36902 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36903 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36904 code, as they push parts of the code (error handlers) beyond
36905 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36906 code as correctness and size.
36907
36908 2008-03-28 Pavel Roskin <proski@gnu.org>
36909
36910 * kern/i386/pc/startup.S
36911 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36912 data block address to the real mode, keep offset minimal. This
36913 works around a bug in AWARD BIOS on old Athlon systems, which
36914 makes CD detection hang.
36915
36916 2008-03-26 Pavel Roskin <proski@gnu.org>
36917
36918 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36919 const.
36920 * include/grub/normal.h: Add grub_parse_color_name_pair()
36921 declaration.
36922
36923 2008-03-24 Bean <bean123ch@gmail.com>
36924
36925 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36926 (cd_count): Removed.
36927 (cd_drive): New variable.
36928 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36929 (grub_biosdisk_call_hook): Likewise.
36930 (grub_biosdisk_iterate): Change cdrom detection method.
36931 (grub_biosdisk_open): Replace cd_start with cd_drive.
36932 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36933 detect cdrom device.
36934
36935 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36936 Removed.
36937 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36938 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36939 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36940 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36941 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36942 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36943 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36944 (grub_biosdisk_cdrp): New structure.
36945 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36946
36947 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36948
36949 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36950 device.
36951
36952 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36953 New function.
36954
36955 2008-03-20 Robert Millan <rmh@aybabtu.com>
36956
36957 Remove 2 TiB limit in ata.mod.
36958 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36959 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36960 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36961 grub_uint64_t instead of grub_uint32_t.
36962
36963 2008-03-05 Bean <bean123ch@gmail.com>
36964
36965 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36966 (grub_multiboot): Set boot device.
36967
36968 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36969
36970 2008-03-02 Bean <bean123ch@gmail.com>
36971
36972 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36973 symlink_buffer.
36974
36975 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36976
36977 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36978 texinfo.tex.
36979
36980 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36981 modified.
36982
36983 * docs/fdl.texi: New file.
36984
36985 * docs/mdate-sh: New file. Copied from gnulib.
36986 * docs/texinfo.tex: Likewise.
36987
36988 * config.guess: Updated from gnulib.
36989 * install-sh: Likewise.
36990
36991 2008-02-28 Robert Millan <rmh@aybabtu.com>
36992
36993 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36994 (aout_mod_SOURCES): New variable.
36995 (aout_mod_CFLAGS): Likewise.
36996 (aout_mod_LDFLAGS): Likewise.
36997
36998 * conf/i386-ieee1275.rmk: Likewise.
36999
37000 2008-02-28 Robert Millan <rmh@aybabtu.com>
37001
37002 * util/update-grub.in: Reorganise terminal validity check. Accept
37003 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37004 Based on suggestion by Franklin PIAT.
37005
37006 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37007
37008 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37009 function.
37010 * util/getroot.c (grub_util_check_block_device): New function that
37011 returns the given argument if it is a block device and returns NULL else.
37012 * util/grub-probe.c (argument_is_device): New variable.
37013 (probe): Promote device_name from a variable to an argument. Receive
37014 device_name from grub_util_check_block_device() if path is NULL and from
37015 grub_guess_root_device() else. Do not free() device_name anymore.
37016 (options): Introduce new parameter '-d, --device'.
37017 (main): Add description of the new parameter to the help screen.
37018 Rename path variable to argument. Set argument_is_device if the '-d'
37019 option is given. Pass argument to probe() depending on
37020 argument_is_device.
37021
37022 2008-02-24 Bean <bean123ch@gmail.com>
37023
37024 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37025 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37026 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37027 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37028 (GRUB_ISO9660_VOLDESC_END): Likewise.
37029 (grub_iso9660_primary_voldesc): New member escape.
37030 (grub_iso9660_data): New member joliet.
37031 (grub_iso9660_convert_string): New function.
37032 (grub_iso9660_mount): Detect joliet extension.
37033 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37034 (grub_iso9660_iso9660_label): Likewise.
37035
37036 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37037 (grub_setup_SOURCES): Add fs/udf.c.
37038 (grub_fstest_SOURCES): Likewise.
37039 (udf_mod_SOURCES): New variable.
37040 (udf_mod_CFLAGS): Likewise.
37041 (udf_mod_LDFLAGS): Likewise.
37042
37043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37044 (grub_emu_SOURCES): Likewise.
37045
37046 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37047
37048 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37049
37050 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37051
37052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37053
37054 * fs/udf.c: New file.
37055
37056 2008-02-24 Robert Millan <rmh@aybabtu.com>
37057
37058 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37059 (normal/lexer.c_DEPENDENCIES): New variables.
37060 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37061 (normal/lexer.c_DEPENDENCIES): Likewise.
37062 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37063 (normal/lexer.c_DEPENDENCIES): Likewise.
37064 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37065 (normal/lexer.c_DEPENDENCIES): Likewise.
37066 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37067 (normal/lexer.c_DEPENDENCIES): Likewise.
37068 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37069 (normal/lexer.c_DEPENDENCIES): Likewise.
37070
37071 2008-02-23 Robert Millan <rmh@aybabtu.com>
37072
37073 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37074 since they were intended to be in hex. This didn't break previously
37075 because of a bug in gpt_partition_map_iterate() (see below).
37076
37077 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37078 when checking the validity of GPT header.
37079 Remove `partno', since it always provides the same information as `i'.
37080
37081 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37082
37083 * include/grub/efi/time.h: Fix a wrong comment.
37084
37085 2008-02-19 Pavel Roskin <proski@gnu.org>
37086
37087 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37088 message.
37089
37090 2008-02-19 Bean <bean123ch@gmail.com>
37091
37092 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37093 (aout_mod_SOURCES): New variable.
37094 (aout_mod_CFLAGS): Likewise.
37095 (aout_mod_LDFLAGS): Likewise.
37096 (_bsd_mod_SOURCES): New variable.
37097 (_bsd_mod_CFLAGS): Likewise.
37098 (_bsd_mod_LDFLAGS): Likewise.
37099 (bsd_mod_SOURCES): New variable.
37100 (bsd_mod_CFLAGS): Likewise.
37101 (bsd_mod_LDFLAGS): Likewise.
37102
37103 * include/grub/aout.h: New file.
37104
37105 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37106
37107 * include/grub/i386/bsd.h: New file.
37108
37109 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37110 to make it public.
37111
37112 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37113 function is called, so that it's possible to change it inside the hook.
37114 (grub_elf64_load): Likewise.
37115 (grub_elf_file): Don't close the file if elf header is not found.
37116 (grub_elf_close): Close the file if grub_elf_file fails (The new
37117 grub_elf_file won't close it).
37118 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37119 (grub_elf64_size): Likewise.
37120
37121 * kern/i386/loader.S (grub_unix_real_boot): New function.
37122
37123 * loader/aout.c: New file.
37124
37125 * loader/i386/bsd.c: New file.
37126
37127 * loader/i386/bsd_normal.c: New file.
37128
37129 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37130
37131 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37132 can test other formats.
37133
37134 2008-02-19 Robert Millan <rmh@aybabtu.com>
37135
37136 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37137 (grub_gpt_partition_type_empty): Redefine with macro from
37138 `<grub/gpt_partition.h>'.
37139 (gpt_partition_map_iterate): Adjust partition type comparison.
37140
37141 Export `entry' as partmap-specific `part.data' struct.
37142 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37143
37144 * include/grub/gpt_partition.h (grub_gpt_header)
37145 (grub_gpt_partentry): ... to here (new file).
37146
37147 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37148
37149 (grub_gpt_partition_type_bios_boot): New const variable, defined
37150 with macro from `<grub/gpt_partition.h>'.
37151
37152 (setup): Replace `first_start' with `embed_region', which keeps
37153 track of the embed region (and is partmap-agnostic).
37154
37155 Replace find_first_partition_start() with find_usable_region(),
37156 which finds a usable region for embedding using partmap-specific
37157 knowledge (supports PC/MSDOS and GPT).
37158
37159 Fix all assumptions that the embed region start at sector 1, using
37160 `embed_region.start' from now on. Similarly, use `embed_region.end'
37161 rather than `first_start' to calculate available size.
37162
37163 In grub_util_info() message, replace "into after the MBR" with an
37164 indication of the specific sector our embed region starts at.
37165
37166 2008-02-19 Robert Millan <rmh@aybabtu.com>
37167
37168 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37169 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37170 `commands/reboot.c'.
37171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37172 (halt_mod_SOURCES): Likewise.
37173 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37174 (halt_mod_SOURCES): Likewise.
37175
37176 2008-02-17 Christian Franke <franke@computer.org>
37177
37178 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37179
37180 2008-02-17 Robert Millan <rmh@aybabtu.com>
37181
37182 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37183 set `first_start' to 0 for non-PC/MSDOS partition maps.
37184
37185 2008-02-16 Robert Millan <rmh@aybabtu.com>
37186
37187 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37188 do not assume partition map is PC/MSDOS before performing checks that
37189 are specific to that layout.
37190
37191 2008-02-13 Robert Millan <rmh@aybabtu.com>
37192
37193 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37194 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37195 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37196
37197 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37198
37199 * configure.ac: Only a cosmetic change on the handling of
37200 -fno-stack-protector.
37201
37202 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37203
37204 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37205 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37206 reboot.c.
37207 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37208 (halt_mod_SOURCES): New variable.
37209 (halt_mod_CFLAGS): Likewise.
37210 (halt_mod_LDFLAGS): Likewise.
37211 (reboot_mod_SOURCES): Likewise.
37212 (reboot_mod_CFLAGS): Likewise.
37213 (reboot_mod_LDFLAGS): Likewise.
37214
37215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37216 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37217 reboot.c.
37218 (halt_mod_SOURCES): Likewise.
37219 (reboot_mod_SOURCES): Likewise.
37220
37221 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37222 commands/i386/pc/reboot.c by commands/reboot.c.
37223 (reboot_mod_SOURCES): Likewise.
37224
37225 * commands/i386/pc/reboot.c: merge this file ...
37226
37227 * commands/ieee1275/reboot.c: ... and this file ...
37228
37229 * commands/reboot.c: ... to this file.
37230 Add some precompiler directive to include the correct header for
37231 each machine.
37232
37233 * commands/ieee1275/halt.c: move this file ...
37234
37235 * commands/halt.c: ... to here.
37236 Add some precompiler directive to include the correct header for
37237 each machine.
37238
37239 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37240 (grub_halt): Likewise.
37241
37242 * kern/efi/efi.c (grub_reboot): New function.
37243 (grub_halt): Likewise.
37244
37245 2008-02-12 Robert Millan <rmh@aybabtu.com>
37246
37247 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37248 /dev (like it is done for /dev/mapper). This doesn't provide support
37249 for EVMS, but at least it is now easy to identify the problem when it
37250 arises.
37251
37252 2008-02-11 Robert Millan <rmh@aybabtu.com>
37253
37254 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37255 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37256 comparing it with -1, not 0.
37257
37258 2008-02-10 Robert Millan <rmh@aybabtu.com>
37259
37260 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37261 `disk/lvm.c'.
37262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37263 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37264
37265 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37266 `disk/lvm.c' to the end of the list.
37267 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37268 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37269
37270 2008-02-10 Robert Millan <rmh@aybabtu.com>
37271
37272 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37273 grub_print_error() instead. This will let user know why we're entering
37274 rescue mode.
37275 Based on suggestions from Sam Morris.
37276
37277 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37278
37279 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37280 on remaining N args, instead of "--" arg N times.
37281
37282 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37283
37284 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37285 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37286 pattern for unknown glyphs.
37287
37288 2008-02-09 Robert Millan <rmh@aybabtu.com>
37289
37290 * configure.ac: Probe for `help2man'.
37291 * Makefile.in (builddir): New variable.
37292 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37293 or otherwise add a few flags/options to it.
37294 (install-local): For every executable utility or script that is
37295 installed, invoke $(HELP2MAN) to install a manpage based on --help
37296 output.
37297
37298 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37299 that it doesn't prevent --help from working in build tree.
37300
37301 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37302 with `bug-grub@gnu.org'.
37303 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37304 * util/update-grub.in (usage): New function.
37305 Implement proper argument check, with support for --help and --version
37306 (as well as existing -y).
37307
37308 2008-02-09 Christian Franke <franke@computer.org>
37309
37310 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37311 avoid overwriting previous output.
37312 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37313
37314 2008-02-09 Robert Millan <rmh@aybabtu.com>
37315
37316 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37317 drawing the menu.
37318
37319 2008-02-09 Robert Millan <rmh@aybabtu.com>
37320
37321 * commands/sleep.c: New file.
37322 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37323 (sleep_mod_SOURCES): New variable.
37324 (sleep_mod_CFLAGS): Likewise.
37325 (sleep_mod_LDFLAGS): Likewise.
37326
37327 2008-02-09 Robert Millan <rmh@aybabtu.com>
37328
37329 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37330 situations in which we can deduce the RAID size and the superblock
37331 doesn't match it.
37332
37333 2008-02-09 Robert Millan <rmh@aybabtu.com>
37334
37335 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37336 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37337 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37338
37339 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37340 and return a grub_diskmemberlist_t composed of physical array members.
37341 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37342
37343 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37344 prototype.
37345 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37346 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37347 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37348
37349 * util/grub-probe.c (probe): Move partmap probing code from here ...
37350 (probe_partmap): ... to here.
37351 (probe): Use probe_partmap() once for the disk we're probing, and
37352 additionally, when such disk contains a memberlist() struct member,
37353 once for each disk that is contained in the structure returned by
37354 memberlist().
37355
37356 2008-02-09 Robert Millan <rmh@aybabtu.com>
37357
37358 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37359 environment variable to 'all' in order to obtain debug output from
37360 non-util/ code.
37361 * util/i386/pc/grub-setup.c (main): Likewise.
37362
37363 2008-02-08 Robert Millan <rmh@aybabtu.com>
37364
37365 * disk/raid.c (grub_raid_scan_device): Check for
37366 `array->device[sb.this_disk.number]' rather than for
37367 `array->device[sb.this_disk.number]->name', since the latter is not
37368 guaranteed to be accessible.
37369
37370 2008-02-08 Robert Millan <rmh@aybabtu.com>
37371
37372 * disk/raid.c: Update copyright.
37373 * fs/cpio.c: Likewise.
37374 * include/grub/raid.h: Likewise.
37375 * loader/i386/pc/multiboot.c: Likewise.
37376 * util/hostfs.c: Likewise.
37377
37378 2008-02-08 Robert Millan <rmh@aybabtu.com>
37379
37380 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37381 to a grub_disk_t array.
37382 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37383 `device[x]'.
37384 (grub_raid_scan_device): Replace `device[x].name' accesses with
37385 `device[x]->name'. Simplify initialization of `array->device[x]'.
37386
37387 2008-02-08 Robert Millan <rmh@aybabtu.com>
37388
37389 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37390 grub_dprintf() calls.
37391 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37392 error message.
37393
37394 2008-02-07 Christian Franke <franke@computer.org>
37395
37396 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37397 instead of fseek and ftell to support large files.
37398 (grub_hostfs_read): Likewise.
37399
37400 2008-02-07 Robert Millan <rmh@aybabtu.com>
37401
37402 Patch from Jeroen Dekkers.
37403 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37404 failure, since successfully reading all array members might not be
37405 required.
37406
37407 2008-02-06 Robert Millan <rmh@aybabtu.com>
37408
37409 * util/grub-probe.c (probe): Simplify partmap probing (with the
37410 assumption that the first word up to the underscore equals to
37411 the module name).
37412
37413 2008-02-06 Christian Franke <franke@computer.org>
37414
37415 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37416 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37417 last block of a cpio or tar stream.
37418 Check for "TRAILER!!!" instead of any empty data
37419 block to detect last block of a cpio stream.
37420 (grub_cpio_dir): Fix constness of variable np.
37421 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37422 cpio or tar trailer is detected. This fixes a crash
37423 on open of a non existing file.
37424
37425 2008-02-05 Bean <bean123ch@gmail.com>
37426
37427 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37428 address of entry.
37429 (grub_multiboot_load_elf64): Likewise.
37430 (grub_multiboot): Initialize mbi structure.
37431
37432 * util/grub-fstest.c: Don't include unused header file script.h.
37433
37434 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37435 of file.
37436 (grub_fstest_SOURCES): Likewise.
37437
37438 2008-02-05 Robert Millan <rmh@aybabtu.com>
37439
37440 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37441 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37442 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37443 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37444
37445 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37446 (translation_table): Replace hardcoded values with macros
37447 provided by `<grub/term.h>'.
37448
37449 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37450 (keyboard_map): Correct/add a few values, with macros provided
37451 by `<grub/term.h>'.
37452 (keyboard_map_shift): Zero values that don't differ from their
37453 `keyboard_map' equivalents.
37454 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37455 Discard the second scan code that is always sent by Caps lock.
37456 Only use `keyboard_map_shift' when it provides a non-zero value,
37457 otherwise fallback to `keyboard_map'.
37458
37459 2008-02-04 Bean <bean123ch@gmail.com>
37460
37461 * Makefile.in (enable_grub_fstest): New variable.
37462
37463 * conf/common.rmk (grub_fstest_init.lst): New rule.
37464 (grub_fstest_init.h): Likewise.
37465 (grub_fstest_init.c): Likewise.
37466 (util/grub-fstest.c_DEPENDENCIES): New variable.
37467 (grub_fstest_SOURCES): Likewise.
37468
37469 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37470
37471 * util/grub-fstest.c: New file.
37472
37473 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37474
37475 Make grub-setup handle a separate root device.
37476
37477 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37478 so that the root device can be compared with the destination
37479 device.
37480 When embedding the core image, if the root and destination devices
37481 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37482 0xFF.
37483 When not embedding, set ROOT_DRIVE to 0xFF.
37484
37485 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37486
37487 Add support for having a grub directory in a different drive. This
37488 is still only the data handling part.
37489
37490 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37491 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37492 (grub_root_drive): New variable.
37493
37494 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37495 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37496 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37497 as it was.
37498
37499 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37500
37501 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37502 macro.
37503 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37504
37505 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37506 is bogus, because PXE booting does not specify any drive
37507 correctly.
37508
37509 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37510 am not sure if this is really correct.
37511
37512 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37513 is always identical to the boot drive when booting from a CD.
37514
37515 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37516 longer.
37517 (root_drive): New variable.
37518 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37519 (setup_sectors): Push %dx right after popping it, because %dh will
37520 be modified later.
37521 (copy_buffer): Restore %dx.
37522
37523 2008-02-03 Robert Millan <rmh@aybabtu.com>
37524
37525 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37526 use `cdboot.img' for cdrom images.
37527
37528 2008-02-03 Robert Millan <rmh@aybabtu.com>
37529
37530 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37531 only setup gfxterm when `font' command has succeeded.
37532
37533 2008-02-03 Robert Millan <rmh@aybabtu.com>
37534
37535 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37536 (grub_rescue_cmd_multiboot_loader)
37537 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37538
37539 2008-02-03 Pavel Roskin <proski@gnu.org>
37540
37541 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37542 %edx and %esi from stack only after grub_gate_a20() is called.
37543 grub_gate_a20() clobbers %edx.
37544
37545 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37546
37547 * configure.ac (AC_INIT): Bumped to 1.96.
37548
37549 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37550 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37551 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37552 video/readers/png.c.
37553
37554 2008-02-03 Bean <bean123ch@gmail.com>
37555
37556 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37557 (cdboot_img_SOURCES): New variable.
37558 (cdboot_img_ASFLAGS): New variable.
37559 (cdboot_img_LDFLAGS): New variable.
37560
37561 * boot/i386/pc/cdboot.S: New file.
37562
37563 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37564 (cd_count): Likewise.
37565 (grub_biosdisk_get_drive): Add support for cd device.
37566 (grub_biosdisk_call_hook): Likewise.
37567 (grub_biosdisk_iterate): Likewise.
37568 (grub_biosdisk_open): Likewise.
37569 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37570 (grub_biosdisk_rw): Support reading from cd device.
37571 (GRUB_MOD_INIT): Iterate cd devices.
37572
37573 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37574 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37575 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37576
37577 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37578
37579 2008-02-02 Robert Millan <rmh@aybabtu.com>
37580
37581 * commands/read.c: New file.
37582 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37583 (read_mod_SOURCES): New variable.
37584 (read_mod_CFLAGS): Likewise.
37585 (read_mod_LDFLAGS): Likewise.
37586
37587 2008-02-02 Robert Millan <rmh@aybabtu.com>
37588
37589 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37590 determining whether menu has to be displayed.
37591
37592 2008-02-02 Marco Gerards <marco@gnu.org>
37593
37594 * bus/pci.c: New file.
37595
37596 * include/grub/pci.h: Likewise.
37597
37598 * include/grub/i386/pc/pci.h: Likewise.
37599
37600 * commands/lspci.c: Likewise.
37601
37602 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37603 `lspci.mod'.
37604 (pci_mod_SOURCES): New variable.
37605 (pci_mod_CFLAGS): Likewise.
37606 (pci_mod_LDFLAGS): Likewise.
37607 (lspci_mod_SOURCES): Likewise.
37608 (lspci_mod_CFLAGS): Likewise.
37609 (lspci_mod_LDFLAGS): Likewise.
37610
37611 2008-02-02 Bean <bean123ch@gmail.com>
37612
37613 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37614 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37615
37616 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37617 (grub_xfs_btree_node): New structure.
37618 (grub_xfs_btree_root): New structure.
37619 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37620 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37621 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37622 (GRUB_XFS_EXTENT_SIZE): Likewise.
37623 (grub_xfs_read_block): Support btree format type.
37624 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37625 Use directory block as basic unit.
37626
37627 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37628
37629 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37630 __attribute__ ((__regparm__ (1))).
37631
37632 2008-02-01 Robert Millan <rmh@aybabtu.com>
37633
37634 Correct a mistake in previous commit.
37635
37636 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37637 top.
37638 (normal/command.c_DEPENDENCIES): New variable.
37639
37640 2008-02-01 Robert Millan <rmh@aybabtu.com>
37641
37642 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37643 top.
37644 (normal/command.c_DEPENDENCIES): New variable.
37645 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37646 * conf/i386-ieee1275.rmk: Likewise.
37647 * conf/i386-linuxbios.rmk: Likewise.
37648 * conf/i386-pc.rmk: Likewise.
37649 * conf/sparc64-ieee1275.rmk: Likewise.
37650 * conf/powerpc-ieee1275.rmk: Likewise.
37651 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37652
37653 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37654
37655 2008-02-01 Robert Millan <rmh@aybabtu.com>
37656
37657 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37658 call at beginning of function.
37659
37660 2008-01-31 Pavel Roskin <proski@gnu.org>
37661
37662 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37663 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37664 (grub_mkrescue_SOURCES): Likewise.
37665 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37666
37667 2008-01-30 Robert Millan <rmh@aybabtu.com>
37668
37669 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37670 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37671 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37672 (grub_probe_SOURCES): ... to here.
37673
37674 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37675 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37676 * conf/i386-ieee1275.rmk: Likewise.
37677 * conf/i386-linuxbios.rmk: Likewise.
37678 * conf/powerpc-ieee1275.rmk: Likewise.
37679
37680 2008-01-30 Tristan Gingold <gingold@free.fr>
37681
37682 * kern/rescue.c: Silently accept empty lines.
37683
37684 2008-01-29 Bean <bean123ch@gmail.com>
37685
37686 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37687 (real_code_2): Code cleanup and change comment style.
37688 (move_memory): Avoid using 32-bit address mode.
37689
37690 2008-01-29 Bean <bean123ch@gmail.com>
37691
37692 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37693 (png_mod_SOURCES): New variable.
37694 (png_mod_CFLAGS): Likewise.
37695 (png_mod_LDFLAGS): Likewise.
37696
37697 * video/readers/png.c: New file.
37698
37699 2008-01-28 Robert Millan <rmh@aybabtu.com>
37700
37701 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37702 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37703 `ifndef GRUB_MOD_GAP' hack.
37704 * util/elf/grub-mkimage.c (add_segments): Likewise.
37705
37706 2008-01-27 Robert Millan <rmh@aybabtu.com>
37707
37708 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37709 `GRUB_MOD_GAP' for platforms in which it's not defined.
37710 * util/elf/grub-mkimage.c (add_segments): Likewise.
37711
37712 2008-01-27 Robert Millan <rmh@aybabtu.com>
37713
37714 Get grub-emu to build again (including parallel builds).
37715
37716 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37717 Split into ...
37718 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37719 (normal/execute.c_DEPENDENCIES): ... this, ...
37720 (grub-emu_DEPENDENCIES): ... and this.
37721
37722 * conf/i386-efi.rmk: Likewise.
37723 * conf/i386-linuxbios.rmk: Likewise.
37724 * conf/i386-ieee1275.rmk: Likewise.
37725 * conf/powerpc-ieee1275.rmk: Likewise.
37726 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37727
37728 2008-01-27 Robert Millan <rmh@aybabtu.com>
37729
37730 * NEWS: Add a few items.
37731
37732 2008-01-27 Robert Millan <rmh@aybabtu.com>
37733
37734 Fix parallel builds with grub-emu. Based on earlier commit for
37735 grub-probe and grub-setup.
37736
37737 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37738 (util/grub-emu.c_DEPENDENCIES): ... this.
37739 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37740 (util/grub-emu.c_DEPENDENCIES): ... this.
37741 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37742 (util/grub-emu.c_DEPENDENCIES): ... this.
37743 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37744 (util/grub-emu.c_DEPENDENCIES): ... this.
37745 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37746 (util/grub-emu.c_DEPENDENCIES): ... this.
37747
37748 2008-01-27 Pavel Roskin <proski@gnu.org>
37749
37750 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37751 to create a gap between _end and the modules added to the image
37752 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37753 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37754 * util/elf/grub-mkimage.c (add_segments): Likewise.
37755
37756 2008-01-26 Pavel Roskin <proski@gnu.org>
37757
37758 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37759 just return an error.
37760
37761 2008-01-26 Bean <bean123ch@gmail.com>
37762
37763 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37764 (grub_reiserfs_get_item): Save offset of the next item.
37765 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37766
37767 2008-01-25 Robert Millan <rmh@aybabtu.com>
37768
37769 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37770 make all filesystem sources appear together (possibly fixing omissions
37771 while at it).
37772 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37774 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37776
37777 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37778 add `kern/file.c'.
37779 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37780 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37781 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37782 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37783
37784 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37785 (probe): Add a sanity check to make sure of our ability to read
37786 requested files when probing for filesystem type.
37787
37788 * genmk.rb: Update copyright year (2007).
37789
37790 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37791 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37792 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37793 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37794 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37795 : Remove function prototypes.
37796
37797 2008-01-25 Robert Millan <rmh@aybabtu.com>
37798
37799 Revert my previous commits (based on wrong assumption of how grub_errno
37800 works).
37801
37802 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37803 * kern/file.c (grub_file_open): Likewise.
37804
37805 2008-01-24 Pavel Roskin <proski@gnu.org>
37806
37807 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37808 that hang if GRUB tries to setup colors.
37809 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37810 colors for firmwares that don't support it.
37811 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37812 Recognize Open Hack'Ware, set flags to work around its
37813 limitations.
37814
37815 2008-01-24 Robert Millan <rmh@aybabtu.com>
37816
37817 * kern/file.c (grub_file_open): Do not account previous failures of
37818 unrelated functions when grub_errno is checked for.
37819 Reported by Oleg Strikov.
37820
37821 2008-01-24 Bean <bean123ch@gmail.com>
37822
37823 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37824 (grub_ufs_sblock): New member volume name.
37825 (grub_ufs_find_file): Fix string copy bug.
37826 (grub_ufs_label): Implement this function properly.
37827
37828 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37829 (grub_hfs_iterate_records): Use the correct file number for extents
37830 and catalog file. Fix problem in next index calculation.
37831 (grub_hfs_find_node): Replace recursive function call with loop.
37832 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37833
37834 2008-01-23 Robert Millan <rmh@aybabtu.com>
37835
37836 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37837 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37838 (grub_multiboot2_real_boot): New function prototype.
37839
37840 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37841 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37842
37843 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37844 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37845
37846 2008-01-23 Robert Millan <rmh@aybabtu.com>
37847
37848 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37849 #ifdef'ed out grub_printf().
37850
37851 2008-01-23 Robert Millan <rmh@aybabtu.com>
37852
37853 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37854 grub_dprintf calls, since they make "debug=all" mode unusable.
37855 (grub_console_checkkey): Likewise.
37856
37857 2008-01-23 Robert Millan <rmh@aybabtu.com>
37858
37859 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37860 `term/i386/pc/at_keyboard.c'.
37861 (pkglib_MODULES): Add `serial.mod'.
37862 (serial_mod_SOURCES): New variable.
37863 (serial_mod_CFLAGS): Likewise.
37864 (serial_mod_LDFLAGS): Likewise.
37865
37866 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37867 `<grub/powerpc/ieee1275/console.h>'.
37868 (grub_keyboard_controller_init): New function prototype.
37869 (grub_console_checkkey): Likewise.
37870 (grub_console_getkey): Likewise.
37871
37872 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37873 keyboard on i386.
37874
37875 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37876 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37877
37878 2008-01-23 Robert Millan <rmh@aybabtu.com>
37879
37880 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37881 present, "(memdisk)/boot/grub" becomes the default prefix.
37882
37883 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37884 a memdisk tarball with all the modules. Add --overlay=DIR option that
37885 allows users to overlay additional files into the image.
37886
37887 2008-01-23 Robert Millan <rmh@aybabtu.com>
37888
37889 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37890 and `machine/memory.h'.
37891 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37892 (_multiboot_mod_SOURCES): New variable.
37893 (_multiboot_mod_CFLAGS): Likewise.
37894 (_multiboot_mod_LDFLAGS): Likewise.
37895 (multiboot_mod_SOURCES): Likewise.
37896 (multiboot_mod_CFLAGS): Likewise.
37897 (multiboot_mod_LDFLAGS): Likewise.
37898
37899 * include/grub/i386/ieee1275/loader.h: New file.
37900
37901 * include/grub/i386/ieee1275/machine.h: Likewise.
37902
37903 * include/grub/i386/ieee1275/memory.h: Likewise.
37904
37905 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37906 variable declaration.
37907 (grub_os_area_size): Likewise.
37908
37909 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37910 (grub_lower_mem, grub_upper_mem): New variables.
37911 (grub_stop_floppy): New function (just to make
37912 grub_multiboot2_real_boot() happy).
37913
37914 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37915 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37916 (grub_stop): New function.
37917 Include `"../realmode.S"' and `"../loader.S"'.
37918
37919 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37920 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37921
37922 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37923 rely on grub_multiboot2_real_boot() for final boot.
37924
37925 2008-01-22 Robert Millan <rmh@aybabtu.com>
37926
37927 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37928 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37929 device that doesn't look like an SD card.
37930 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37931 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37932 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37933 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37934 found.
37935
37936 2008-01-22 Robert Millan <rmh@aybabtu.com>
37937
37938 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37939 avoid claiming over our own code.
37940
37941 2008-01-22 Bean <bean123ch@gmail.com>
37942
37943 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37944 (jpeg_mod_SOURCES): New variable.
37945 (jpeg_mod_CFLAGS): Likewise.
37946 (jpeg_mod_LDFLAGS): Likewise.
37947
37948 * video/readers/jpeg.c : New file.
37949
37950 2008-01-22 Bean <bean123ch@gmail.com>
37951
37952 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37953 there are no more items.
37954
37955 2008-01-21 Robert Millan <rmh@aybabtu.com>
37956
37957 * kern/mm.c (grub_mm_init_region): Improve debug message.
37958
37959 2008-01-21 Robert Millan <rmh@aybabtu.com>
37960
37961 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37962 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37963 address.
37964 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37965 a C macro.
37966 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37967 Indicates start of upper memory.
37968 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37969 (generate_image): Abort when image size is big enough to corrupt
37970 upper memory.
37971
37972 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37973 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37974 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37975 instead of hardcoding 0xA0000.
37976 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37977 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37978 instead of hardcoding 0xA0000.
37979
37980 2008-01-21 Robert Millan <rmh@aybabtu.com>
37981
37982 * disk/memdisk.c (memdisk_size): New variable.
37983 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37984 `memdisk_size'.
37985 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37986 image to dynamic memory.
37987 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37988 `memdisk_size'. Free memdisk block.
37989
37990 2008-01-21 Robert Millan <rmh@aybabtu.com>
37991
37992 Fix detection of very small filesystems (like tar).
37993
37994 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37995 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37996 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37997 a problem with this disk).
37998
37999 2008-01-21 Robert Millan <rmh@aybabtu.com>
38000
38001 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38002 on grub_biosdisk_rw_standard() error.
38003
38004 2008-01-21 Robert Millan <rmh@aybabtu.com>
38005
38006 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38007 recent changes.
38008 * kern/elf.c: Likewise.
38009 * kern/ieee1275/ieee1275.c: Likewise.
38010 * kern/powerpc/ieee1275/openfw.c: Likewise.
38011 * term/ieee1275/ofconsole.c: Likewise.
38012
38013 2008-01-21 Robert Millan <rmh@aybabtu.com>
38014
38015 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38016
38017 * include/grub/kernel.h (grub_arch_memdisk_addr)
38018 (grub_arch_memdisk_size): Moved from here ...
38019
38020 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38021 (grub_arch_memdisk_size): ... to here.
38022
38023 2008-01-21 Robert Millan <rmh@aybabtu.com>
38024
38025 Mostly based on bugfix from Bean.
38026
38027 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38028 attribute with hook() parameter.
38029 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38030 declaration.
38031 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38032 attribute with hook() parameter.
38033 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38034 declaration.
38035
38036 2008-01-21 Robert Millan <rmh@aybabtu.com>
38037
38038 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38039 (pkglib_MODULES): Add `memdisk.mod'.
38040 (memdisk_mod_SOURCES): New variable.
38041 (memdisk_mod_CFLAGS): Likewise.
38042 (memdisk_mod_LDFLAGS): Likewise.
38043
38044 * disk/memdisk.c: New file.
38045
38046 * include/grub/disk.h (grub_disk_dev_id): Add
38047 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38048
38049 * include/grub/i386/pc/kernel.h
38050 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38051 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38052 (grub_kernel_image_size): New variable declaration.
38053 (grub_total_module_size): Likewise.
38054 (grub_memdisk_image_size): Likewise.
38055
38056 * include/grub/i386/pc/memory.h
38057 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38058
38059 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38060 (grub_arch_memdisk_addr): New variable declaration.
38061 (grub_arch_memdisk_size): Likewise.
38062
38063 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38064 (grub_arch_memdisk_size): Likewise.
38065
38066 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38067 (codestart): Replace hardcoded `0x100000' with
38068 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38069
38070 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38071 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38072 not NULL, append the contents of the file it refers to, at the end of
38073 the compressed kernel image. Initialize `grub_memdisk_image_size'
38074 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38075 (options): Add "memdisk"|'m' option.
38076 (main): Parse --memdisk|-m option, and pass user-provided path as
38077 parameter to generate_image().
38078
38079 2008-01-20 Robert Millan <rmh@aybabtu.com>
38080
38081 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38082 grub_dprintf() calls from here ...
38083 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38084
38085 2008-01-20 Robert Millan <rmh@aybabtu.com>
38086
38087 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38088
38089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38090 declaration.
38091 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38092 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38093 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38094 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38095 property).
38096 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38097 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38098
38099 2008-01-19 Robert Millan <rmh@aybabtu.com>
38100
38101 Get rid of confusing function (superseded by
38102 `grub_ieee1275_get_integer_property')
38103 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38104 prototype.
38105 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38106 function.
38107 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38108 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38109 in native endianness from grub_ieee1275_get_integer_property().
38110
38111 2008-01-19 Robert Millan <rmh@aybabtu.com>
38112
38113 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38114 command after "shut-down", since implementations differ on which
38115 the command for halt is.
38116
38117 2008-01-19 Robert Millan <rmh@aybabtu.com>
38118
38119 * include/grub/i386/linuxbios/console.h: Add header protection.
38120 (grub_keyboard_controller_init): New function prototype.
38121 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38122 (KEYBOARD_COMMAND_READ): Likewise.
38123 (KEYBOARD_COMMAND_WRITE): Likewise.
38124 (KEYBOARD_SCANCODE_SET1): Likewise.
38125 (grub_keyboard_controller_write): New function.
38126 (grub_keyboard_controller_read): Likewise.
38127 (grub_keyboard_controller_init): Likewise.
38128
38129 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38130 (grub_console_init): On coreboot/LinuxBIOS, call
38131 grub_keyboard_controller_init().
38132
38133 2008-01-19 Robert Millan <rmh@aybabtu.com>
38134
38135 PowerPC changes provided by Pavel Roskin.
38136
38137 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38138 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38139 don't rely on cmain() doing it.
38140 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38141 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38142
38143 2008-01-16 Robert Millan <rmh@aybabtu.com>
38144
38145 * include/grub/i386/linuxbios/memory.h
38146 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38147 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38148 receive `table_header' as argument. Instead, probe for it in the
38149 known memory ranges where it can be present.
38150 (grub_available_iterate): Do not pass a fixed `table_header' address
38151 to grub_linuxbios_table_iterate().
38152
38153 2008-01-15 Robert Millan <rmh@aybabtu.com>
38154
38155 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38156 * conf/i386-ieee1275.rmk: New file.
38157 * include/grub/i386/ieee1275/console.h: Likewise.
38158 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38159 * include/grub/i386/ieee1275/kernel.h: Likewise.
38160 * include/grub/i386/ieee1275/time.h: Likewise.
38161 * kern/i386/ieee1275/init.c: Likewise.
38162 * kern/i386/ieee1275/startup.S: Likewise.
38163
38164 2008-01-15 Robert Millan <rmh@aybabtu.com>
38165
38166 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38167 when pointers are 32-bit (but still do set it to one when they are
38168 64-bit).
38169
38170 2008-01-15 Robert Millan <rmh@aybabtu.com>
38171
38172 * include/grub/ieee1275/ieee1275.h
38173 (grub_ieee1275_get_integer_property): New function prototype.
38174
38175 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38176 (grub_ieee1275_get_integer_property): New function. Wraps around
38177 grub_ieee1275_get_property() to handle endianness.
38178
38179 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38180 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38181 where appropriate.
38182 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38183 (grub_map): Likewise.
38184 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38185
38186 2008-01-15 Bean <bean123ch@gmail.com>
38187
38188 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38189 (grub_script_execute_cmdline): Reset grub_errno.
38190
38191 * normal/main.c (read_config_file): Reset grub_errno.
38192
38193 * normal/parse.y (script_init): New.
38194 (script): Move function and menuentry here.
38195 (delimiter): New.
38196 (command): Add delimiter at the end of command.
38197 (commands): Adjust to match the new command.
38198 (commandblock): Remove grub_script_lexer_record_start.
38199 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38200 (if): Use the new commands.
38201
38202 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38203
38204 2008-01-15 Robert Millan <rmh@aybabtu.com>
38205
38206 * normal/menu.c (run_menu): Move timeout message from here ...
38207 (print_timeout): ... to here.
38208 (run_menu): Use print_timeout() once during initial draw to print
38209 the whole message, and again in every clock tick to update only
38210 the number of seconds.
38211
38212 2008-01-15 Robert Millan <rmh@aybabtu.com>
38213
38214 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38215 actual size of `available' from grub_ieee1275_get_property(), and
38216 restrict parsing to that bound.
38217
38218 2008-01-15 Christian Franke <franke@computer.org>
38219
38220 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38221 (argp_program_version): Remove variable.
38222 (argp_program_bug_address): Likewise.
38223 (options): Convert from struct argp_option to struct option.
38224 (struct arguments): Remove.
38225 (parse_opt): Remove.
38226 (usage): New function.
38227 (main): Replace struct args members by simple variables.
38228 Replace argp_parse() by getopt_long().
38229 Add switch to evaluate options.
38230 Add missing "(...)" around root_dev in prefix string.
38231
38232 2008-01-14 Robert Millan <rmh@aybabtu.com>
38233
38234 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38235 for grub_ieee1275_exit(), in order to improve portability.
38236
38237 2008-01-14 Robert Millan <rmh@aybabtu.com>
38238
38239 * util/grub.d/10_linux.in (prefix): Define.
38240 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38241
38242 2008-01-13 Pavel Roskin <proski@gnu.org>
38243
38244 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38245 grub_errno if no errors have been detected.
38246
38247 2008-01-12 Robert Millan <rmh@aybabtu.com>
38248
38249 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38250 (grub_util_get_dev_abstraction): New function prototype.
38251
38252 * util/getroot.c: Include `<grub/util/getroot.h>'
38253 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38254 (grub_util_get_dev_abstraction): ... here (new function).
38255
38256 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38257 `PRINT_ABSTRACTION'.
38258 (probe): Probe for abstraction type when requested.
38259 (main): Understand `--target=abstraction'.
38260
38261 * util/i386/efi/grub-install.in: Add abstraction module to core
38262 image when it is found to be necessary.
38263 * util/i386/pc/grub-install.in: Likewise.
38264 * util/powerpc/ieee1275/grub-install.in: Likewise.
38265
38266 * util/update-grub_lib.in (font_path): Return system path without
38267 converting to GRUB path.
38268 * util/update-grub.in: Convert system path returned by font_path()
38269 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38270 abstraction module is needed for loading fonts (if any). Export
38271 that as `GRUB_PRELOAD_MODULES'.
38272 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38273 insmod commands).
38274
38275 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38276
38277 Remove some unused code from reiserfs.
38278
38279 * fs/reiserfs.c (struct grub_reiserfs_key)
38280 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38281 (struct grub_reiserfs_node_body): Removed.
38282 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38283 Likewise.
38284 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38285 Likewise.
38286 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38287 Likewise.
38288 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38289 Likewise.
38290 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38291 Likewise.
38292 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38293 Likewise.
38294 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38295 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38296 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38297
38298 2008-01-10 Robert Millan <rmh@aybabtu.com>
38299
38300 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38301 Determines if a file is garbage left by packaging systems, etc.
38302 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38303 for processing /etc/grub.d scripts.
38304 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38305 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38306 as a condition for processing Linux images.
38307
38308 2008-01-10 Pavel Roskin <proski@gnu.org>
38309
38310 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38311 to compile reiserfs.c on PowerPC.
38312
38313 2008-01-10 Robert Millan <rmh@aybabtu.com>
38314
38315 * kern/device.c (grub_device_iterate): Do not abort device iteration
38316 when one of the devices cannot be opened.
38317 * kern/disk.c (grub_disk_open): Do not account previous failures of
38318 unrelated functions when grub_errno is checked for.
38319
38320 2008-01-08 Robert Millan <rmh@aybabtu.com>
38321
38322 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38323 `! grub_linux_is_bzimage', change order of address comparison to make
38324 it more intuitive, and improve "too big zImage" error message.
38325
38326 2008-01-08 Robert Millan <rmh@aybabtu.com>
38327
38328 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38329 `$(update-grub_DATA)'.
38330 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38331 targets.
38332
38333 2008-01-07 Robert Millan <rmh@aybabtu.com>
38334
38335 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38336 which instruction is modified by grub-setup during installation
38337 (since it wasn't obvious by only looking at this file).
38338
38339 2008-01-07 Robert Millan <rmh@aybabtu.com>
38340
38341 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38342 listing actual TODO items.
38343
38344 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38345
38346 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38347 correctly.
38348 (grub_reiserfs_get_key_offset): Likewise.
38349 (grub_reiserfs_set_key_offset): Likewise.
38350 (grub_reiserfs_set_key_type): Likewise.
38351 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38352
38353 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38354 better to remove the bitfield version completely.
38355
38356 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38357
38358 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38359 allocated from the heap, due to the fshelp implementation.
38360 (grub_reiserfs_dir): Free NODE, due to the same reason.
38361
38362 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38363
38364 Mostly from Vincent Pelletier:
38365
38366 * fs/reiserfs.c: New file.
38367
38368 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38369 (reiserfs_mod_SOURCES): New variable.
38370 (reiserfs_mod_CFLAGS): Likewise.
38371 (reiserfs_mod_LDFLAGS): Likewise.
38372
38373 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38374 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38375 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38376 normal/color.c.
38377
38378 2008-01-06 Robert Millan <rmh@aybabtu.com>
38379
38380 * normal/color.c: Remove `<grub/env.h>'.
38381
38382 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38383
38384 * include/grub/normal.h: Include <grub/env.h>.
38385
38386 2008-01-05 Robert Millan <rmh@aybabtu.com>
38387
38388 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38389 usage example with `(hd0,1)'.
38390 Reported by Samuel Thibault.
38391
38392 2008-01-05 Robert Millan <rmh@aybabtu.com>
38393
38394 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38395 (grub_linux_boot_zimage): Rename to ...
38396 (grub_linux_boot): ... this.
38397 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38398 (grub_linux_boot_zimage): Conditionalize zImage copy.
38399
38400 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38401 (grub_linux_boot_bzimage): Remove prototype.
38402 (grub_linux_boot_zimage): Rename to ...
38403 (grub_linux_boot): ... this.
38404
38405 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38406 (grub_linux_boot): Remove function.
38407
38408 2008-01-05 Robert Millan <rmh@aybabtu.com>
38409
38410 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38411 (grub_env_write_color_highlight): Likewise.
38412 (grub_wait_after_message): Likewise.
38413
38414 * normal/color.c: New file.
38415
38416 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38417 (normal_mod_DEPENDENCIES): Likewise.
38418
38419 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38420 (normal_mod_DEPENDENCIES): Likewise.
38421
38422 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38423 (normal_mod_DEPENDENCIES): Likewise.
38424
38425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38426 (normal_mod_DEPENDENCIES): Likewise.
38427
38428 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38429 for waiting after a message is printed.
38430 * normal/main.c (read_config_file): Likewise.
38431 (grub_normal_init): Register grub_env_write_color_normal() and
38432 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38433 `color_highlight' variables as global.
38434
38435 * normal/menu.c (grub_wait_after_message): New function.
38436 (grub_color_menu_normal): New variable. Replaces ...
38437 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38438 (grub_color_menu_highlight): New variable. Replaces ...
38439 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38440 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38441 `GRUB_TERM_COLOR_STANDARD'.
38442 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38443 `normal_code' and `highlight_code' to `old_color_normal' and
38444 `old_color_highlight', respectively.
38445 (grub_menu_init_page): Update colors when drawing the menu, based on
38446 `menu_color_normal' and `menu_color_highlight' variables.
38447 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38448 a message is printed.
38449
38450 2008-01-05 Robert Millan <rmh@aybabtu.com>
38451
38452 * kern/env.c (grub_env_context_open): Propagate hooks for global
38453 variables to new context.
38454
38455 * kern/main.c (grub_set_root_dev): Export `root' variable.
38456
38457 2008-01-05 Robert Millan <rmh@aybabtu.com>
38458
38459 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38460 discs unconditionally, since udev and others have options to provide
38461 them.
38462
38463 2008-01-05 Robert Millan <rmh@aybabtu.com>
38464
38465 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38466
38467 2008-01-04 Christian Franke <franke@computer.org>
38468
38469 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38470 of eisa_mmap.
38471
38472 2008-01-03 Pavel Roskin <proski@gnu.org>
38473
38474 * kern/i386/linuxbios/init.c: Put "void" to all function
38475 declarations with no arguments.
38476 * kern/powerpc/ieee1275/init.c: Likewise.
38477 * term/i386/pc/at_keyboard.c: Likewise.
38478 * term/i386/pc/vga_text.c: Likewise.
38479 * util/grub-mkdevicemap.c: Likewise.
38480
38481 2008-01-02 Robert Millan <rmh@aybabtu.com>
38482
38483 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38484 message when loaded image is out of bounds.
38485 (grub_multiboot_load_elf64): Likewise.
38486
38487 2008-01-02 Pavel Roskin <proski@gnu.org>
38488
38489 * util/grub.d/10_linux.in: Try version without ".old" when
38490 looking for initrd. It's better to use initrd from the newer
38491 kernel of the same version than no initrd at all.
38492
38493 2008-01-01 Robert Millan <rmh@aybabtu.com>
38494
38495 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38496
38497 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38498
38499 * include/grub/video.h: Added grub_video_unmap_color and
38500 grub_video_get_active_render_target.
38501 (grub_video_adapter): Added unmap_color and get_active_render_target.
38502
38503 * video/video.c: Added grub_video_unmap_color and
38504 grub_video_get_active_render_target.
38505 (grub_video_get_info): Changed method to accept NULL pointer as an
38506 argument to allow detection of active video adapter.
38507
38508 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38509 grub_video_vbe_unmap_color_int.
38510 Added grub_video_vbe_unmap_color and
38511 grub_video_vbe_get_active_render_target.
38512 (grub_video_vbe_adapter): Added unmap_color and
38513 get_active_render_target.
38514
38515 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38516 with grub_video_vbe_unmap_color_int.
38517
38518 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38519 (DEFAULT_NORMAL_COLOR): Likewise.
38520 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38521 (DEFAULT_FG_COLOR): Removed.
38522 (DEFAULT_BG_COLOR): Likewise.
38523 (DEFAULT_CURSOR_COLOR): Changed value.
38524 (grub_virtual_screen): Added standard_color_setting,
38525 normal_color_setting, highlight_color_setting and term_color.
38526 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38527 (bitmap_width): Added.
38528 (bitmap_height): Likewise.
38529 (bitmap): Likewise.
38530 (set_term_color): Likewise.
38531 (grub_virtual_screen_setup): Changed to use new terminal coloring
38532 settings.
38533 (grub_gfxterm_init): Added init for bitmap.
38534 (grub_gfxterm_fini): Added destroy for bitmap.
38535 (redraw_screen_rect): Updated to use background bitmap and new
38536 terminal coloring.
38537 (scroll_up): Added optimization for case when there is no bitmap.
38538 (grub_gfxterm_cls): Fixed to use correct background color.
38539 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38540 coloring.
38541 (grub_virtual_screen_setcolor): Likewise.
38542 (grub_virtual_screen_getcolor): Added.
38543 (grub_gfxterm_background_image_cmd): Likewise.
38544 (grub_video_term): Added setcolor and getcolor.
38545 (MOD_INIT): Added registration of background_image command.
38546 (MOD_TERM): Added unregistration for background_image command.
38547
38548 2007-12-30 Pavel Roskin <proski@gnu.org>
38549
38550 * loader/multiboot_loader.c: Fix multiboot command
38551 unregistration. Fix all typos in the word "multiboot".
38552
38553 2007-12-29 Pavel Roskin <proski@gnu.org>
38554
38555 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38556 support for initrd names used in Fedora.
38557
38558 2007-12-26 Bean <bean123ch@gmail.com>
38559
38560 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38561 (cpio_mod_SOURCES): New variable.
38562 (cpio_mod_CFLAGS): Likewise.
38563 (cpio_mod_LDFLAGS): Likewise.
38564
38565 * fs/cpio.c: New file.
38566
38567 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38568
38569 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38570
38571 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38572
38573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38574
38575 2007-12-25 Robert Millan <rmh@aybabtu.com>
38576
38577 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38578 (grub_getcolor): New function.
38579
38580 * kern/term.c (grub_getcolor): New function.
38581 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38582 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38583 (print_entry): Set normal and highlight colors to
38584 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38585 respectively, before printing and restore them to old
38586 values afterwards.
38587 (grub_menu_init_page): Likewise. Fill an additional colored space
38588 that would otherwise be left blank.
38589
38590 * term/efi/console.c (grub_console_getcolor): New function.
38591 (struct grub_console_term.getcolor): New variable.
38592 * term/i386/pc/console.c (grub_console_getcolor): New function.
38593 (struct grub_console_term.getcolor): New variable.
38594 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38595 (struct grub_console_term.getcolor): New variable.
38596
38597 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38598 (struct grub_console_term.setcolor): Remove variable.
38599 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38600 (struct grub_console_term.setcolor): Remove variable.
38601 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38602 (struct grub_console_term.setcolor): Remove variable.
38603 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38604 (struct grub_console_term.setcolor): Remove variable.
38605
38606 2007-12-25 Robert Millan <rmh@aybabtu.com>
38607
38608 * configure.ac: Search for possible unifont.hex locations, and
38609 define UNIFONT_HEX if found.
38610
38611 * Makefile.in (UNIFONT_HEX): Define variable.
38612 (DATA): Rename to ...
38613 (PKGLIB): ... this. Update all users.
38614 (PKGDATA): New variable.
38615 (pkgdata_IMAGES): Rename to ...
38616 (pkglib_IMAGES): ... this. Update all users.
38617 (pkgdata_MODULES): Rename to ...
38618 (pkglib_MODULES): ... this. Update all users.
38619 (pkgdata_PROGRAMS): Rename to ...
38620 (pkglib_PROGRAMS): ... this. Update all users.
38621 (pkgdata_DATA): Rename to ...
38622 (pkglib_DATA): ... this. Update all users.
38623 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38624 (unicode.pff, ascii.pff): New rules.
38625 (all-local): Add `$(PKGDATA)' dependency.
38626 (install-local): Process `$(PKGDATA)'.
38627
38628 * util/update-grub_lib.in (font_path): Search for *.pff files in
38629 a few more locations, including `${pkgdata}'.
38630
38631 2007-12-23 Robert Millan <rmh@aybabtu.com>
38632
38633 Patch from Bean <bean123ch@gmail.com>:
38634 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38635 `size'.
38636
38637 2007-12-21 Bean <bean123ch@gmail.com>
38638
38639 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38640 (ntfscomp_mod_SOURCES): New variable.
38641 (ntfscomp_mod_CFLAGS): Likewise.
38642 (ntfscomp_mod_LDFLAGS): Likewise.
38643
38644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38645 (grub_probe_SOURCES): Likewise.
38646 (grub_emu_SOURCES): Likewise.
38647
38648 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38649 (grub_emu_SOURCES): Likewise.
38650
38651 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38652 (grub_emu_SOURCES): Likewise.
38653
38654 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38655 (grub_emu_SOURCES): Likewise.
38656
38657 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38658 (read_run_list): Renamed to grub_ntfs_read_run_list.
38659 (decomp_nextvcn): Moved to ntfscomp.c.
38660 (decomp_getch): Likewise.
38661 (decomp_get16): Likewise.
38662 (decomp_block): Likewise.
38663 (read_block): Likewise.
38664 (read_data): Partially moved to ntfscomp.c.
38665 (fixup): Change unsigned to grub_uint16_t.
38666 (read_mft): Change unsigned long to grub_uint32_t.
38667 (read_attr): Likewise.
38668 (read_data): Likewise.
38669 (read_run_data): Likewise.
38670 (read_run_list): Likewise.
38671 (read_mft): Likewise.
38672
38673 * fs/ntfscomp.c: New file.
38674
38675 * include/grub/ntfs.h: New file.
38676
38677 2007-12-16 Robert Millan <rmh@aybabtu.com>
38678
38679 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38680 IDE disk check, since Linux is known to support 20 IDE disks.
38681 Reported by Colin Watson.
38682
38683 2007-12-15 Bean <bean123ch@gmail.com>
38684
38685 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38686 (lnxboot_img_SOURCES): New variable.
38687 (lnxboot_img_ASFLAGS): Likewise.
38688 (lnxboot_img_LDFLAGS): Likewise.
38689
38690 * boot/i386/pc/lnxboot.S: New file.
38691
38692 2007-11-24 Pavel Roskin <proski@gnu.org>
38693
38694 * configure.ac: Test if '--build-id=none' is supported by the
38695 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38696 objcopy to generate incorrect binary files (binutils
38697 2.17.50.0.18-1 as shipped by Fedora 8).
38698 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38699 linking, so that build ID doesn't break the test.
38700
38701 2007-11-24 Pavel Roskin <proski@gnu.org>
38702
38703 * include/grub/i386/time.h: use "void" in the argument list
38704 of grub_cpu_idle().
38705 * include/grub/powerpc/time.h: Likewise.
38706 * include/grub/sparc64/time.h: Likewise.
38707
38708 2007-11-18 Christian Franke <franke@computer.org>
38709
38710 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38711 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38712 This fixes the problem that function keys did not work in grub-emu.
38713
38714 2007-11-18 Christian Franke <franke@computer.org>
38715
38716 * disk/host.c (grub_host_open): Remove attribute unused from
38717 name parameter. Add check for "host". This fixes the problem
38718 that grub-emu does not find partitions.
38719
38720 2007-11-18 Christian Franke <franke@computer.org>
38721
38722 * util/hostfs.c (is_dir): New function.
38723 (grub_hostfs_dir): Handle missing dirent.d_type case.
38724 (grub_hostfs_read): Add missing fseek().
38725 (grub_hostfs_label): Clear label pointer. This fixes a crash
38726 of grub-emu on "ls (host)".
38727
38728 2007-11-18 Christian Franke <franke@computer.org>
38729
38730 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38731 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38732 to 64 bit boundary by default.
38733
38734 2007-11-18 Bean <bean123ch@gmail.com>
38735
38736 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38737 (hexdump_mod_SOURCES): New variable.
38738 (hexdump_mod_CFLAGS): Likewise.
38739 (hexdump_mod_LDFLAGS): Likewise.
38740
38741 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38742
38743 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38744
38745 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38746
38747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38748
38749 * include/grub/hexdump.h: New file.
38750
38751 * commands/hexdump.c: New file.
38752
38753 2007-11-10 Robert Millan <rmh@aybabtu.com>
38754
38755 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38756 in grub_outb() calls.
38757 (beep_on): Likewise.
38758
38759 2007-11-10 Christian Franke <franke@computer.org>
38760
38761 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38762 (grub_menu_run): Likewise.
38763
38764 2007-11-10 Robert Millan <rmh@aybabtu.com>
38765
38766 * include/grub/i386/efi/machine.h: New file.
38767 * include/grub/i386/linuxbios/machine.h: Likewise.
38768 * include/grub/i386/pc/machine.h: Likewise.
38769 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38770 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38771
38772 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38773 (serial_hw_io_addr): New variable.
38774 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38775 instead of `(unsigned short *) 0x400'.
38776
38777 2007-11-10 Bean <bean123ch@gmail.com>
38778
38779 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38780
38781 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38782
38783 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38784 (vga_mod_SOURCES): Added.
38785 (vga_mod_CFLAGS): Likewise.
38786 (vga_mod_LDFLAGS): Likewise.
38787
38788 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38789 grub_outb() calls.
38790 (set_map_mask): Likewise.
38791 (set_read_map): Likewise.
38792 (set_read_address): Likewise.
38793 (vga_font): Removed variable.
38794 (get_vga_glyph): Removed function.
38795 (invalidate_char): Likewise.
38796 (write_char): Changed to use grub_font_get_glyph() for font
38797 information.
38798 (grub_vga_putchar): Likewise.
38799 (grub_vga_getcharwidth): Likewise.
38800
38801 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38802
38803 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38804 flags.
38805 (pxeboot_img_LDFLAGS): Likewise.
38806 (diskboot_img_LDFLAGS): Likewise.
38807 (kernel_img_LDFLAGS): Likewise.
38808
38809 2007-11-06 Robert Millan <rmh@aybabtu.com>
38810
38811 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38812 in grub_outb() calls.
38813 (serial_hw_init): Likewise.
38814
38815 2007-11-05 Robert Millan <rmh@aybabtu.com>
38816
38817 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38818 spaces. Skip non-regular files.
38819
38820 2007-11-05 Robert Millan <rmh@aybabtu.com>
38821
38822 * kern/disk.c (grub_disk_firmware_fini)
38823 (grub_disk_firmware_is_tainted): New variables.
38824
38825 * include/grub/disk.h (grub_disk_firmware_fini)
38826 (grub_disk_firmware_is_tainted): Likewise.
38827
38828 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38829 (grub_disk_biosdisk_fini): ... to here.
38830 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38831 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38832 is set. Register grub_disk_biosdisk_fini() in
38833 `grub_disk_firmware_fini'.
38834
38835 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38836 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38837 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38838 to finish existing firmware disk interface.
38839
38840 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38841 (ata_mod_SOURCES): New variable.
38842 (ata_mod_CFLAGS): Likewise.
38843 (ata_mod_LDFLAGS): Likewise.
38844
38845 2007-11-05 Robert Millan <rmh@aybabtu.com>
38846
38847 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38848 (grub_ata_wait): Reimplement using grub_millisleep().
38849
38850 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38851 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38852
38853 2007-11-03 Marco Gerards <marco@gnu.org>
38854
38855 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38856 (CRTC_ADDR_PORT): New macro.
38857 (CRTC_DATA_PORT): Likewise.
38858 (CRTC_CURSOR): Likewise.
38859 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38860 (CRTC_CURSOR_ADDR_LOW): Likewise.
38861 (update_cursor): New function.
38862 (grub_console_real_putchar): Call `update_cursor'.
38863 (grub_console_gotoxy): Likewise.
38864 (grub_console_cls): Set the default color when clearing the
38865 screen.
38866 (grub_console_setcursor): Implemented.
38867
38868 2007-11-03 Marco Gerards <marco@gnu.org>
38869
38870 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38871 become activate.
38872 (grub_ata_pio_write): Likewise.
38873
38874 (grub_atapi_identify): Wait after issuing an ATA command.
38875 (grub_atapi_packet): Likewise.
38876 (grub_ata_identify): Likewise.
38877 (grub_ata_readwrite): Likewise.
38878
38879 2007-11-03 Marco Gerards <marco@gnu.org>
38880
38881 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38882 (grub_ata_pio_write): Likewise.
38883 (grub_ata_readwrite): Use `grub_error', instead of
38884 returning `grub_errno'.
38885
38886 2007-11-03 Marco Gerards <marco@gnu.org>
38887
38888 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38889 grub_ata_pio_write once for every single sector, instead of for
38890 multiple sectors.
38891
38892 2007-10-31 Robert Millan <rmh@aybabtu.com>
38893
38894 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38895
38896 * conf/i386-linuxbios.rmk: New file.
38897
38898 * kern/i386/pc/hardware.c: Likewise.
38899 * term/i386/pc/at_keyboard.c: Likewise.
38900 * term/i386/pc/vga_text.c: Likewise.
38901
38902 * include/grub/i386/linuxbios/boot.h: Likewise.
38903 * include/grub/i386/linuxbios/console.h: Likewise.
38904 * include/grub/i386/linuxbios/init.h: Likewise.
38905 * include/grub/i386/linuxbios/kernel.h: Likewise.
38906 * include/grub/i386/linuxbios/loader.h: Likewise.
38907 * include/grub/i386/linuxbios/memory.h: Likewise.
38908 * include/grub/i386/linuxbios/serial.h: Likewise.
38909 * include/grub/i386/linuxbios/time.h: Likewise.
38910
38911 * kern/i386/linuxbios/init.c: Likewise.
38912 * kern/i386/linuxbios/startup.S: Likewise.
38913 * kern/i386/linuxbios/table.c: Likewise.
38914
38915 2007-10-31 Marco Gerards <marco@gnu.org>
38916
38917 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38918 (ata_mod_SOURCES): New variable.
38919 (ata_mod_CFLAGS): Likewise.
38920 (ata_mod_LDFLAGS): Likewise.
38921
38922 * disk/ata.c: New file.
38923
38924 * include/grub/disk.h (grub_disk_dev_id): Add
38925 `GRUB_DISK_DEV_ATA_ID'.
38926
38927 2007-10-31 Robert Millan <rmh@aybabtu.com>
38928
38929 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38930 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38931
38932 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38933 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38934
38935 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38936 `<grub/types.h>'.
38937
38938 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38939
38940 2007-10-27 Robert Millan <rmh@aybabtu.com>
38941
38942 * include/grub/types.h (ULONG_MAX): Define macro.
38943
38944 2007-10-22 Robert Millan <rmh@aybabtu.com>
38945
38946 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38947 `"../realmode.S"'.
38948 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38949
38950 2007-10-22 Robert Millan <rmh@aybabtu.com>
38951
38952 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38953 (pkgdata_MODULES): Add `biosdisk.mod'.
38954 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38955 variables.
38956
38957 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38958 (grub_biosdisk_init): Replace with ...
38959 (GRUB_MOD_INIT(biosdisk)): ... this.
38960 (grub_biosdisk_fini): Replace with ...
38961 (GRUB_MOD_FINI(biosdisk)): ... this.
38962
38963 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38964 (grub_machine_init): Remove call to grub_biosdisk_init().
38965 (grub_machine_fini): Remove call to grub_machine_fini().
38966
38967 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38968
38969 2007-10-22 Robert Millan <rmh@aybabtu.com>
38970
38971 * include/grub/time.h: New file.
38972 * include/grub/i386/time.h: Likewise.
38973 * include/grub/powerpc/time.h: Likewise.
38974 * include/grub/sparc64/time.h: Likewise.
38975
38976 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38977 instances to ...
38978 (KERNEL_MACHINE_TIME_HEADER): ... this.
38979 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38980 instances to ...
38981 (KERNEL_MACHINE_TIME_HEADER): ... this.
38982 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38983 instances to ...
38984 (KERNEL_MACHINE_TIME_HEADER): ... this.
38985
38986 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38987 (grub_millisleep): New function.
38988 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38989 (grub_millisleep): New function.
38990 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38991 Remove `grub/machine/time.h' include.
38992 (grub_millisleep): New function.
38993 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38994 Remove `grub/machine/time.h' include.
38995 (grub_millisleep): New function.
38996
38997 * include/grub/misc.h (grub_div_roundup): New function.
38998
38999 * kern/misc.c: Include `<grub/time.h>'.
39000 (grub_millisleep_generic): New function.
39001
39002 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39003 Add `time.h'.
39004 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39005 Add `time.h'.
39006 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39007 `machine/time.h'. Add `time.h'.
39008 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39009
39010 2007-10-21 Robert Millan <rmh@aybabtu.com>
39011
39012 * include/grub/misc.h (grub_max): New function.
39013
39014 2007-10-21 Robert Millan <rmh@aybabtu.com>
39015
39016 * util/misc.c (grub_util_info): Call fflush() before returning.
39017
39018 2007-10-20 Robert Millan <rmh@aybabtu.com>
39019
39020 * genmk.rb (Image): Copy `extra_flags' from here ...
39021 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39022
39023 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39024 to `argc' and `args' arguments.
39025
39026 2007-10-17 Robert Millan <rmh@aybabtu.com>
39027
39028 * kern/i386/loader.S: New file.
39029
39030 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39031 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39032 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39033 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39034 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39035 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39036 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39037 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39038 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39039 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39040 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39041 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39042 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39043 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39044
39045 * kern/i386/realmode.S: New file.
39046
39047 * kern/i386/pc/startup.S (protstack): Moved from here ...
39048 * kern/i386/realmode.S (protstack)... to here.
39049 * kern/i386/pc/startup.S (gdt): Moved from here ...
39050 * kern/i386/realmode.S (gdt)... to here.
39051 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39052 * kern/i386/realmode.S (prot_to_real)... to here.
39053
39054 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39055 `kern/i386/realmode.S'.
39056
39057 2007-10-17 Robert Millan <rmh@aybabtu.com>
39058
39059 * include/grub/i386/loader.h: New file.
39060
39061 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39062 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39063 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39064 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39065 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39066 * include/grub/i386/loader.h (grub_linux_prot_size)
39067 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39068 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39069 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39070 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39071
39072 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39073
39074 2007-10-15 Robert Millan <rmh@aybabtu.com>
39075
39076 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39077 filesystem when dev->disk is unset.
39078 Do probe for filesystem even when dev->disk->has_partitions is set.
39079 In case a filesystem is found, always report it.
39080 In case it isn't, if dev->disk->has_partitions is set, report that
39081 a partition table was found instead of reporting that no filesystem
39082 could be identified.
39083
39084 2007-10-12 Robert Millan <rmh@aybabtu.com>
39085
39086 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39087 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39088
39089 * include/grub/types.h (grub_host_to_target16): New macro.
39090 (grub_host_to_target32): Likewise.
39091 (grub_host_to_target64): Likewise.
39092 (grub_target_to_host16): Likewise.
39093 (grub_target_to_host32): Likewise.
39094 (grub_target_to_host64): Likewise.
39095
39096 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39097 Renamed from to ...
39098 (GRUB_MOD_ALIGN): ...this. Update all users.
39099
39100 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39101 grub_host_to_target32.
39102 Replace grub_be_to_cpu32 with grub_target_to_host32.
39103 (load_modules): Likewise.
39104 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39105 Replace grub_be_to_cpu32 with grub_target_to_host32.
39106 Replace grub_cpu_to_be16 with grub_host_to_target16.
39107 Replace grub_cpu_to_be32 grub_host_to_target32.
39108
39109 2007-10-12 Robert Millan <rmh@aybabtu.com>
39110
39111 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39112 * util/elf/grub-mkimage.c: ... here.
39113
39114 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39115 `util/powerpc/ieee1275/grub-mkimage.c'.
39116
39117 2007-10-07 Robert Millan <rmh@aybabtu.com>
39118
39119 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39120 and make it easier to figure out.
39121 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39122 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39123 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39124 leave us with less than HEAP_MIN_SIZE total heap.
39125 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39126
39127 2007-10-03 Robert Millan <rmh@aybabtu.com>
39128
39129 * include/grub/i386/io.h: New file.
39130 * commands/i386/pc/play.c (inb): Removed.
39131 (outb): Removed.
39132 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39133 with grub_outb().
39134 * term/i386/pc/serial.c (inb): Removed.
39135 (outb): Removed.
39136 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39137 with grub_outb().
39138 * term/i386/pc/vga.c (inb): Removed.
39139 (outb): Removed.
39140 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39141 with grub_outb().
39142
39143 2007-10-02 Robert Millan <rmh@aybabtu.com>
39144
39145 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39147 Reported by Marcin Kurek.
39148
39149 2007-09-07 Robert Millan <rmh@aybabtu.com>
39150
39151 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39152 SmartFirmware version updates (as released by Sven Luther), and avoid
39153 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39154 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39155 known broken.
39156
39157 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39158
39159 From Hitoshi Ozeki:
39160 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39161 when merging two regions.
39162
39163 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39164
39165 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39166 * normal/completion.c (grub_normal_do_completion): Likewise.
39167 Reported by Hitoshi Ozeki.
39168
39169 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39170
39171 Do not use devices at boot in chainloading.
39172
39173 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39174 (boot_part_addr): Likewise.
39175 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39176 with BOOT_DRIVE and BOOT_PART_ADDR.
39177 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39178 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39179
39180 2007-08-29 Robert Millan <rmh@aybabtu.com>
39181
39182 Patch from Simon Peter <dn.tlp@gmx.net>:
39183 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39184 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39185 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39186 util/i386/pc/grub-setup.c_DEPENDENCIES.
39187 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39188 util/grub-probe.c_DEPENDENCIES.
39189 * conf/powerpc-ieee1275.rmk: Likewise.
39190
39191 2007-08-28 Robert Millan <rmh@aybabtu.com>
39192
39193 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39194 to tell grub-mkdevicemap how to name devices.
39195 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39196 feature).
39197
39198 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39199 util/i386/get_disk_name.c.
39200 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39201 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39202 util/ieee1275/get_disk_name.c.
39203
39204 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39205
39206 * DISTLIST: Add util/i386/get_disk_name.c and
39207 util/ieee1275/get_disk_name.c.
39208
39209 * util/grub-mkdevicemap.c: Replace device naming logic with
39210 grub_util_get_disk_name() calls.
39211
39212 2007-08-20 Robert Millan <rmh@aybabtu.com>
39213
39214 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39215 (so that it works for both plural and singular quantities).
39216
39217 2007-08-05 Robert Millan <rmh@aybabtu.com>
39218
39219 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39220 so that [xz] isn't taken into account when determining order.
39221
39222 2007-08-02 Marco Gerards <marco@gnu.org>
39223
39224 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39225 `include/multiboot2.h', `include/grub/elfload.h',
39226 `include/multiboot.h', `include/grub/multiboot.h',
39227 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39228 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39229 `kern/elf.c', `loader/multiboot_loader.c',
39230 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39231 `loader/i386/pc/multiboot2.c',
39232 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39233 `util/i386/pc/grub-mkrescue.in'. Remove
39234 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39235 `include/grub/i386/pc/util/biosdisk.h' and
39236 `include/grub/powerpc/ieee1275/multiboot.h'.
39237
39238 2007-08-02 Bean <bean123ch@gmail.com>
39239
39240 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39241 (ntfs_mod_SOURCES): New variable.
39242 (ntfs_mod_CFLAGS): Likewise.
39243 (ntfs_mod_LDFLAGS): Likewise.
39244
39245 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39246 (grub_probe_SOURCES): Likewise.
39247 (grub_emu_SOURCES): Likewise.
39248
39249 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39250 (grub_emu_SOURCES): Likewise.
39251
39252 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39253 (grub_emu_SOURCES): Likewise.
39254
39255 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39256
39257 * fs/ntfs.c: New file.
39258
39259 2007-08-02 Bean <bean123ch@gmail.com>
39260
39261 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39262
39263 * file.h (grub_file): Likewise.
39264
39265 * fshelp.h (grub_fshelp_read_file): Likewise.
39266
39267 * util/i386/pc/grub-setup.c (setup): Likewise.
39268 (save_first_sector): Likewise.
39269 (save_blocklists): Likewise.
39270
39271 * fs/affs.c (grub_affs_read_file): Likewise.
39272
39273 * fs/ext2.c (grub_ext2_read_file): Likewise.
39274
39275 * fs/fat.c (grub_fat_read_data): Likewise.
39276
39277 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39278
39279 * fs/hfs.c (grub_hfs_read_file): Likewise.
39280
39281 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39282
39283 * fs/jfs.c (grub_jfs_read_file): Likewise.
39284
39285 * fs/minix.c (grub_minix_read_file): Likewise.
39286
39287 * fs/sfs.c (grub_sfs_read_file): Likewise.
39288
39289 * fs/ufs.c (grub_ufs_read_file): Likewise.
39290
39291 * fs/xfs.c (grub_xfs_read_file): Likewise.
39292
39293 * command/blocklist.c (read_blocklist): Likewise.
39294 (print_blocklist): Likewise.
39295
39296 2007-08-02 Marco Gerards <marco@gnu.org>
39297
39298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39299 `util/hostfs.c'.
39300
39301 * disk/host.c: New file.
39302
39303 * util/hostfs.c: Likewise.
39304
39305 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39306 return `GRUB_ERR_BAD_FS'.
39307 * fs/sfs.c (grub_sfs_mount): Likewise.
39308 * fs/xfs.c (grub_xfs_mount): Likewise.
39309
39310 * include/grub/disk.h (enum grub_disk_dev_id): Add
39311 `GRUB_DISK_DEVICE_HOST_ID'.
39312
39313 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39314
39315 2007-07-24 Jerone Young <jerone@gmail.com>
39316
39317 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39318 modules for compilation.
39319 * conf/powerpc-ieee1275.rmk: Likewise.
39320
39321 * include/multiboot.h: Move multiboot definitions to one file. Rename
39322 many definitions to not get grub specific.
39323 * include/multiboot2.h: Create header with multiboot 2 definitions.
39324 * include/grub/multiboot.h: Header for grub specific function
39325 prototypes and definitions.
39326 * include/grub/multiboot2.h: Likewise.
39327 * include/grub/multiboot_loader.h: Likewise.
39328 * include/grub/i386/pc/multiboot.h: Removed.
39329 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39330
39331 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39332 and 2 to allow for one multiboot and module commands.
39333 * loader/multiboot2.c: Add multiboot2 functionality.
39334 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39335 and definition names.
39336 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39337 2 functions.
39338 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39339 ieee1275 specific multiboot2 code.
39340
39341 * kern/i386/pc/startup.S: Change headers and definition names for
39342 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39343
39344 2007-07-22 Robert Millan <rmh@aybabtu.com>
39345
39346 * geninitheader.sh: Process file specified in first parameter rather
39347 than hardcoding grub_modules_init.lst.
39348 * geninit.sh: Likewise. Also, construct header name dynamically rather
39349 than hardcoding grub_modules_init.h.
39350
39351 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39352 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39353 grub_probe_init.[ch] and grub_setup_init.[ch].
39354
39355 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39356 grub_modules_init.h with grub_emu_init.h.
39357 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39358 grub_probe_init.[ch] files.
39359 * conf/i386-efi.rmk: Likewise.
39360 * conf/i386-pc.rmk: Likewise.
39361 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39362 grub_setup_init.[ch] files.
39363
39364 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39365 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39366 to initialize modules rather than a list of hardcoded functions.
39367 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39368 grub_init_all() to initialize modules rather than a list of hardcoded
39369 functions.
39370
39371 2007-07-22 Robert Millan <rmh@aybabtu.com>
39372
39373 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39374 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39375
39376 2007-07-22 Robert Millan <rmh@aybabtu.com>
39377
39378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39379 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39380 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39381 flag when running on SmartFirmware.
39382 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39383 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39384 was set.
39385
39386 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39387 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39388 rather than decreasing it.
39389
39390 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39391 there's not enough space to do it, fail in the same way as when it
39392 can't be done because there are no partitions.
39393
39394 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39395 when nvsetenv failed.
39396
39397 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39398
39399 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39400 because this rule is automatically generated.
39401 (grub-mkrescue): Removed for the same reason as above.
39402
39403 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39404
39405 Migrate to GNU General Public License Version 3.
39406
39407 * COPYING: Replaced with the plain text version of GPLv3.
39408
39409 * config.guess: Updated from gnulib.
39410 * config.sub: Likewise.
39411
39412 * geninit.sh: Output a GPLv3 copyright notice.
39413 * geninitheader.sh: Likewise.
39414 * genmodsrc.sh: Likewise.
39415 * gensymlist.sh.in: Likewise.
39416
39417 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39418 * boot/i386/pc/diskboot.S: Likewise.
39419 * boot/i386/pc/pxeboot.S: Likewise.
39420 * commands/blocklist.c: Likewise.
39421 * commands/boot.c: Likewise.
39422 * commands/cat.c: Likewise.
39423 * commands/cmp.c: Likewise.
39424 * commands/configfile.c: Likewise.
39425 * commands/echo.c: Likewise.
39426 * commands/help.c: Likewise.
39427 * commands/ls.c: Likewise.
39428 * commands/search.c: Likewise.
39429 * commands/terminal.c: Likewise.
39430 * commands/test.c: Likewise.
39431 * commands/videotest.c: Likewise.
39432 * commands/i386/cpuid.c: Likewise.
39433 * commands/i386/pc/halt.c: Likewise.
39434 * commands/i386/pc/play.c: Likewise.
39435 * commands/i386/pc/reboot.c: Likewise.
39436 * commands/i386/pc/vbeinfo.c: Likewise.
39437 * commands/i386/pc/vbetest.c: Likewise.
39438 * commands/ieee1275/halt.c: Likewise.
39439 * commands/ieee1275/reboot.c: Likewise.
39440 * commands/ieee1275/suspend.c: Likewise.
39441 * disk/loopback.c: Likewise.
39442 * disk/lvm.c: Likewise.
39443 * disk/raid.c: Likewise.
39444 * disk/efi/efidisk.c: Likewise.
39445 * disk/i386/pc/biosdisk.c: Likewise.
39446 * disk/ieee1275/ofdisk.c: Likewise.
39447 * font/manager.c: Likewise.
39448 * fs/affs.c: Likewise.
39449 * fs/ext2.c: Likewise.
39450 * fs/fat.c: Likewise.
39451 * fs/fshelp.c: Likewise.
39452 * fs/hfs.c: Likewise.
39453 * fs/hfsplus.c: Likewise.
39454 * fs/iso9660.c: Likewise.
39455 * fs/jfs.c: Likewise.
39456 * fs/minix.c: Likewise.
39457 * fs/sfs.c: Likewise.
39458 * fs/ufs.c: Likewise.
39459 * fs/xfs.c: Likewise.
39460 * hello/hello.c: Likewise.
39461 * include/grub/acorn_filecore.h: Likewise.
39462 * include/grub/arg.h: Likewise.
39463 * include/grub/bitmap.h: Likewise.
39464 * include/grub/boot.h: Likewise.
39465 * include/grub/cache.h: Likewise.
39466 * include/grub/device.h: Likewise.
39467 * include/grub/disk.h: Likewise.
39468 * include/grub/dl.h: Likewise.
39469 * include/grub/elfload.h: Likewise.
39470 * include/grub/env.h: Likewise.
39471 * include/grub/err.h: Likewise.
39472 * include/grub/file.h: Likewise.
39473 * include/grub/font.h: Likewise.
39474 * include/grub/fs.h: Likewise.
39475 * include/grub/fshelp.h: Likewise.
39476 * include/grub/gzio.h: Likewise.
39477 * include/grub/hfs.h: Likewise.
39478 * include/grub/kernel.h: Likewise.
39479 * include/grub/loader.h: Likewise.
39480 * include/grub/lvm.h: Likewise.
39481 * include/grub/misc.h: Likewise.
39482 * include/grub/mm.h: Likewise.
39483 * include/grub/net.h: Likewise.
39484 * include/grub/normal.h: Likewise.
39485 * include/grub/parser.h: Likewise.
39486 * include/grub/partition.h: Likewise.
39487 * include/grub/pc_partition.h: Likewise.
39488 * include/grub/raid.h: Likewise.
39489 * include/grub/rescue.h: Likewise.
39490 * include/grub/script.h: Likewise.
39491 * include/grub/setjmp.h: Likewise.
39492 * include/grub/symbol.h: Likewise.
39493 * include/grub/term.h: Likewise.
39494 * include/grub/terminfo.h: Likewise.
39495 * include/grub/tparm.h: Likewise.
39496 * include/grub/types.h: Likewise.
39497 * include/grub/video.h: Likewise.
39498 * include/grub/efi/api.h: Likewise.
39499 * include/grub/efi/chainloader.h: Likewise.
39500 * include/grub/efi/console.h: Likewise.
39501 * include/grub/efi/console_control.h: Likewise.
39502 * include/grub/efi/disk.h: Likewise.
39503 * include/grub/efi/efi.h: Likewise.
39504 * include/grub/efi/pe32.h: Likewise.
39505 * include/grub/efi/time.h: Likewise.
39506 * include/grub/i386/linux.h: Likewise.
39507 * include/grub/i386/setjmp.h: Likewise.
39508 * include/grub/i386/types.h: Likewise.
39509 * include/grub/i386/efi/kernel.h: Likewise.
39510 * include/grub/i386/efi/loader.h: Likewise.
39511 * include/grub/i386/efi/time.h: Likewise.
39512 * include/grub/i386/pc/biosdisk.h: Likewise.
39513 * include/grub/i386/pc/boot.h: Likewise.
39514 * include/grub/i386/pc/chainloader.h: Likewise.
39515 * include/grub/i386/pc/console.h: Likewise.
39516 * include/grub/i386/pc/init.h: Likewise.
39517 * include/grub/i386/pc/kernel.h: Likewise.
39518 * include/grub/i386/pc/loader.h: Likewise.
39519 * include/grub/i386/pc/memory.h: Likewise.
39520 * include/grub/i386/pc/multiboot.h: Likewise.
39521 * include/grub/i386/pc/serial.h: Likewise.
39522 * include/grub/i386/pc/time.h: Likewise.
39523 * include/grub/i386/pc/vbe.h: Likewise.
39524 * include/grub/i386/pc/vbeblit.h: Likewise.
39525 * include/grub/i386/pc/vbefill.h: Likewise.
39526 * include/grub/i386/pc/vbeutil.h: Likewise.
39527 * include/grub/i386/pc/vga.h: Likewise.
39528 * include/grub/ieee1275/ieee1275.h: Likewise.
39529 * include/grub/ieee1275/ofdisk.h: Likewise.
39530 * include/grub/powerpc/libgcc.h: Likewise.
39531 * include/grub/powerpc/setjmp.h: Likewise.
39532 * include/grub/powerpc/types.h: Likewise.
39533 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39534 * include/grub/powerpc/ieee1275/console.h: Likewise.
39535 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39536 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39537 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39538 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39539 * include/grub/powerpc/ieee1275/time.h: Likewise.
39540 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39541 * include/grub/sparc64/libgcc.h: Likewise.
39542 * include/grub/sparc64/setjmp.h: Likewise.
39543 * include/grub/sparc64/types.h: Likewise.
39544 * include/grub/sparc64/ieee1275/console.h: Likewise.
39545 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39546 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39547 * include/grub/sparc64/ieee1275/time.h: Likewise.
39548 * include/grub/util/biosdisk.h: Likewise.
39549 * include/grub/util/getroot.h: Likewise.
39550 * include/grub/util/lvm.h: Likewise.
39551 * include/grub/util/misc.h: Likewise.
39552 * include/grub/util/raid.h: Likewise.
39553 * include/grub/util/resolve.h: Likewise.
39554 * io/gzio.c: Likewise.
39555 * kern/device.c: Likewise.
39556 * kern/disk.c: Likewise.
39557 * kern/dl.c: Likewise.
39558 * kern/elf.c: Likewise.
39559 * kern/env.c: Likewise.
39560 * kern/err.c: Likewise.
39561 * kern/file.c: Likewise.
39562 * kern/fs.c: Likewise.
39563 * kern/loader.c: Likewise.
39564 * kern/main.c: Likewise.
39565 * kern/misc.c: Likewise.
39566 * kern/mm.c: Likewise.
39567 * kern/parser.c: Likewise.
39568 * kern/partition.c: Likewise.
39569 * kern/rescue.c: Likewise.
39570 * kern/term.c: Likewise.
39571 * kern/efi/efi.c: Likewise.
39572 * kern/efi/init.c: Likewise.
39573 * kern/efi/mm.c: Likewise.
39574 * kern/i386/dl.c: Likewise.
39575 * kern/i386/efi/init.c: Likewise.
39576 * kern/i386/efi/startup.S: Likewise.
39577 * kern/i386/pc/init.c: Likewise.
39578 * kern/i386/pc/lzo1x.S: Likewise.
39579 * kern/i386/pc/startup.S: Likewise.
39580 * kern/ieee1275/ieee1275.c: Likewise.
39581 * kern/powerpc/cache.S: Likewise.
39582 * kern/powerpc/dl.c: Likewise.
39583 * kern/powerpc/ieee1275/cmain.c: Likewise.
39584 * kern/powerpc/ieee1275/crt0.S: Likewise.
39585 * kern/powerpc/ieee1275/init.c: Likewise.
39586 * kern/powerpc/ieee1275/openfw.c: Likewise.
39587 * kern/sparc64/cache.S: Likewise.
39588 * kern/sparc64/dl.c: Likewise.
39589 * kern/sparc64/ieee1275/init.c: Likewise.
39590 * kern/sparc64/ieee1275/openfw.c: Likewise.
39591 * loader/efi/chainloader.c: Likewise.
39592 * loader/efi/chainloader_normal.c: Likewise.
39593 * loader/i386/efi/linux.c: Likewise.
39594 * loader/i386/efi/linux_normal.c: Likewise.
39595 * loader/i386/pc/chainloader.c: Likewise.
39596 * loader/i386/pc/chainloader_normal.c: Likewise.
39597 * loader/i386/pc/linux.c: Likewise.
39598 * loader/i386/pc/linux_normal.c: Likewise.
39599 * loader/i386/pc/multiboot.c: Likewise.
39600 * loader/i386/pc/multiboot_normal.c: Likewise.
39601 * loader/powerpc/ieee1275/linux.c: Likewise.
39602 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39603 * normal/arg.c: Likewise.
39604 * normal/cmdline.c: Likewise.
39605 * normal/command.c: Likewise.
39606 * normal/completion.c: Likewise.
39607 * normal/execute.c: Likewise.
39608 * normal/function.c: Likewise.
39609 * normal/lexer.c: Likewise.
39610 * normal/main.c: Likewise.
39611 * normal/menu.c: Likewise.
39612 * normal/menu_entry.c: Likewise.
39613 * normal/misc.c: Likewise.
39614 * normal/parser.y: Likewise.
39615 * normal/script.c: Likewise.
39616 * normal/i386/setjmp.S: Likewise.
39617 * normal/powerpc/setjmp.S: Likewise.
39618 * normal/sparc64/setjmp.S: Likewise.
39619 * partmap/acorn.c: Likewise.
39620 * partmap/amiga.c: Likewise.
39621 * partmap/apple.c: Likewise.
39622 * partmap/gpt.c: Likewise.
39623 * partmap/pc.c: Likewise.
39624 * partmap/sun.c: Likewise.
39625 * term/gfxterm.c: Likewise.
39626 * term/terminfo.c: Likewise.
39627 * term/efi/console.c: Likewise.
39628 * term/i386/pc/console.c: Likewise.
39629 * term/i386/pc/serial.c: Likewise.
39630 * term/i386/pc/vesafb.c: Likewise.
39631 * term/i386/pc/vga.c: Likewise.
39632 * term/ieee1275/ofconsole.c: Likewise.
39633 * util/biosdisk.c: Likewise.
39634 * util/console.c: Likewise.
39635 * util/genmoddep.c: Likewise.
39636 * util/getroot.c: Likewise.
39637 * util/grub-emu.c: Likewise.
39638 * util/grub-mkdevicemap.c: Likewise.
39639 * util/grub-probe.c: Likewise.
39640 * util/lvm.c: Likewise.
39641 * util/misc.c: Likewise.
39642 * util/raid.c: Likewise.
39643 * util/resolve.c: Likewise.
39644 * util/update-grub.in: Likewise.
39645 * util/update-grub_lib.in: Likewise.
39646 * util/grub.d/00_header.in: Likewise.
39647 * util/grub.d/10_hurd.in: Likewise.
39648 * util/grub.d/10_linux.in: Likewise.
39649 * util/i386/efi/grub-install.in: Likewise.
39650 * util/i386/efi/grub-mkimage.c: Likewise.
39651 * util/i386/pc/grub-install.in: Likewise.
39652 * util/i386/pc/grub-mkimage.c: Likewise.
39653 * util/i386/pc/grub-mkrescue.in: Likewise.
39654 * util/i386/pc/grub-setup.c: Likewise.
39655 * util/i386/pc/misc.c: Likewise.
39656 * util/powerpc/ieee1275/grub-install.in: Likewise.
39657 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39658 * util/powerpc/ieee1275/misc.c: Likewise.
39659 * video/bitmap.c: Likewise.
39660 * video/video.c: Likewise.
39661 * video/i386/pc/vbe.c: Likewise.
39662 * video/i386/pc/vbeblit.c: Likewise.
39663 * video/i386/pc/vbefill.c: Likewise.
39664 * video/i386/pc/vbeutil.c: Likewise.
39665 * video/readers/tga.c: Likewise.
39666
39667 2007-07-02 Robert Millan <rmh@aybabtu.com>
39668
39669 * conf/i386-efi.rmk: Replace obsolete reference to
39670 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39671 with util/getroot.c.
39672 * conf/powerpc-ieee1275.rmk: Likewise.
39673 * conf/sparc64-ieee1275.rmk: Likewise.
39674
39675 * util/grub-emu.c (main): Fix unchecked pointer handling.
39676
39677 2007-07-02 Robert Millan <rmh@aybabtu.com>
39678
39679 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39680 invocation to fail, in order to support partition-less media.
39681
39682 * util/i386/pc/grub-install.in: Likewise.
39683
39684 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39685 which fs or partmap modules are needed (akin to its sister scripts).
39686
39687 Also use grub-probe to get rid of unportable /proc/mounts check.
39688
39689 Print the same informational message that the other scripts do, before
39690 exiting.
39691
39692 2007-06-23 Robert Millan <rmh@aybabtu.com>
39693
39694 * util/update-grub_lib.in (font_path): New function. Determine whether
39695 a font file can be found and, if so, echo the GRUB path to it.
39696
39697 * util/update-grub.in: Handle multiple terminals depending on user
39698 input, platform availability and font file presence. Propagate
39699 variables of our findings to /etc/grub.d/ children.
39700
39701 * util/grub.d/00_header.in: Handle multiple terminals, based on
39702 environment setup by update-grub.
39703
39704 2007-06-23 Robert Millan <rmh@aybabtu.com>
39705
39706 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39707
39708 2007-06-21 Robert Millan <rmh@aybabtu.com>
39709
39710 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39711 indicate end of data section in kernel image.
39712 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39713 GRUB_KERNEL_MACHINE_DATA_END.
39714
39715 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39716 space for it.
39717 * kern/i386/efi/startup.S: Likewise.
39718
39719 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39720 during image generation. Implement --prefix option to override this
39721 patch.
39722 * util/i386/efi/grub-mkimage.c: Likewise.
39723
39724 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39725 code to make path relative to its root into a separate function.
39726
39727 * util/i386/pc/grub-install.in: Use newly provided
39728 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39729 pass the result to grub-install --prefix.
39730
39731 2007-06-13 Robert Millan <rmh@aybabtu.com>
39732
39733 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39734 DEFAULT_DEVICE_MAP.
39735 * util/grub-emu.c: Use above definitions from misc.h instead of
39736 defining them.
39737 * util/grub-mkdevicemap.c: Likewise.
39738 * util/i386/pc/grub-setup.c: Likewise.
39739 * util/grub-probe.c: Likewise.
39740 (probe): Abort with grub_util_error() when either
39741 grub_guess_root_device or grub_util_get_grub_dev fails.
39742
39743 2007-06-12 Robert Millan <rmh@aybabtu.com>
39744
39745 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39746 "pager" assignment.
39747 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39748 "pcdata".
39749 * util/grub-probe.c (probe): Likewise for "drive_name".
39750
39751 2007-06-11 Robert Millan <rmh@aybabtu.com>
39752
39753 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39754 not just the cdrom one.
39755
39756 2007-06-11 Robert Millan <rmh@aybabtu.com>
39757
39758 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39759 Add --pkglibdir=DIR option to override pkglibdir.
39760 Mention --image-type=TYPE in help output.
39761 Fix --grub-mkimage (it was a no-op).
39762 Abort gracefully when no parameter is given.
39763
39764 2007-06-11 Robert Millan <rmh@aybabtu.com>
39765
39766 * util/i386/pc/grub-mkrescue.in: New file.
39767 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39768 * Makefile.in: Handle bin_SCRIPTS.
39769
39770 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39771
39772 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39773 list of video modes.
39774
39775 2007-06-06 Robert Millan <rmh@aybabtu.com>
39776
39777 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39778 file doesn't exist, or if it is in a filesystem grub can't read.
39779
39780 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39781 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39782 header comment to fit in 80 columns when the variables are resolved.
39783
39784 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39785 could be identified by update-grub. Remove redundant check for
39786 unifont.pff existence (since convert_system_path_to_grub_path now
39787 handles that).
39788
39789 2007-06-04 Robert Millan <rmh@aybabtu.com>
39790
39791 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39792
39793 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39794
39795 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39796
39797 2007-06-04 Robert Millan <rmh@aybabtu.com>
39798
39799 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39800
39801 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39802 grub_apple_partition_map_fini.
39803
39804 * util/biosdisk.c
39805 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39806 to access >2 TiB disks).
39807
39808 Print disk->total_sectors with %llu instead of %lu, since this
39809 variable is always 64-bit (prevents wrong disk size from being displayed
39810 on either >2 TiB disk or big-endian CPU).
39811
39812 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39813 into a generic case that supports all (sane) partition maps.
39814
39815 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39816 breaks big-endian.
39817
39818 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39819 and grub_apple_partition_map_fini() after that.
39820
39821 2007-06-01 Robert Millan <rmh@aybabtu.com>
39822
39823 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39824
39825 * util/grub.d/00_header.in: Only enable gfxterm when
39826 convert_system_path_to_grub_path() succeeds.
39827
39828 2007-05-20 Robert Millan <rmh@aybabtu.com>
39829
39830 * util/update-grub_lib.in: New file.
39831 * DISTLIST: Add update-grub_lib.in.
39832 * conf/common.rmk: Generate update-grub_lib and install it in
39833 $(lib_DATA).
39834 * Makefile.in: Add install routine for $(lib_DATA).
39835
39836 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39837 function provided by update-grub_lib to support arbitrary paths of
39838 unifont.pff.
39839 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39840 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39841
39842 2007-05-19 Robert Millan <rmh@aybabtu.com>
39843
39844 * commands/i386/cpuid.c: New module.
39845 * DISTLIST: Add it.
39846 * conf/i386-efi.rmk: Enable cpuid.mod.
39847 * conf/i386-pc.rmk: Likewise.
39848
39849 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39850
39851 * kern/disk.c (grub_disk_read): Check return value of
39852 grub_realloc().
39853
39854 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39855
39856 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39857 arrays.
39858 * disk/raid.c (grub_raid_open): Likewise.
39859
39860 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39861
39862 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39863 stack instead of on the heap.
39864
39865 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39866 before doing a read on it.
39867
39868 * configure.ac: Only use -fno-stack-protector for the target
39869 environment.
39870
39871 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39872
39873 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39874 __attribute_ ((unused)) to mode_type argument.
39875
39876 * util/getroot.c (grub_guess_root_device): Fix #endif.
39877
39878 * kern/misc.c (memcmp): Fix prototype.
39879
39880 * include/grub/partition.h [GRUB_UTIL]
39881 (grub_gpt_partition_map_init): Add prototype.
39882 (grub_gpt_partition_map_fini): Likewise.
39883
39884 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39885 at the right place.
39886
39887 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39888 (grub_fat_read_data): Likewise.
39889 (grub_fat_find_dir): Likewise.
39890
39891 * font/manager.c (find_glyph): Make table a const.
39892 (grub_font_get_glyph): Remove bitmap from if statement.
39893
39894 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39895
39896 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39897 code, first search for device in /dev/mapper, then in /dev.
39898 (grub_util_get_grub_dev): New function.
39899 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39900 prototype.
39901 * util/grub-probe.c (probe): Remove check for RAID, call
39902 grub_util_get_grub_dev() instead of
39903 grub_util_biosdisk_get_grub_dev().
39904 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39905 grub_util_biosdisk_get_grub_dev().
39906 * util/i386/pc/grub-setup.c (main): Likewise.
39907
39908 2007-05-16 Robert Millan <rmh@aybabtu.com>
39909
39910 * DISTLIST: Update for the latest changes.
39911 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39912 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39913 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39914 grub/util/biosdisk.h.
39915 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39916 grub/util/biosdisk.h.
39917
39918 2007-05-16 Robert Millan <rmh@aybabtu.com>
39919
39920 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39921
39922 2007-05-16 Robert Millan <rmh@aybabtu.com>
39923
39924 * util/i386/efi/grub-install.in: New.
39925 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39926 newly added grub-install.
39927 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39928 include.
39929 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39930 grub/util/biosdisk.h.
39931 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39932 grub/util/biosdisk.h.
39933
39934 2007-05-16 Robert Millan <rmh@aybabtu.com>
39935
39936 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39937 * include/grub/util/biosdisk.h: ... here.
39938 * util/i386/pc/biosdisk.c: Moved to ...
39939 * util/biosdisk.c: ... here.
39940 * util/i386/pc/getroot.c: Moved to ...
39941 * util/getroot.c: ... here.
39942 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39943 * util/grub-mkdevicemap.c: ... here.
39944 * util/i386/pc/grub-probe.c: Moved to ...
39945 * util/grub-probe.c: ... here.
39946
39947 2007-05-15 Robert Millan <rmh@aybabtu.com>
39948
39949 * util/update-grub.in: Remove duplicated line in grub.cfg header
39950 message.
39951
39952 2007-05-13 Robert Millan <rmh@aybabtu.com>
39953
39954 * util/update-grub.in: Fix a few assumptions about the devices holding
39955 /, /boot and /boot/grub being the same.
39956 * util/grub.d/00_header.in: Likewise.
39957 * util/grub.d/10_hurd.in: Likewise.
39958 * util/grub.d/10_linux.in: Likewise.
39959
39960 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39961 patterns. Use that to define the `.old' suffix as older than `'.
39962
39963 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39964
39965 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39966 the grub.cfg header message.
39967
39968 2007-05-11 Robert Millan <rmh@aybabtu.com>
39969
39970 * util/update-grub.in: Create device.map if it doesn't already exist,
39971 before attempting to run grub-probe.
39972 Check for grub-probe and grub-mkdevicemap with the same code
39973 grub-install is using.
39974 Remove test mode.
39975
39976 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39977
39978 * Makefile.in: Add the datarootdir autoconf variable.
39979
39980 2007-05-09 Robert Millan <rmh@aybabtu.com>
39981
39982 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39983 fail gracefully if dev->disk->partition == NULL.
39984
39985 2007-05-07 Robert Millan <rmh@aybabtu.com>
39986
39987 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39988 determine partition map module.
39989 * util/i386/pc/grub-install.in: Use this feature to decide which
39990 partition module to load, instead of hardcoding pc and gpt.
39991
39992 2007-05-07 Robert Millan <rmh@aybabtu.com>
39993
39994 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39995 source directory differs from build directory.
39996
39997 2007-05-05 Robert Millan <rmh@aybabtu.com>
39998
39999 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40000 initialisation.
40001
40002 2007-05-05 Robert Millan <rmh@aybabtu.com>
40003
40004 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40005
40006 2007-05-05 Robert Millan <rmh@aybabtu.com>
40007
40008 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40009 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40010
40011 2007-05-05 Robert Millan <rmh@aybabtu.com>
40012
40013 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40014 (grub_probe_SOURCES): Likewise.
40015 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40016 GPT and initialize dos_part and bsd_part accordingly.
40017 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40018 install_bsd_part.
40019 (main): Activate gpt module for use during partition identification,
40020 and deactivate it afterwards.
40021 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40022 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40023 partition identification, and deactivate it afterwards.
40024
40025 2007-05-05 Robert Millan <rmh@aybabtu.com>
40026
40027 * term/i386/pc/console.c (grub_console_fini): Call
40028 grub_term_set_current() before grub_term_unregister().
40029
40030 2007-05-04 Robert Millan <rmh@aybabtu.com>
40031
40032 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40033 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40034 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40035 and update-grub_DATA.
40036 * conf/common.rmk: Build and install update-grub components.
40037 * conf/common.mk: Regenerate.
40038 * util/update-grub.in: New. Core of update-grub.
40039 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40040 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40041 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40042 * util/grub.d/README: New. Document grub.d directory layout.
40043
40044 2007-05-01 Robert Millan <rmh@aybabtu.com>
40045
40046 * util/grub-emu.c: Move initialization functions
40047 grub_util_biosdisk_init() and grub_init_all() before
40048 grub_util_biosdisk_get_grub_dev(), which relies on them.
40049
40050 2007-04-19 Robert Millan <rmh@aybabtu.com>
40051
40052 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40053 it is used later.
40054
40055 2007-04-18 Jerone Young <jerone@gmail.com>
40056
40057 * kernel/elf.c: Add missing parenthesis for conditional statement
40058 stanza.
40059
40060 2007-04-10 Jerone Young <jerone@gmail.com>
40061
40062 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40063 continue on and look for device node with real device name.
40064
40065 2007-04-10 Jerone Young <jerone@gmail.com>
40066
40067 * configure.ac: Add argument for autoconf to use transformation
40068 ability.
40069 * Makefile.in: Add autoconf package transformation code.
40070 * util/i386/pc/grub-install.in: Likewise.
40071 * util/powerpc/ieee1275/grub-install.in: Likewise.
40072
40073 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40074
40075 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40076 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40077 (EXT2_REVISION): Likewise.
40078 (EXT2_INODE_SIZE): Likewise.
40079 (struct grub_ext2_block_group): Added a missing member
40080 "used_dirs".
40081 (grub_ext2_read_inode): Divide by the inode size in a superblock
40082 instead of 128 to obtain INODES_PER_BLOCK.
40083 Use the macro EXT2_INODE_SIZE instead of directly using
40084 SBLOCK->INODE_SIZE.
40085
40086 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40087
40088 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40089 superblock instead of the structure size to compute an
40090 offset. This fixes the problem that GRUB could not read a
40091 filesystem when inode size is different from 128-byte.
40092
40093 2007-03-05 Marco Gerards <marco@gnu.org>
40094
40095 * normal/main.c (read_config_file): When "menu" is not set, create
40096 an initial context.
40097
40098 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40099
40100 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40101 (HEAP_LIMIT): New macro.
40102 (grub_claim_heap): Claim memory up to `heaplimit'.
40103
40104 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40105
40106 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40107 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40108 (_start): Likewise.
40109 (grub_arch_modules_addr): Return address after `_end'.
40110 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40111 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40112 (add_segments): Calculate `_end' from phdr size and location.
40113 (ALIGN_UP): Moved to ...
40114 * include/grub/misc.h: here.
40115 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40116 New macro.
40117 (GRUB_IEEE1275_MODULE_BASE): Removed.
40118
40119 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40120
40121 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40122 loop boundary.
40123
40124 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40125
40126 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40127 All users updated.
40128 (grub_elf64_load_hook_t): Likewise.
40129 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40130 debug output.
40131
40132 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40133
40134 * kern/mm.c: Update copyright.
40135 (grub_mm_debug): Correct syntax error.
40136 (grub_mm_dump_free): New function.
40137 (grub_debug_free): Call `grub_free'.
40138 * include/grub/mm.h: Update copyright.
40139 (grub_mm_dump_free): Add declaration.
40140
40141 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40142
40143 * include/grub/ieee1275/ieee1275.h: Update copyright.
40144 * kern/powerpc/ieee1275/init.c: Likewise.
40145 * kern/powerpc/ieee1275/openfw.c: Likewise.
40146
40147 * loader/powerpc/ieee1275/linux.c: Likewise.
40148 * include/grub/elfload.h: Likewise.
40149 * kern/elf.c: Likewise.
40150 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40151 callers.
40152 (grub_elf64_load): Likewise.
40153 (grub_elf32_load_segment): Move to a nested function.
40154 (grub_elf64_load_segment): Likewise.
40155
40156 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40157
40158 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40159 prototype.
40160 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40161 (grub_heap_len): Likewise.
40162 (HEAP_SIZE): New macro.
40163 (grub_claim_heap): New function.
40164 (grub_machine_init): Don't claim heap directly. Call
40165 `grub_claim_heap'.
40166 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40167 (grub_available_iterate): New function.
40168
40169 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40170
40171 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40172 * configure.ac: Use it for testing the HOST and TARGET compilers.
40173
40174 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40175
40176 * Makefile.in (enable_grub_emu): New variable.
40177 * configure.ac (--enable-grub-emu): New option.
40178 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40179 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40180 * conf/i386-pc.rmk: Likewise.
40181 * conf/powerpc-ieee1275.rmk: Likewise.
40182 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40183
40184 2006-12-12 Marco Gerards <marco@gnu.org>
40185
40186 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40187
40188 * kern/env.c (grub_env_unset): Don't free the member `value' when
40189 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40190 pointer.
40191
40192 * normal/main.c (current_menu): Removed.
40193 (free_menu): Unset the `menu' environment variable.
40194 (grub_normal_menu_addentry): Make use of the environment variable
40195 `menu', instead of using the global `current_menu'. Allocate
40196 memory for the sourcecode of this entry.
40197 (read_config_file): New argument `nested', changed all callers.
40198 Only in the case of a new context, initialize a new menu. Set the
40199 `menu' environment variable.
40200 (grub_normal_execute): Don't set and unset the environment
40201 variable `menu' here anymore. Only free the menu when leaving the
40202 context.
40203
40204 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40205 leak.
40206
40207 2006-12-11 Marco Gerards <marco@gnu.org>
40208
40209 * normal/menu_entry.c (run): Fix off by one bug so the last line
40210 is executed. Move the loader check to outside the loop.
40211
40212 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40213
40214 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40215
40216 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40217
40218 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40219 the number of sectors. Reported by Andrey Shuvikov
40220 <mr_hyro@yahoo.com>.
40221
40222 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40223
40224 * kern/disk.c (grub_disk_read): When there is a read error, always
40225 try to read only the necessary data.
40226
40227 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40228 disk/raid.c.
40229 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40230 prototype.
40231 [GRUB_UTIL] (grub_raid_fini): Likewise.
40232 [GRUB_UTIL] (grub_lvm_init): Likewise.
40233 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40234 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40235 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40236 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40237 and grub_raid_fini().
40238
40239 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40240
40241 * include/grub/types.h (__unused): Rename to UNUSED.
40242 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40243 (grub_elf64_size): Likewise.
40244
40245 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40246
40247 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40248 grub_error_push and grub_error_pop in the error-handling path.
40249 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40250 length.
40251
40252 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40253
40254 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40255 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40257 (kernel_elf_SOURCES): Likewise.
40258 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40259 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40260 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40261 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40262 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40263 (elf_mod_SOURCES): New variable.
40264 (elf_mod_CFLAGS): Likewise.
40265 (elf_mod_LDFLAGS): Likewise.
40266 * include/grub/types.h (__unused): New macro.
40267 * include/grub/elfload.h: New file.
40268 * kern/elf.c: Likewise.
40269 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40270 (ELF32_LOADMASK): New macro.
40271 (ELF64_LOADMASK): Likewise.
40272 (vmlinux): Removed.
40273 (grub_linux_load32): New function.
40274 (grub_linux_load64): Likewise.
40275 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40276 Use grub_elf_t instead of grub_file_t.
40277
40278 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40279
40280 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40281 `catch_result' to struct set_color_args.
40282
40283 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40284
40285 * normal/menu.c: Include grub/script.h.
40286 * normal/menu_entry.c: Likewise.
40287 * include/grub/normal.h: Do not include grub/script.h.
40288
40289 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40290
40291 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40292
40293 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40294
40295 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40296 disk.
40297 (grub_disk_close): Print debug messages when closing a disk.
40298 (grub_disk_read): Print debug messages when disk read fails.
40299 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40300 filesystem type.
40301 * kern/partition.c: Include misc.h.
40302 (grub_partition_iterate): Print debug messages when detecting
40303 partition type.
40304
40305 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40306
40307 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40308 is negative.
40309 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40310
40311 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40312
40313 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40314 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40315
40316 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40317
40318 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40319 instead of sizeof(lv). Patch by Michael Guntsche.
40320
40321 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40322
40323 * disk/lvm.c: Rename VGS to VG_LIST.
40324 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40325 (grub_lvm_open): Likewise.
40326 Thanks to Michael Guntsche for finding this bug.
40327
40328 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40329
40330 * configure.ac (AC_INIT): Bumped to 1.95.
40331
40332 2006-10-14 Robert Millan <rmh@aybabtu.com>
40333
40334 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40335 with "/dev/.static/dev/md".
40336
40337 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40338
40339 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40340 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40341 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40342 DRIVE_NAME are always freed.
40343
40344 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40345 DOS_PART, as a DOS partition is counted from one instead of zero
40346 now. Reported by Robert Millan.
40347
40348 2006-10-14 Robert Millan <rmh@aybabtu.com>
40349
40350 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40351 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40352 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40353 string returned by grub_guess_root_device.
40354 * util/i386/pc/grub-setup.c: Likewise.
40355 * util/i386/pc/grub-probefs.c: Likewise.
40356
40357 * util/i386/pc/grub-probefs.c: Rename to ...
40358 * util/i386/pc/grub-probe.c: ... this.
40359 * DISTLIST: Remove grub-probefs, add grub-probe.
40360 * conf/i386-efi.rmk: Likewise.
40361 * conf/i386-pc.rmk: Likewise.
40362 * util/i386/pc/grub-install.in: Likewise.
40363
40364 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40365 choose which information we want to print.
40366
40367 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40368
40369 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40370 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40371 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40372 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40373 video/readers/tga.c and video/i386/pc/vbeutil.c.
40374
40375 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40376
40377 Added support for RAID and LVM.
40378
40379 * disk/lvm.c: New file.
40380 * disk/raid.c: Likewise.
40381 * include/grub/lvm.h: Likewise.
40382 * include/grub/raid.h: Likewise.
40383 * include/grub/util/lvm.h: Likewise.
40384 * include/grub/util/raid.h: Likewise.
40385 * util/lvm.c: Likewise.
40386 * util/raid.c: Likewise.
40387
40388 * include/grub/disk.h (grub_disk_dev_id): Add
40389 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40390 (grub_disk_get_size): New prototype.
40391 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40392 returns a partition.
40393 (grub_disk_get_size): New function.
40394
40395 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40396 verbatim if grub_install_dos_part is -2.
40397
40398 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40399 and LVM devices.
40400
40401 * util/i386/pc/grub-setup.c (setup): New argument
40402 MUST_EMBED. Force embedding of GRUB when the argument is
40403 true. Close FILE before returning.
40404 (main): Add support for RAID and LVM.
40405
40406 * conf/common.rmk: Add RAID and LVM modules.
40407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40408 util/lvm.c.
40409 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40410
40411 * kern/misc.c (grub_strstr): New function.
40412 * include/grub/misc.h (grub_strstr): New prototype.
40413
40414 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40415
40416 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40417
40418 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40419
40420 * kern/misc.c (grub_strtoull): Guess the base only if not
40421 specified.
40422
40423 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40424
40425 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40426 PowerMac support.
40427
40428 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40429
40430 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40431
40432 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40433 Remove `flags' argument. All callers changed.
40434 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40435 (IEEE1275_IHANDLE_INVALID): New variable.
40436 (IEEE1275_CELL_INVALID): New variable.
40437 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40438 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40439 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40440 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40441 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40442 codes from Open Firmware. All callers updated.
40443 (grub_ieee1275_next_property): Directly return Open Firmware return
40444 code.
40445 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40446 Standardize error checking from `grub_ieee1275_get_property'.
40447 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40448 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40449
40450 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40451
40452 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40453 `instance_to_package_args' to `instance_to_path_args'.
40454
40455 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40456 `grub_ieee1275_chosen'.
40457
40458 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40459 `grub_ieee1275_interpret'.
40460
40461 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40462
40463 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40464
40465 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40466
40467 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40468 (__cmpdi): Likewise.
40469
40470 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40471 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40472 `grub_ssize_t'.
40473
40474 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40475
40476 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40477 to type `grub_ssize_t'.
40478 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40479
40480 2006-09-22 Marco Gerards <marco@gnu.org>
40481
40482 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40483 newlines.
40484
40485 2006-09-22 Marco Gerards <marco@gnu.org>
40486
40487 * commands/echo.c: New file.
40488
40489 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40490
40491 * conf/common.rmk (echo_mod_SOURCES): New variable.
40492 (echo_mod_CFLAGS): Likewise.
40493 (echo_mod_LDFLAGS): Likewise.
40494
40495 2006-09-22 Marco Gerards <marco@gnu.org>
40496
40497 * normal/main.c (get_line): Malloc memory instead of using
40498 preallocated memory. Removed the arguments `cmdline' and
40499 `max_len'. Updated all callers.
40500
40501 2006-09-22 Marco Gerards <marco@gnu.org>
40502
40503 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40504 (normal_mod_DEPENDENCIES): Likewise.
40505
40506 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40507 (normal_mod_DEPENDENCIES): Likewise.
40508
40509 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40510
40511 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40512
40513 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40514 programs.
40515 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40516 (normal_mod_DEPENDENCIES): Likewise.
40517 * conf/i386-pc.mk: Regenerate.
40518 * conf/i386-efi.mk: Likewise
40519 * conf/common.mk: Likewise.
40520 * conf/powerpc-ieee1275.mk: Likewise.
40521 * conf/sparc64-ieee1275.mk: Likewise.
40522
40523 2006-09-22 Robert Millan <rmh@aybabtu.com>
40524
40525 Sync with i386 version.
40526 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40527 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40528
40529 2006-09-21 Robert Millan <rmh@aybabtu.com>
40530
40531 Import from GRUB Legacy (lib/device.c):
40532 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40533 (init_device_map) [__linux__]: Add support for I2O devices.
40534
40535 2006-09-14 Marco Gerards <marco@gnu.org>
40536
40537 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40538 `-melf_i386'.
40539
40540 2006-09-14 Robert Millan <rmh@aybabtu.com>
40541
40542 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40543 /boot/grub/*.lst.
40544
40545 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40546
40547 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40548 before adding it to device.map.
40549
40550 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40551
40552 * genmk.rb: Let GCC generate dependencies the first time it
40553 compiles a file; using the -MD option.
40554 * conf/common.mk: Regenerate.
40555 * conf/i386-pc.mk: Likewise.
40556 * conf/i386-efi.mk: Likewise.
40557 * conf/powerpc-ieee1275.mk: Likewise.
40558 * conf/sparc64-ieee1275.mk: Likewise.
40559
40560 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40561
40562 Move the prototypes of grub_setjmp and grub_longjmp to
40563 cpu/setjmp.h, so that each architecture may specify different
40564 attributes.
40565
40566 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40567 (grub_longjmp): Likewise.
40568 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40569 (grub_longjmp): Likewise.
40570 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40571 (grub_longjmp): Likewise.
40572
40573 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40574 [!GRUB_UTIL] (grub_longjmp): Removed.
40575
40576 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40577
40578 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40579 "color!" method does not return any value.
40580
40581 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40582
40583 * include/grub/bitmap.h: New file.
40584
40585 * include/grub/i386/pc/vbeutil.h: Likewise.
40586
40587 * video/bitmap.c: Likewise.
40588
40589 * video/readers/tga.c: Likewise.
40590
40591 * video/i386/pc/vbeutil.c: Likewise.
40592
40593 * commands/videotest.c: Code cleanup and updated to reflect to new
40594 video API.
40595
40596 * term/gfxterm.c: Likewise.
40597
40598 * video/video.c: Likewise.
40599
40600 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40601 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40602 (bitmap_mod_SOURCES): New entry.
40603 (bitmap_mod_CFLAGS): Likewise.
40604 (bitmap_mod_LDFLAGS): Likewise.
40605 (tga_mod_SOURCES): Likewise.
40606 (tga_mod_CFLAGS): Likewise.
40607 (tga_mod_LDFLAGS): Likewise.
40608
40609 * include/grub/video.h (grub_video_blit_operators): New enum type.
40610 (grub_video_render_target): Changed as forward declaration and moved
40611 actual definition to be video driver specific.
40612 (grub_video_adapter.blit_bitmap): Added blitting operator.
40613 (grub_video_adapter.blit_render_target): Likewise.
40614 (grub_video_blit_bitmap): Likewise.
40615 (grub_video_blit_render_target): Likewise.
40616
40617 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40618 driver specific render target definition.
40619 (grub_video_vbe_map_rgba): Added driver internal helper.
40620 (grub_video_vbe_unmap_color): Updated to use
40621 grub_video_i386_vbeblit_info.
40622 (grub_video_vbe_get_video_ptr): Likewise.
40623
40624 * include/grub/i386/pc/vbeblit.h
40625 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40626 grub_video_i386_vbeblit_info.
40627 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40628 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40629 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40630 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40631 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40632 (grub_video_i386_vbeblit_index_index): Likewise.
40633 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40634 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40635 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40636 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40637 operator.
40638 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40639 operator.
40640
40641 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40642 include/grub/i386/pc/vbeblit.h.
40643
40644 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40645 Updated to use grub_video_i386_vbeblit_info.
40646 (grub_video_i386_vbefill_R8G8B8): Likewise.
40647 (grub_video_i386_vbefill_index): Likewise.
40648 (grub_video_i386_vbefill): Added generic filler.
40649
40650 * video/i386/pc/vbefill.c: Updated to reflect changes on
40651 include/grub/i386/pc/vbefill.h.
40652
40653 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40654 grub_video_i386_vbeblit_info.
40655 (grub_video_vbe_unmap_color): Likewise.
40656 (grub_video_vbe_blit_glyph): Likewise.
40657 (grub_video_vbe_scroll): Likewise.
40658 (grub_video_vbe_draw_pixel): Removed function.
40659 (grub_video_vbe_get_pixel): Likewise.
40660 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40661 updated code to use it.
40662 (common_blitter): Added common blitter for render target and bitmap.
40663 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40664 (grub_video_vbe_blit_render_target): Likewise.
40665
40666 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40667
40668 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40669 is in text mode if there is no console control protocol instance
40670 available.
40671
40672 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40673
40674 * include/grub/video.h: Code cleanup.
40675
40676 * include/grub/i386/pc/vbe.h: Likewise.
40677
40678 * video/i386/pc/vbe.c: Likewise.
40679
40680 * video/i386/pc/vbeblit.c: Likewise.
40681
40682 * video/i386/pc/vbefill.c: Likewise.
40683
40684 * video/video.c: Likewise. Also added more comments.
40685
40686 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40687
40688 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40689 (struct grub_biosdisk_dap): Likewise.
40690
40691 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40692 linkage settings for all functions.
40693
40694 2006-07-12 Marco Gerards <marco@gnu.org>
40695
40696 * configure.ac (--enable-mm-debug): Fix typo.
40697
40698 * genkernsyms.sh.in: Use proper quoting for `CC'.
40699
40700 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40701
40702 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40703 (normal_mod_ASFLAGS): Remove "-m32".
40704
40705 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40706
40707 * util/misc.c: Include config.h.
40708 [!HAVE_MEMALIGN]: Do not include malloc.h.
40709 (grub_memalign): Use posix_memalign, if present. Then, use
40710 memalign, if present. Otherwise, emit an error.
40711
40712 * util/grub-emu.c: Do not include malloc.h.
40713
40714 * include/grub/util/misc.h: Include unistd.h. This is required for
40715 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40716 D. Eades III <hde@foobar-qux.org>.
40717
40718 * configure.ac (AC_GNU_SOURCE): Added.
40719 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40720 type.
40721
40722 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40723
40724 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40725 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40726
40727 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40728
40729 * include/grub/types.h (grub_host_addr_t): Rename to
40730 grub_target_addr_t.
40731 (grub_host_off_t): Rename to grub_target_off_t.
40732 (grub_host_size_t): Rename to grub_target_size_t.
40733 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40734 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40735
40736 * include/grub/kernel.h (struct grub_module_header): Change type
40737 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40738 (grub_module_info): Likewise.
40739
40740 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40741
40742 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40743 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40744 Velazquez <jesus.velazquez@gmail.com>.
40745
40746 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40747
40748 Count partitions from 1 instead of 0 in the string representation
40749 of partitions. Still use 0-based internally.
40750
40751 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40752 (sun_partition_map_iterate): Use grub_partition_t instead of
40753 struct grub_partition *. Cast DESC->START_CYLINDER to
40754 grub_uint64_t after converting the endian.
40755 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40756 (sun_partition_map_get_name): Add 1 to P->INDEX.
40757
40758 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40759 PCDATA->DOS_PART.
40760 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40761
40762 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40763 zero instead of one.
40764 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40765 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40766
40767 * partmap/apple.c (apple_partition_map_iterate): Change the type
40768 of POS to unsigned.
40769 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40770 (apple_partition_map_get_name): Add 1 into P->INDEX.
40771
40772 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40773 of POS to unsigned.
40774 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40775 calculate the offset of a partition.
40776 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40777 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40778
40779 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40780 SECTOR to grub_disk_addr_t.
40781 (acorn_partition_map_iterate): Likewise.
40782 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40783 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40784 top.
40785 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40786
40787 * kern/i386/pc/init.c (make_install_device): Add 1 into
40788 GRUB_INSTALL_DOS_PART.
40789
40790 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40791 conditional.
40792
40793 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40794
40795 Clean up the code to support 64-bit addressing in disks and
40796 files. This change is not enough for filesystems yet.
40797
40798 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40799 type of "start" to grub_uint64_t.
40800 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40801 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40802 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40803 convert addresses.
40804
40805 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40806 to grub_disk_addr_t.
40807
40808 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40809 string.
40810
40811 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40812
40813 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40814 to char *.
40815
40816 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40817
40818 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40819
40820 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40821
40822 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40823 to grub_off_t, to detect an error from grub_file_seek.
40824 (grub_multiboot_load_elf32): Likewise.
40825
40826 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40827 maximum unsigned long value when an overflow is detected.
40828 (grub_strtoull): New function.
40829 (grub_divmod64): Likewise.
40830 (grub_lltoa): use grub_divmod64.
40831
40832 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40833 grub_disk_addr_t.
40834 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40835 the pointer to next character. Use grub_strtoull instead of
40836 grub_strtoul.
40837 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40838 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40839 respectively.
40840
40841 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40842 return value is signed.
40843 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40844 test if OFFSET is less than zero, as OFFSET is unsigned now.
40845
40846 * kern/disk.c (struct grub_disk_cache): Change the type of
40847 "sector" to grub_disk_addr_t.
40848 (grub_disk_cache_get_index): Change the type of SECTOR to
40849 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40850 unsigned after shifting.
40851 (grub_disk_cache_invalidate): Change the type of SECTOR to
40852 grub_disk_addr_t.
40853 (grub_disk_cache_unlock): Likewise.
40854 (grub_disk_cache_store): Likewise.
40855 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40856 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40857 grub_disk_addr_t and grub_uint64_t, respectively.
40858 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40859 body, as the value of OFFSET is tweaked by
40860 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40861 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40862 respectively.
40863 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40864 body, as the value of OFFSET is tweaked by
40865 grub_disk_check_range. Change the types of LEN and N to
40866 grub_size_t.
40867
40868 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40869 and "saved_offset" to grub_off_t.
40870 (test_header): Cast BUF to char *.
40871 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40872 to char *.
40873 (grub_gzio_read): Change the types of OFFSET and SIZE to
40874 grub_off_t and grub_size_t, respectively.
40875
40876 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40877 Removed.
40878 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40879 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40880 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40881 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40882 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40883
40884 * include/grub/types.h (grub_off_t): Unconditionally set to
40885 grub_uint64_t.
40886 (grub_disk_addr_t): Changed to grub_uint64_t.
40887
40888 * include/grub/partition.h (struct grub_partition): Change the
40889 types of "start", "len" and "offset" to grub_disk_addr_t,
40890 grub_uint64_t and grub_disk_addr_t, respectively.
40891 (grub_partition_get_start): Return grub_disk_addr_t.
40892 (grub_partition_get_len): Return grub_uint64_t.
40893
40894 * include/grub/misc.h (grub_strtoull): New prototype.
40895 (grub_divmod64): Likewise.
40896
40897 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40898 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40899 grub_off_t, respectively.
40900 All callers and references changed.
40901
40902 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40903 grub_size_t in "read".
40904 All callers and references changed.
40905
40906 * include/grub/file.h (struct grub_file): Change the types of
40907 "offset" and "size" to grub_off_t and grub_off_t,
40908 respectively. Change the type of SECTOR to grub_disk_addr_t in
40909 "read_hook".
40910 (grub_file_read): Change the type of LEN to grub_size_t.
40911 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40912 grub_off_t.
40913 (grub_file_size): Return grub_off_t.
40914 (grub_file_tell): Likewise.
40915 All callers and references changed.
40916
40917 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40918 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40919 "write".
40920 (struct grub_disk): Change the type of "total_sectors" to
40921 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40922 "read_hook".
40923 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40924 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40925 (grub_disk_write): Likewise.
40926 All callers and references changed.
40927
40928 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40929 char * for grub_strncmp to silence gcc.
40930 (grub_iso9660_mount): Likewise.
40931 (grub_iso9660_mount): Likewise.
40932 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40933 return statement.
40934 (grub_iso9660_iterate_dir): Likewise.
40935 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40936
40937 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40938 LEN to grub_disk_addr_t and grub_size_t, respectively.
40939
40940 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40941
40942 * fs/jfs.c (grub_jfs_read_file): Likewise.
40943
40944 * fs/minix.c (grub_jfs_read_file): Likewise.
40945
40946 * fs/sfs.c (grub_jfs_read_file): Likewise.
40947
40948 * fs/ufs.c (grub_jfs_read_file): Likewise.
40949
40950 * fs/xfs.c (grub_jfs_read_file): Likewise.
40951
40952 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40953 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40954 respectively.
40955
40956 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40957 BLKNR to -1 instead of returning GRUB_ERRNO.
40958 (grub_ext2_read_file): Change the types of SECTOR and
40959 LEN to grub_disk_addr_t and grub_size_t, respectively.
40960
40961 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40962 LEN to grub_disk_addr_t and grub_size_t, respectively.
40963
40964 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40965 grub_file_read.
40966
40967 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40968 string. Do not cast SECTOR explicitly.
40969
40970 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40971 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40972 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40973 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40974 over 2TB and LBA mode is not supported, raise an error.
40975 (get_safe_sectors): New function.
40976 (grub_biosdisk_read): Use get_safe_sectors.
40977 (grub_biosdisk_write): Likewise.
40978
40979 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40980 (grub_efidisk_write): Likewise.
40981
40982 * disk/loopback.c (delete_loopback): Cosmetic changes.
40983 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40984 correctly.
40985 (grub_loopback_open): Likewise.
40986 (grub_loopback_read): Likewise. Also, change the type of POS to
40987 grub_off_t, and fix the usage of grub_memset.
40988
40989 * commands/i386/pc/play.c: Include grub/machine/time.h.
40990
40991 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40992 print FILE->SIZE.
40993
40994 * commands/configfile.c: Include grub/env.h.
40995
40996 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40997 GRUB_ERRNO directly instead. Change the type of POS to
40998 grub_off_t. Follow the coding standard.
40999
41000 * commands/blocklist.c: Include grub/partition.h.
41001 (grub_cmd_blocklist): Return an error if the underlying device is
41002 not a disk. Take the starting sector of a partition into account,
41003 if a partition is used.
41004
41005 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41006 a length field.
41007 (lba_mode): Support 64-bit addresses.
41008 (chs_mode): Likewise.
41009 (copy_buffer): Adapted to the new offsets of a length field and a
41010 segment field.
41011 (blocklist_default_start): Allocate 64-bit space.
41012
41013 * boot/i386/pc/boot.S (force_lba): Removed.
41014 (boot_drive): Moved to under KERNEL_SECTOR.
41015 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
41016 space.
41017 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41018 is useless.
41019 (lba_mode): Refactored to support a 64-bit address. More size
41020 optimization.
41021 (setup_sectors): Likewise.
41022
41023 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41024
41025 * DISTLIST: Added include/grub/i386/linux.h. Removed
41026 include/grub/i386/pc/linux.h
41027
41028 * configure.ac (AC_INIT): Bumped to 1.94.
41029
41030 * config.guess: Updated from gnulib.
41031 * config.sub: Likewise.
41032 * install-sh: Likewise.
41033 * mkinstalldirs: Likewise.
41034
41035 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41036
41037 * conf/common.rmk (grub_modules_init.lst): Depended on
41038 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41039 MODSRCFILES.
41040
41041 * genmk.rb (PModule::rule): Reverted the previous change.
41042
41043 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41044
41045 * conf/common.rmk (grub_modules_init.lst): Depends on
41046 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41047 that the target does not exist before producing.
41048 (grub_modules_init.h): Remove the target before generating.
41049 (grub_emu_init.c): Likewise.
41050
41051 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41052
41053 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41054
41055 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41056 for the target-specific tests. Make sure that we also have the
41057 up-to-date target variables for those tests.
41058
41059 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41060
41061 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41062 (PModule::rule): Likewise.
41063
41064 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41065
41066 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41067 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41068 target-specific flags should be prefixed.
41069 (PModule::rule): Likewise.
41070
41071 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41072
41073 * configure.ac (CMP): Check if cmp is available explicitly.
41074
41075 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41076
41077 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41078 (target_cpu): New variable.
41079 (pkglibdir): Use target_cpu instead of host_cpu.
41080
41081 * util/i386/pc/grub-install.in (host_cpu): Removed.
41082 (target_cpu): New variable.
41083 (pkglibdir): Use target_cpu instead of host_cpu.
41084
41085 * util/genmoddep.c: Removed.
41086
41087 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41088 instead of GRUB_HOST_SIZEOF_VOID_P.
41089 * kern/dl.c: Likewise.
41090
41091 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41092 ...
41093 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41094 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41095 (GRUB_TARGET_SIZEOF_LONG): ... this.
41096 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41097 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41098 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41099 to ...
41100 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41101 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41102 (GRUB_TARGET_SIZEOF_LONG): ... this.
41103 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41104 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41105 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41106 to ...
41107 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41108 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41109 (GRUB_TARGET_SIZEOF_LONG): ... this.
41110 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41111 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41112
41113 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41114 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41115 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41116 instead of GRUB_HOST_SIZEOF_LONG.
41117 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41118 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41119 GRUB_CPU_WORDS_BIGENDIAN.
41120 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41121 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41122 grub_host_ssize_t.
41123
41124 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41125 (genmoddep_SOURCES): Likewise.
41126 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41127 (genmoddep_SOURCES): Likewise.
41128 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41129 (genmoddep_SOURCES): Likewise.
41130 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41131 Likewise.
41132 (genmoddep_SOURCES): Likewise.
41133
41134 * genmoddep.awk: New file.
41135
41136 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41137 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41138 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41139 (PModule::rule): Likewise.
41140 (Program::rule): Likewise.
41141 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41142 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41143 respectively.
41144
41145 * configure.ac: Rewritten intensively to use host and target
41146 instead of build and host, respectively.
41147
41148 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41149 (host_cpu): Removed.
41150 (target_cpu): New variable.
41151 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41152 (BUILD_CC): Removed.
41153 (BUILD_CFLAGS): Likewise.
41154 (BUILD_CPPFLAGS): Likewise.
41155 (TARGET_CC): New variable.
41156 (TARGET_CFLAGS): Likewise.
41157 (TARGET_CPPFLAGS): Likewise.
41158 (TARGET_LDFLAGS): Likewise.
41159 (AWK): Likewise.
41160 (include): Use target_cpu instead of host_cpu.
41161 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41162
41163 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41164
41165 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41166
41167 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41168 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41169 field 'false' to 'exec_on_false'.
41170 (grub_script_create_cmdif): Renamed argument names to reflect above
41171 changes.
41172
41173 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41174
41175 * normal/script.c (grub_script_create_cmdif): Likewise.
41176
41177 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41178
41179 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41180 top.
41181 (grub_hfsplus_btree_recptr): Likewise.
41182 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41183 FILEBLOCK both to pass a block number and store next block
41184 number.
41185 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41186 overflow file correctly. Specify errors appropriately, because
41187 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41188 grub_hfsplus_btree_recptr to get the pointer to a found key.
41189 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41190 is found.
41191
41192 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41193 linux.mod.
41194 (_linux_mod_SOURCES): New variable.
41195 (_linux_mod_CFLAGS): Likewise.
41196 (_linux_mod_LDFLAGS): Likewise.
41197 (linux_mod_SOURCES): Likewise.
41198 (linux_mod_CFLAGS): Likewise.
41199 (linux_mod_LDFLAGS): Likewise.
41200
41201 * DISTLIST: Added loader/i386/efi/linux.c,
41202 loader/i386/efi/linux_normal.c and
41203 include/grub/i386/efi/loader.h.
41204
41205 * loader/i386/efi/linux.c: New file.
41206 * loader/i386/efi/linux_normal.c: Likewise.
41207 * include/grub/i386/efi/loader.h: Likewise.
41208
41209 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41210
41211 * commands/blocklist.c: New file.
41212
41213 * DISTLIST: Added commands/blocklist.c.
41214
41215 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41216 color for the background, and a darker color for the foreground.
41217 (grub_console_checkkey): Return READ_KEY.
41218 (grub_console_cls): Set the background to
41219 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41220
41221 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41222
41223 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41224 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41225
41226 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41227 prototype.
41228
41229 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41230 BG. The spec is wrong again.
41231
41232 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41233 prototype.
41234 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41235
41236 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41237 commands/blocklist.c.
41238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41239
41240 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41241 (blocklist_mod_SOURCES): New variable.
41242 (blocklist_mod_CFLAGS): Likewise.
41243 (blocklist_mod_LDFLAGS): Likewise.
41244
41245 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41246
41247 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41248 duplication.
41249 (lba_mode): Use %eax more intensively to reduce the code size.
41250
41251 2006-05-20 Marco Gerards <marco@gnu.org>
41252
41253 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41254
41255 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41256 for `menuentry'.
41257 (script): Accept leading newlines.
41258 (newlines): New rule to describe 0 or more newlines.
41259 (commands): Accept `command' with trailing newline. Fixed the
41260 order in which arguments were passed to `grub_script_add_cmd'.
41261 Accept commands separated by newlines.
41262 (function): Changed to accept newlines.
41263 (menuentry) Rewritten.
41264
41265 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41266 front of the list, instead of to the end.
41267
41268 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41269
41270 * util/i386/pc/grub-install.in (bindir): New variable.
41271 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41272 Shaver <lbgwjl@gmail.com>.
41273
41274 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41275
41276 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41277 grub/machine/linux.h
41278 * loader/i386/pc/linux.c: Likewise.
41279
41280 * include/grub/i386/pc/linux.h: Moved to ...
41281 * include/grub/i386/linux.h: ... here.
41282
41283 * include/grub/i386/linux.h (struct linux_kernel_params): New
41284 struct.
41285
41286 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41287
41288 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41289 checking.
41290 (grub_video_vbe_blit_glyph): Likewise.
41291 (grub_video_vbe_blit_bitmap): Likewise.
41292 (grub_video_vbe_blit_render_target): Likewise.
41293
41294 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41295
41296 * configure.ac (--with-platform): Properly quote the square
41297 brackets.
41298
41299 2006-05-08 Marco Gerards <marco@gnu.org>
41300
41301 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41302 this...
41303 (kernel_elf_HEADERS): ...to this. Updated all users.
41304 (grubof_symlist.c): Renamed from this...
41305 (kernel_elf_symlist.c): ...to this. Updated all users.
41306 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41307 (grubof_SOURCES): Renamed from this...
41308 (kernel_elf_SOURCES): ...to this.
41309 (grubof_HEADERS): Renamed from this...
41310 (kernel_elf_HEADERS): ...to this.
41311 (grubof_CFLAGS): Renamed from this...
41312 (kernel_elf_CFLAGS): ...to this.
41313 (grubof_ASFLAGS): Renamed from this...
41314 (kernel_elf_ASFLAGS): ...to this.
41315 (grubof_LDFLAGS): Renamed from this...
41316 (kernel_elf_LDFLAGS): ...to this.
41317
41318 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41319 this...
41320 (kernel_elf_HEADERS): ...to this. Updated all users.
41321 (grubof_symlist.c): Renamed from this...
41322 (kernel_elf_symlist.c): ...to this. Updated all users.
41323 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41324 (grubof_SOURCES): Renamed from this...
41325 (kernel_elf_SOURCES): ...to this.
41326 (grubof_HEADERS): Renamed from this...
41327 (kernel_elf_HEADERS): ...to this.
41328 (grubof_CFLAGS): Renamed from this...
41329 (kernel_elf_CFLAGS): ...to this.
41330 (grubof_ASFLAGS): Renamed from this...
41331 (kernel_elf_ASFLAGS): ...to this.
41332 (grubof_LDFLAGS): Renamed from this...
41333 (kernel_elf_LDFLAGS): ...to this.
41334
41335 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41336 `kernel.elf' instead of `grubof'.
41337
41338 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41339
41340 Add --with-platform to configure. Use pkglibdir instead of
41341 pkgdatadir. This is reported by Roger Leigh.
41342
41343 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41344 (host_vendor): Likewise.
41345 (host_os): Likewise.
41346 (pkgdatadir): Likewise.
41347 (platform): New variable.
41348 (pkglibdir): Likewise.
41349 Use PKGLIBDIR instead of PKGDATADIR.
41350
41351 * util/i386/pc/grub-install.in (datadir): Removed.
41352 (host_vendor): Likewise.
41353 (host_os): Likewise.
41354 (pkgdatadir): Likewise.
41355 (platform): New variable.
41356 (pkglibdir): Likewise.
41357 Use PKGLIBDIR instead of PKGDATADIR.
41358
41359 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41360 instead of GRUB_DATADIR.
41361 (main): Likewise.
41362 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41363 (main): Likewise.
41364 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41365 (main): Likewise.
41366
41367 * configure.ac (--with-platform): New option.
41368 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41369
41370 * Makefile.in: Include a makefile based on PLATFORM instead of
41371 HOST_VENDOR.
41372 (pkgdatadir): Not appended by the machine type.
41373 (pkglibdir): Appended by the machine type.
41374 (host_vendor): Removed.
41375 (platform): New variable.
41376 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41377 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41378 (uninstall): Likewise.
41379
41380 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41381
41382 Use the environment context in the menu. Remove the commands
41383 "default" and "timeout", and use variables instead.
41384
41385 * normal/menu.c: Include grub/env.h.
41386 (print_entry): Cast TITLE to silence gcc.
41387 (get_timeout): New function.
41388 (set_timeout): Likewise.
41389 (get_entry_number): Likewise.
41390 (run_menu): Use a default entry, a fallback entry and a timeout
41391 in the environment variables "default", "fallback" and
41392 "timeout". Also, tweak the default entry if it is not within the
41393 current menu entries.
41394 (grub_menu_run): Use a fallback entry in the environment variable
41395 "fallback".
41396
41397 * normal/main.c (read_config_file): Do not initialize
41398 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41399 NEWMENU->TIMEOUT.
41400 (grub_normal_execute): Use a data slot to store the menu.
41401
41402 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41403 fallback_entry and timeout.
41404 (struct grub_menu_list): Removed.
41405 (grub_menu_list_t): Likewise.
41406 (struct grub_context): Likewise.
41407 (grub_context_t): Likewise.
41408 (grub_context_get): Likewise.
41409 (grub_context_get_current_menu): Likewise.
41410 (grub_context_push_menu): Likewise.
41411 (grub_context_pop_menu): Likewise.
41412 (grub_default_init): Likewise.
41413 (grub_default_fini): Likewise.
41414 (grub_timeout_init): Likewise.
41415 (grub_timeout_fini): Likewise.
41416
41417 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41418 and timeout.mod.
41419 (normal_mod_SOURCES): Removed normal/context.c.
41420
41421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41422 commands/default.c, commands/timeout.c and normal/context.c.
41423 (normal_mod_SOURCES): Removed normal/context.c.
41424
41425 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41426 commands/timeout.c and normal/context.c.
41427 (normal_mod_SOURCES): Removed normal/context.c.
41428
41429 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41430 commands/default.c, commands/timeout.c and normal/context.c.
41431 (normal_mod_SOURCES): Removed normal/context.c.
41432
41433 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41434 timeout.mod.
41435 (default_mod_SOURCES): Removed.
41436 (default_mod_CFLAGS): Likewise.
41437 (default_mod_LDFLAGS): Likewise.
41438 (timeout_mod_SOURCES): Removed.
41439 (timeout_mod_CFLAGS): Likewise.
41440 (timeout_mod_LDFLAGS): Likewise.
41441
41442 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41443 normal/context.c.
41444
41445 * commands/default.c: Removed.
41446 * commands/timeout.c: Likewise.
41447 * normal/context.c: Likewise.
41448
41449 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41450
41451 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41452
41453 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41454
41455 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41456 "next" to "prev" for readability.
41457 (struct grub_env_sorted_var): New struct.
41458 (grub_env_context): Renamed to ...
41459 (initial_context): ... this.
41460 (grub_env_var_context): Renamed to ...
41461 (current_context): ... this.
41462 (grub_env_find): Look only at CURRENT_CONTEXT.
41463 (grub_env_context_open): Rewritten to copy exported variables from
41464 previous context.
41465 (grub_env_context_close): Rewritten according to the new
41466 scheme. Also, add an assertion to prevent the initial context from
41467 removed.
41468 (grub_env_insert): Removed the code for the sorted list.
41469 (grub_env_remove): Likewise.
41470 (grub_env_export): Simply mark the variable with
41471 GRUB_ENV_VAR_GLOBAL.
41472 (grub_env_set): A cosmetic change for naming consistency.
41473 (grub_env_get): Likewise.
41474 (grub_env_unset): Likewise.
41475 (grub_env_iterate): Rewritten to sort variables within this
41476 function.
41477 (grub_register_variable_hook): Fixed for naming consistency. Call
41478 grub_env_find again, only if NAME is not found at the first time.
41479 (mangle_data_slot_name): New function.
41480 (grub_env_set_data_slot): Likewise.
41481 (grub_env_get_data_slot): Likewise.
41482 (grub_env_unset_data_slot): Likewise.
41483
41484 * include/grub/env.h (grub_env_var_type): New enum.
41485 (GRUB_ENV_VAR_LOCAL): New constant.
41486 (GRUB_ENV_VAR_GLOBAL): Likewise.
41487 (GRUB_ENV_VAR_DATA): Likewise.
41488 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41489 "type".
41490 (grub_env_set): Replace VAR with NAME for consistency.
41491 (grub_register_variable_hook): Likewise.
41492 (grub_env_export): Specify the name of the argument.
41493 (grub_env_set_data_slot): New prototype.
41494 (grub_env_get_data_slot): Likewise.
41495 (grub_env_unset_data_slot): Likewise.
41496
41497 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41498
41499 Extend the loader so that GRUB can accept a loader which comes
41500 back to GRUB when a loaded image exits. Also, this change adds
41501 support for a chainloader on EFI.
41502
41503 * term/efi/console.c: Include grub/misc.h.
41504 (grub_console_checkkey): Display a scan code on the top for
41505 debugging. This will be removed once the EFI port gets stable.
41506 Correct the scan code mapping.
41507
41508 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41509 allocate memory from larger regions, in order to reduce the number
41510 of allocated regions. Otherwise, the MacOSX loader panics.
41511 (filter_memory_map): Avoid less than 1MB for compatibility with
41512 other loaders.
41513 (add_memory_regions): Allocate from the tail of a region, if
41514 possible, to avoid allocating a region near to 1MB, for the MacOSX
41515 loader.
41516
41517 * kern/efi/init.c (grub_efi_set_prefix): Specify
41518 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41519
41520 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41521 argument IMAGE_HANDLE and specify it to get a loaded image.
41522 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41523 grub_efi_get_loaded_image.
41524 (grub_efi_get_filename): Divide the length by the size of
41525 grub_efi_char16_t.
41526 (grub_efi_get_device_path): New function.
41527 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41528 the length by the size of grub_efi_char16_t for a file path device
41529 path node.
41530
41531 * kern/loader.c (grub_loader_noreturn): New variable.
41532 (grub_loader_set): Accept a new argument NORETURN. Set
41533 GRUB_LOADER_NORETURN to NORETURN.
41534 All callers changed.
41535 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41536 grub_machine_fini.
41537
41538 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41539 prototype.
41540 (grub_efi_get_loaded_image): Take an argument to specify an image
41541 handle.
41542
41543 * include/grub/loader.h (grub_loader_set): Added one more argument
41544 NORETURN.
41545
41546 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41547 instead of grub_efi_open_protocol.
41548 (grub_efidisk_get_device_name): Likewise.
41549 (grub_efidisk_close): Print a newline.
41550 (grub_efidisk_get_device_handle): Fixed to use
41551 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41552 GRUB_EFI_DEVICE_PATH_TYPE.
41553
41554 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41555 * kern/efi/efi.c (device_path_guid): ... here.
41556
41557 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41558 chain.mod.
41559 (kernel_mod_HEADERS): Added efi/disk.h.
41560 (_chain_mod_SOURCES): New variable.
41561 (_chain_mod_CFLAGS): Likewise.
41562 (_chain_mod_LDFLAGS): Likewise.
41563 (chain_mod_SOURCES): Likewise.
41564 (chain_mod_CFLAGS): Likewise.
41565 (chain_mod_LDFLAGS): Likewise.
41566
41567 * DISTLIST: Added include/grub/efi/chainloader.h,
41568 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41569
41570 * include/grub/efi/chainloader.h: New file.
41571 * loader/efi/chainloader.c: Likewise.
41572 * loader/efi/chainloader_normal.c: Likewise.
41573
41574 2006-04-30 Marco Gerards <marco@gnu.org>
41575
41576 * commands/configfile.c (grub_cmd_source): New function.
41577 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41578 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41579
41580 2006-04-30 Marco Gerards <marco@gnu.org>
41581
41582 * normal/execute.c (grub_script_execute_cmd): Change the return
41583 type to `grub_err_t'. Correctly return the error.
41584 (grub_script_execute_cmdline): In case a command line is not a
41585 command or a function, try to interpret it as an assignment.
41586
41587 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41588
41589 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41590 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41591 skip a node whose name is obviously invalid as UTF-16,
41592 i.e. contains a NUL character. Stop the iteration when the last
41593 directory entry is found. Instead of using the return value of
41594 grub_hfsplus_btree_iterate_node, store the value in RET and use
41595 it, because the iterator can be stopped by the last directory
41596 entry.
41597
41598 2006-04-30 Marco Gerards <marco@gnu.org>
41599
41600 * include/grub/env.h (grub_env_export): New prototype. Reported
41601 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41602
41603 2006-04-30 Marco Gerards <marco@gnu.org>
41604
41605 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41606 size of the extents in a catalog file record.
41607
41608 2006-04-29 Marco Gerards <marco@gnu.org>
41609
41610 * commands/configfile.c (grub_cmd_configfile): Execute the
41611 configfile within its own context.
41612
41613 * include/grub/env.h (grub_env_context_open): New prototype.
41614 (grub_env_context_close): Likewise.
41615
41616 * kern/env.c (grub_env): Removed.
41617 (grub_env_sorted): Likewise.
41618 (grub_env_context): New variable.
41619 (grub_env_var_context): Likewise.
41620 (grub_env_find): Search both the active context and the global
41621 context.
41622 (grub_env_context_open): New function.
41623 (grub_env_context_close): Likewise.
41624 (grub_env_insert): Likewise.
41625 (grub_env_remove): Likewise.
41626 (grub_env_export): Likewise.
41627 (grub_env_set): Changed to use helper functions to avoid code
41628 duplication.
41629 (grub_env_iterate): Rewritten so both the current context and the
41630 global context are being used.
41631
41632 * normal/command.c (export_command): New function.
41633 (grub_command_init): Register the `export' function.
41634
41635 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41636
41637 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41638 explicitly to suppress gcc's warnings.
41639 * fs/fat.c (grub_fat_find_dir): Likewise.
41640 (grub_fat_label): Likewise.
41641 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41642 (grub_xfs_mount): Likewise.
41643 (grub_xfs_label): Likewise.
41644 * fs/affs.c (grub_affs_mount): Likewise.
41645 (grub_affs_label): Likewise.
41646 (grub_affs_iterate_dir): Likewise.
41647 * fs/sfs.c (grub_sfs_mount): Likewise.
41648 (grub_sfs_iterate_dir): Likewise.
41649 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41650 * fs/hfs.c (grub_hfs_mount): Likewise.
41651 (grub_hfs_cmp_catkeys): Likewise.
41652 (grub_hfs_find_dir): Likewise.
41653 (grub_hfs_dir): Likewise.
41654 (grub_hfs_label): Likewise.
41655 * fs/jfs.c (grub_jfs_mount): Likewise.
41656 (grub_jfs_opendir): Likewise.
41657 (grub_jfs_getent): Likewise.
41658 (grub_jfs_lookup_symlink): Likewise.
41659 (grub_jfs_label): Likewise.
41660 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41661 (grub_hfsplus_iterate_dir): Likewise.
41662 (grub_hfsplus_btree_iterate_node): Made static.
41663
41664 * util/grub-emu.c (prefix): New variable.
41665 (grub_machine_set_prefix): New function.
41666 (main): Do not set the environment variable "prefix" here. Only
41667 set PREFIX, which is used later by grub_machine_set_prefix.
41668
41669 * include/grub/video.h: Do not include grub/symbol.h.
41670 (grub_video_register): Not exported. This symbol is not defined in
41671 the kernel.
41672 (grub_video_unregister): Likewise.
41673 (grub_video_iterate): Likewise.
41674 (grub_video_setup): Likewise.
41675 (grub_video_restore): Likewise.
41676 (grub_video_get_info): Likewise.
41677 (grub_video_get_blit_format): Likewise.
41678 (grub_video_set_palette): Likewise.
41679 (grub_video_get_palette): Likewise.
41680 (grub_video_set_viewport): Likewise.
41681 (grub_video_get_viewport): Likewise.
41682 (grub_video_map_color): Likewise.
41683 (grub_video_map_rgb): Likewise.
41684 (grub_video_map_rgba): Likewise.
41685 (grub_video_fill_rect): Likewise.
41686 (grub_video_blit_glyph): Likewise.
41687 (grub_video_blit_bitmap): Likewise.
41688 (grub_video_blit_render_target): Likewise.
41689 (grub_video_scroll): Likewise.
41690 (grub_video_swap_buffers): Likewise.
41691 (grub_video_create_render_target): Likewise.
41692 (grub_video_delete_render_target): Likewise.
41693 (grub_video_set_active_render_target): Likewise.
41694
41695 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41696 Undefined.
41697 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41698
41699 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41700 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41701 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41702 instead of $(srcdir)/genkernsyms.sh.
41703
41704 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41705 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41706 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41707 instead of $(srcdir)/genkernsyms.sh.
41708
41709 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41710 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41711 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41712 instead of $(srcdir)/genkernsyms.sh.
41713
41714 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41715 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41716 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41717 instead of $(srcdir)/genkernsyms.sh.
41718
41719 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41720 genkernsyms.sh.
41721
41722 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41723 genkernsyms.sh.
41724 (gensymlist.sh): New target.
41725 (genkernsyms.sh): Likewise.
41726
41727 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41728 genkernsyms.sh.in and gensymlist.sh.in.
41729
41730 * genkernsyms.sh: Removed.
41731 * gensymlist.sh: Likewise.
41732
41733 * genkernsyms.sh.in: New file.
41734 * gensymlist.sh.in: Likewise.
41735
41736 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41737
41738 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41739 clobber "prefix", since we may have already set it manually.
41740
41741 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41742
41743 * kern/misc.c (abort): New alias for grub_abort.
41744
41745 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41746
41747 A new machine-specific function "grub_machine_set_prefix" is
41748 defined. This is called after loading modules, so that a prefix
41749 initialization can use modules. Also, this change adds an
41750 intensive debugging feature for the memory manager via the
41751 configure option "--enable-mm-debug".
41752
41753 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41754 PART.LEN.
41755
41756 * kern/sparc64/ieee1275/init.c (abort): Removed.
41757 (grub_stop): Likewise.
41758 (grub_exit): New function.
41759 (grub_set_prefix): Renamed to ...
41760 (grub_machine_set_prefix): ... this.
41761 (grub_machine_init): Do not call grub_set_prefix.
41762
41763 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41764 (grub_machine_set_prefix): ... this.
41765 (grub_machine_init): Do not call grub_set_prefix.
41766
41767 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41768 (grub_machine_init): Do not set the prefix here.
41769
41770 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41771
41772 * kern/efi/init.c: Include grub/mm.h.
41773 (grub_efi_set_prefix): New function.
41774
41775 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41776 (grub_efi_get_filename): New function.
41777 (grub_print_device_path): Renamed to ...
41778 (grub_efi_print_device_path): ... this.
41779
41780 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41781 [MM_DEBUG] (grub_realloc): Likewise.
41782 [MM_DEBUG] (grub_free): Likewise.
41783 [MM_DEBUG] (grub_memalign): Likewise.
41784 [MM_DEBUG] (grub_mm_debug): New variable.
41785 [MM_DEBUG] (grub_debug_malloc): New function.
41786 [MM_DEBUG] (grub_debug_free): New function.
41787 [MM_DEBUG] (grub_debug_realloc): New function.
41788 [MM_DEBUG] (grub_debug_memalign): New function.
41789
41790 * kern/misc.c (grub_abort): Print a newline to distinguish
41791 the message.
41792
41793 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41794 grub_set_root_dev after loading modules. This is necessary when
41795 setting a prefix depends on modules.
41796
41797 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41798 (grub_efi_print_device_path): ... this.
41799 (grub_efi_get_filename): New prototype.
41800 (grub_efi_set_prefix): Likewise.
41801
41802 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41803 and grub/disk.h.
41804 (grub_efidisk_get_device_handle): New prototype.
41805 (grub_efidisk_get_device_name): Likewise.
41806
41807 * include/grub/mm.h: Include config.h.
41808 (MM_DEBUG): Removed.
41809 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41810 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41811 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41812 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41813 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41814 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41815 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41816 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41817 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41818
41819 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41820
41821 * disk/efi/efidisk.c: Include grub/partition.h.
41822 (iterate_child_devices): New function.
41823 (add_device): First, compare only last device path nodes, so that
41824 devices are sorted by the types.
41825 (grub_efidisk_get_device_handle): New function.
41826 (grub_efidisk_get_device_name): Likewise.
41827
41828 * configure.ac (--enable-mm-debug): New option to enable the
41829 memory manager debugging feature. This makes the binary much
41830 bigger, so is disabled by default.
41831
41832 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41833
41834 Use grub_abort instead of grub_stop, and grub_exit must be
41835 define in each architecture now. Also, this change adds support
41836 for EFI disks.
41837
41838 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41839 (grub_getkey): New function.
41840 (grub_term_get_current): Likewise.
41841
41842 * util/i386/pc/grub-setup.c: Include grub/term.h.
41843 (grub_getkey): New function.
41844 (grub_term_get_current): Likewise.
41845
41846 * util/misc.c (grub_stop): Renamed to ...
41847 (grub_exit): ... this.
41848
41849 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41850 (grub_exit): ... this.
41851 (grub_machine_init): Use grub_abort instead of abort.
41852 (grub_stop): Removed.
41853
41854 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41855 abort.
41856
41857 * kern/i386/pc/startup.S (grub_exit): New function.
41858 (cold_reboot): New label.
41859
41860 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41861 (grub_efi_init): Call grub_efidisk_init.
41862 (grub_efi_fini): Call grub_efidisk_fini.
41863
41864 * kern/efi/efi.c: Include grub/mm.h.
41865 (grub_efi_console_control_guid): Renamed to ...
41866 (console_control_guid): ... this.
41867 (grub_efi_loaded_image_guid): Renamed to ...
41868 (loaded_image_guid): ... this.
41869 (grub_efi_locate_handle): New function.
41870 (grub_efi_open_protocol): Likewise.
41871 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41872 GRUB_EFI_CONSOLE_CONTROL_GUID.
41873 (grub_efi_exit): Removed.
41874 (grub_stop): Likewise.
41875 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41876 (grub_exit): New function.
41877 (grub_print_device_path): Likewise.
41878
41879 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41880 (grub_enter_rescue_mode): Register "exit".
41881
41882 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41883 (grub_abort): New function.
41884
41885 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41886
41887 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41888
41889 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41890
41891 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41892 (grub_print_device_path): New prototype.
41893 (grub_efi_locate_handle): Likewise.
41894 (grub_efi_open_protocol): Likewise.
41895
41896 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41897 * disk/efi/efidisk.c: Likewise.
41898
41899 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41900
41901 * include/grub/efi/console_control.h
41902 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41903
41904 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41905 last 8 bytes as an array.
41906 (GRUB_EFI_DISK_IO_GUID): New macro.
41907 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41908 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41909 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41910 grub_uint8_t.
41911 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41912 (struct grub_efi_device_path): Rename the member "sub_type" to
41913 "subtype".
41914 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41915 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41916 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41917 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41918 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41919 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41920 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41921 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41922 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41923 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41924 (struct grub_efi_pci_device_path): New structure.
41925 (grub_efi_pci_device_path_t): New type.
41926 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41927 (struct grub_efi_pccard_device_path): New structure.
41928 (grub_efi_pccard_device_path_t): New type.
41929 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41930 (struct grub_efi_memory_mapped_device_path): New structure.
41931 (grub_efi_memory_mapped_device_path_t): New type.
41932 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41933 (struct grub_efi_vendor_device_path): New structure.
41934 (grub_efi_vendor_device_path_t): New type.
41935 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41936 (struct grub_efi_controller_device_path): New structure.
41937 (grub_efi_controller_device_path_t): New type.
41938 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41939 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41940 (struct grub_efi_acpi_device_path): New structure.
41941 (grub_efi_acpi_device_path_t): New type.
41942 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41943 (struct grub_efi_expanded_acpi_device_path): New structure.
41944 (grub_efi_expanded_acpi_device_path_t): New type.
41945 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41946 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41947 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41948 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41949 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41950 (struct grub_efi_atapi_device_path): New structure.
41951 (grub_efi_atapi_device_path_t): New type.
41952 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41953 (struct grub_efi_fibre_channel_device_path): New structure.
41954 (grub_efi_fibre_channel_device_path_t): New type.
41955 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41956 (struct grub_efi_1394_device_path): New structure.
41957 (grub_efi_1394_device_path_t): New type.
41958 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41959 (struct grub_efi_usb_device_path): New structure.
41960 (grub_efi_usb_device_path_t): New type.
41961 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41962 (struct grub_efi_usb_class_device_path): New structure.
41963 (grub_efi_usb_class_device_path_t): New type.
41964 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41965 (struct grub_efi_i2o_device_path): New structure.
41966 (grub_efi_i2o_device_path_t): New type.
41967 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41968 (struct grub_efi_mac_address_device_path): New structure.
41969 (grub_efi_mac_address_device_path_t): New type.
41970 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41971 (struct grub_efi_ipv4_device_path): New structure.
41972 (grub_efi_ipv4_device_path_t): New type.
41973 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41974 (struct grub_efi_ipv6_device_path): New structure.
41975 (grub_efi_ipv6_device_path_t): New type.
41976 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41977 (struct grub_efi_infiniband_device_path): New structure.
41978 (grub_efi_infiniband_device_path_t): New type.
41979 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41980 (struct grub_efi_uart_device_path): New structure.
41981 (grub_efi_uart_device_path_t): New type.
41982 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41983 (struct grub_efi_vendor_messaging_device_path): New structure.
41984 (grub_efi_vendor_messaging_device_path_t): New type.
41985 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41986 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41987 (struct grub_efi_hard_drive_device_path): New structure.
41988 (grub_efi_hard_drive_device_path_t): New type.
41989 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41990 (struct grub_efi_cdrom_device_path): New structure.
41991 (grub_efi_cdrom_device_path_t): New type.
41992 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41993 (struct grub_efi_vendor_media_device_path): New structure.
41994 (grub_efi_vendor_media_device_path_t): New type.
41995 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41996 (struct grub_efi_file_path_device_path): New structure.
41997 (grub_efi_file_path_device_path_t): New type.
41998 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41999 (struct grub_efi_protocol_device_path): New structure.
42000 (grub_efi_protocol_device_path_t): New type.
42001 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42002 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42003 (struct grub_efi_bios_device_path): New structure.
42004 (grub_efi_bios_device_path_t): New type.
42005 (struct grub_efi_disk_io): New structure.
42006 (grub_efi_disk_io_t): New type.
42007 (struct grub_efi_block_io_media): New structure.
42008 (grub_efi_block_io_media_t): New type.
42009 (struct grub_efi_block_io): New structure.
42010 (grub_efi_block_io_t): New type.
42011
42012 * include/grub/misc.h (grub_stop): Removed.
42013 (grub_exit): New prototype.
42014 (grub_abort): Likewise.
42015
42016 * include/grub/disk.h (enum grub_disk_dev_id): Added
42017 GRUB_DISK_DEVICE_EFIDISK_ID.
42018
42019 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42020 disk/efi/efidisk.c.
42021 (kernel_syms.lst): Remove the target if an error occurs.
42022
42023 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42024
42025 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42026 as it was simply too buggy.
42027
42028 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42029
42030 * kern/misc.c (grub_lltoa): New function.
42031 (grub_vsprintf): Added support for the long long suffix,
42032 i.e. "ll".
42033
42034 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42035
42036 * Makefile.in (LDFLAGS): Add variable.
42037 (LD): Remove variable.
42038 * configure.ac: Add -m32 to LDFLAGS.
42039 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42040 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42041 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42042 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42043 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42044 variables.
42045 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42046 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42047 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42048
42049 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42050
42051 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42052 length for unknown glyph.
42053
42054 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42055
42056 Add support for pre-loaded modules into the EFI port.
42057
42058 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42059 completely. Accept one more argument DIR. The caller has changed.
42060
42061 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42062
42063 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42064 (grub_efi_loaded_image_guid): New variable.
42065 (grub_efi_get_loaded_image): New function.
42066 (grub_arch_modules_addr): Likewise.
42067
42068 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42069 prototype.
42070
42071 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42072 (struct grub_efi_loaded_image): New structure.
42073 (grub_efi_loaded_image_t): New type.
42074
42075 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42076
42077 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42078 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42079 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42080
42081 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42082
42083 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42084
42085 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42086
42087 * DISTLIST: Added include/grub/efi/console.h,
42088 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42089 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42090
42091 * include/grub/efi/console.h: New file.
42092 * include/grub/efi/time.h: Likewise.
42093 * include/grub/i386/efi/kernel.h: Likewise.
42094 * kern/efi/init.c: Likewise.
42095 * kern/efi/mm.c: Likewise.
42096 * term/efi/console.c: Likewise.
42097
42098 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42099 (grub_stop): Removed.
42100 (grub_get_rtc): Likewise.
42101 (grub_machine_init): Simply call grub_efi_init.
42102 (grub_machine_fini): Call grub_efi_fini.
42103
42104 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42105 (grub_efi_output_string): Removed.
42106 (grub_efi_stall): New function.
42107 (grub_stop): Likewise.
42108 (grub_get_rtc): Likewise.
42109
42110 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42111 (grub_efi_stall): New prototype.
42112 (grub_efi_allocate_pages): Likewise.
42113 (grub_efi_free_pages): Likewise.
42114 (grub_efi_get_memory_map): Likewise.
42115 (grub_efi_mm_init): Likewise.
42116 (grub_efi_mm_fini): Likewise.
42117 (grub_efi_init): Likewise.
42118 (grub_efi_fini): Likewise.
42119
42120 * include/grub/i386/efi/time.h: Do not include
42121 grub/symbol.h. Include grub/efi/time.h.
42122 (GRUB_TICKS_PER_SECOND): Removed.
42123 (grub_get_rtc): Likewise.
42124
42125 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42126 Added padding. The EFI spec is buggy.
42127 (GRUB_EFI_BLACK): New macro.
42128 (GRUB_EFI_BLUE): Likewise.
42129 (GRUB_EFI_GREEN): Likewise.
42130 (GRUB_EFI_CYAN): Likewise.
42131 (GRUB_EFI_RED): Likewise.
42132 (GRUB_EFI_MAGENTA): Likewise.
42133 (GRUB_EFI_BROWN): Likewise.
42134 (GRUB_EFI_LIGHTGRAY): Likewise.
42135 (GRUB_EFI_BRIGHT): Likewise.
42136 (GRUB_EFI_DARKGRAY): Likewise.
42137 (GRUB_EFI_LIGHTBLUE): Likewise.
42138 (GRUB_EFI_LIGHTGREEN): Likewise.
42139 (GRUB_EFI_LIGHTCYAN): Likewise.
42140 (GRUB_EFI_LIGHTRED): Likewise.
42141 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42142 (GRUB_EFI_YELLOW): Likewise.
42143 (GRUB_EFI_WHITE): Likewise.
42144 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42145 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42146 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42147 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42148 (GRUB_EFI_BACKGROUND_RED): Likewise.
42149 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42150 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42151 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42152 (GRUB_EFI_TEXT_ATTR): Likewise.
42153
42154 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42155 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42156 (kernel_mod_HEADERS): Added efi/time.h.
42157
42158 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42159
42160 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42161 include/grub/efi/api.h, include/grub/efi/console_control.h,
42162 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42163 include/grub/i386/efi/time.h, kern/efi/efi.c,
42164 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42165 and util/i386/efi/grub-mkimage.c.
42166
42167 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42168
42169 * genmk.rb (PModule#rule): Do not export symbols if
42170 #{prefix}_EXPORTS is set to "no".
42171
42172 * conf/i386-efi.mk: New file.
42173 * conf/i386-efi.rmk: Likewise.
42174 * include/grub/efi/api.h: Likewise.
42175 * include/grub/efi/console_control.h: Likewise.
42176 * include/grub/efi/efi.h: Likewise.
42177 * include/grub/efi/pe32.h: Likewise.
42178 * include/grub/i386/efi/time.h: Likewise.
42179 * kern/efi/efi.c: Likewise.
42180 * kern/i386/efi/init.c: Likewise.
42181 * kern/i386/efi/startup.S: Likewise.
42182 * util/i386/efi/grub-mkimage.c: Likewise.
42183
42184 2006-04-17 Marco Gerards <marco@gnu.org>
42185
42186 * include/grub/script.h: Include <grub/parser.h> and
42187 "grub_script.tab.h".
42188 (struct grub_lexer_param): New struct.
42189 (struct grub_parser_param): Likewise.
42190 (grub_script_create_arglist): Pass the state in an argument.
42191 (grub_script_add_arglist): Likewise.
42192 (grub_script_create_cmdline): Likewise.
42193 (grub_script_create_cmdblock): Likewise.
42194 (grub_script_create_cmdif): Likewise.
42195 (grub_script_create_cmdmenu): Likewise.
42196 (grub_script_add_cmd): Likewise.
42197 (grub_script_arg_add): Likewise.
42198 (grub_script_lexer_ref): Likewise.
42199 (grub_script_lexer_deref): Likewise.
42200 (grub_script_lexer_record_start): Likewise.
42201 (grub_script_lexer_record_stop): Likewise.
42202 (grub_script_mem_record): Likewise.
42203 (grub_script_mem_record_stop): Likewise.
42204 (grub_script_malloc): Likewise.
42205 (grub_script_yylex): Likewise.
42206 (grub_script_yyparse): Likewise.
42207 (grub_script_yyerror): Likewise.
42208 (grub_script_yylex): Likewise.
42209 (grub_script_lexer_init): Return the state.
42210
42211 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42212 (grub_script_lexer_done): Likewise.
42213 (grub_script_lexer_getline): Likewise.
42214 (grub_script_lexer_refs): Likewise.
42215 (script): Likewise.
42216 (newscript): Likewise.
42217 (record): Likewise.
42218 (recording): Likewise.
42219 (recordpos): Likewise.
42220 (recordlen): Likewise.
42221 (grub_script_lexer_init): Return the state instead of setting
42222 global variables.
42223 (grub_script_lexer_ref): Use the newly added argument for state
42224 instead of globals.
42225 (grub_script_lexer_deref): Likewise.
42226 (grub_script_lexer_record_start): Likewise.
42227 (grub_script_lexer_record_stop): Likewise.
42228 (recordchar): Likewise.
42229 (nextchar): Likewise.
42230 (grub_script_yylex2): Likewise.
42231 (grub_script_yylex): Likewise.
42232 (grub_script_yyerror): Likewise.
42233
42234 * normal/parser.y (func_mem): Removed variable.
42235 (menu_entry): Likewise.
42236 (err): Likewise.
42237 (%lex-param): New parser option.
42238 (%parse-param): Likewise.
42239 (script): Always return the AST.
42240 (argument): Pass the state around.
42241 (arguments): Likewise.
42242 (grubcmd): Likewise.
42243 (commands): Likewise.
42244 (function): Likewise.
42245 (menuentry): Likewise.
42246 (if_statement): Likewise.
42247 (if): Likewise.
42248
42249 * normal/script.c (grub_script_memused): Removed variable.
42250 (grub_script_parsed): Likewise.
42251 (grub_script_malloc): Added a state argument. Use that instead of
42252 global variables.
42253 (grub_script_mem_record): Likewise.
42254 (grub_script_mem_record_stop): Likewise.
42255 (grub_script_arg_add): Likewise.
42256 (grub_script_add_arglist): Likewise.
42257 (grub_script_create_cmdline): Likewise.
42258 (grub_script_create_cmdif): Likewise.
42259 (grub_script_create_cmdmenu): Likewise.
42260 (grub_script_add_cmd): Likewise.
42261 (grub_script_parse): Setup the state before calling the parser.
42262
42263 2006-04-16 Marco Gerards <marco@gnu.org>
42264
42265 * normal/command.c (grub_command_init): Remove the title command.
42266
42267 * normal/lexer.c (grub_script_yylex): Renamed from this...
42268 (grub_script_yylex2): ... to this.
42269 (grub_script_yylex): New function. Temporary
42270 introduced to filter some tokens.
42271 (grub_script_yyerror): Print a newline.
42272
42273 * normal/main.c (read_config_file): Output information about the
42274 lines that contain errors. Wait for a key after all lines have
42275 been processed. Don't return an empty menu.
42276
42277 * normal/parser.y (func_mem): Don't initialize.
42278 (menu_entry): Likewise.
42279 (err): New variable.
42280 (script): Don't return anything when an error was encountered.
42281 (ws, returns): Removed rules.
42282 (argument): Disabled concatenated variable support.
42283 (arguments): Remove explicit separators.
42284 (grubcmd): Likewise.
42285 (function): Likewise.
42286 (menuentry): Likewise.
42287 (if): Likewise.
42288 (commands): Likewise. Add error handling.
42289
42290 * normal/script.c (grub_script_create_cmdline): If
42291 `grub_script_parsed' is 0, assume the parser encountered an error.
42292
42293 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42294
42295 * configure.ac: Add support for EFI. Fix the typo
42296 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42297
42298 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42299
42300 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42301 foreign multibyte characters should be shown correctly.
42302
42303 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42304
42305 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42306 calculation.
42307 (read_config_file): Made it to close file before returning.
42308
42309 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42310
42311 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42312 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42313 video/i386/pc/vbefill.c.
42314
42315 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42316 video/i386/pc/vbefill.c.
42317
42318 * include/grub/video.h (grub_video_blit_format): New enum.
42319 (grub_video_mode_info): Added new member blit_format.
42320 (grub_video_get_blit_format): New function prototype.
42321
42322 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42323 function prototype.
42324 (grub_video_vbe_map_rgb): Likewise.
42325 (grub_video_vbe_unmap_color): Likewise.
42326
42327 * include/grub/i386/pc/vbeblit.h: New file.
42328
42329 * include/grub/i386/pc/vbefill.h: New file.
42330
42331 * video/video.c (grub_video_get_blit_format): New function.
42332 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42333 (grub_video_vbe_map_rgb): Likewise.
42334 (grub_video_vbe_unmap_color): Likewise.
42335
42336 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42337 optimized fills.
42338 (grub_video_vbe_blit_render_target): Changed to use more optimized
42339 blits.
42340 (grub_video_vbe_setup): Added detection for optimized settings.
42341 (grub_video_vbe_create_render_target): Likewise.
42342
42343 * video/i386/pc/vbeblit.c: New file.
42344
42345 * video/i386/pc/vbefill.c: New file.
42346
42347 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42348
42349 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42350 here...
42351
42352 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42353 parsing to support both hex and dec ranges. If filename was missing
42354 show usage information.
42355
42356 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42357
42358 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42359 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42360
42361 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42362 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42363 (video_mod_SOURCES): Added.
42364 (video_mod_CFLAGS): Likewise.
42365 (video_mod_LDFLAGS): Likewise.
42366 (gfxterm_mod_SOURCES): Likewise.
42367 (gfxterm_mod_CFLAGS): Likewise.
42368 (gfxterm_mod_LDFLAGS): Likewise.
42369 (videotest_mod_SOURCES): Likewise.
42370 (videotest_mod_CFLAGS): Likewise.
42371 (videotest_mod_LDFLAGS): Likewise.
42372 (vesafb_mod_SOURCES): Removed.
42373 (vesafb_mod_CFLAGS): Likewise.
42374 (vesafb_mod_LDFLAGS): Likewise.
42375 (vga_mod_SOURCES): Likewise.
42376 (vga_mod_CFLAGS): Likewise.
42377 (vga_mod_LDFLAGS): Likewise.
42378
42379 * commands/videotest.c: New file.
42380
42381 * font/manager.c (fill_with_default_glyph): Modified to use
42382 grub_font_glyph.
42383 (grub_font_get_glyph): Likewise.
42384 (fontmanager): Renamed from this...
42385 (font_manager): ... to this.
42386
42387 * include/grub/font.h (grub_font_glyph): Added new structure.
42388 (grub_font_get_glyph): Modified to use grub_font_glyph.
42389
42390 * include/grub/misc.h (grub_abs): Added as inline function.
42391
42392 * include/grub/video.h: New file.
42393
42394 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42395 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42396 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42397 (grub_vbe_get_controller_info): Renamed from this...
42398 (grub_vbe_bios_get_controller_info): ... to this.
42399 (grub_vbe_get_mode_info): Renamed from this...
42400 (grub_vbe_bios_get_mode_info): ... to this.
42401 (grub_vbe_set_mode): Renamed from this...
42402 (grub_vbe_bios_set_mode): ... to this.
42403 (grub_vbe_get_mode): Renamed from this...
42404 (grub_vbe_bios_get_mode): ... to this.
42405 (grub_vbe_set_memory_window): Renamed from this...
42406 (grub_vbe_bios_set_memory_window): ... to this.
42407 (grub_vbe_get_memory_window): Renamed from this...
42408 (grub_vbe_bios_get_memory_window): ... to this.
42409 (grub_vbe_set_scanline_length): Renamed from this...
42410 (grub_vbe_set_scanline_length): ... to this.
42411 (grub_vbe_get_scanline_length): Renamed from this...
42412 (grub_vbe_bios_get_scanline_length): ... to this.
42413 (grub_vbe_set_display_start): Renamed from this...
42414 (grub_vbe_bios_set_display_start): ... to this.
42415 (grub_vbe_get_display_start): Renamed from this...
42416 (grub_vbe_bios_get_display_start): ... to this.
42417 (grub_vbe_set_palette_data): Renamed from this...
42418 (grub_vbe_bios_set_palette_data): ... to this.
42419 (grub_vbe_set_pixel_rgb): Removed.
42420 (grub_vbe_set_pixel_index): Likewise.
42421
42422 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42423 from this...
42424 (grub_vbe_bios_get_controller_info): ... to this.
42425 (grub_vbe_get_mode_info): Renamed from this...
42426 (grub_vbe_bios_get_mode_info): ... to this.
42427 (grub_vbe_set_mode): Renamed from this...
42428 (grub_vbe_bios_set_mode): ... to this.
42429 (grub_vbe_get_mode): Renamed from this...
42430 (grub_vbe_bios_get_mode): ... to this.
42431 (grub_vbe_set_memory_window): Renamed from this...
42432 (grub_vbe_bios_set_memory_window): ... to this.
42433 (grub_vbe_get_memory_window): Renamed from this...
42434 (grub_vbe_bios_get_memory_window): ... to this.
42435 (grub_vbe_set_scanline_length): Renamed from this...
42436 (grub_vbe_set_scanline_length): ... to this.
42437 (grub_vbe_get_scanline_length): Renamed from this...
42438 (grub_vbe_bios_get_scanline_length): ... to this.
42439 (grub_vbe_set_display_start): Renamed from this...
42440 (grub_vbe_bios_set_display_start): ... to this.
42441 (grub_vbe_get_display_start): Renamed from this...
42442 (grub_vbe_bios_get_display_start): ... to this.
42443 (grub_vbe_set_palette_data): Renamed from this...
42444 (grub_vbe_bios_set_palette_data): ... to this.
42445 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42446 getting corrupted after calling it. Added more pushes and pops.
42447 (grub_vbe_bios_set_mode): Likewise.
42448 (grub_vbe_bios_get_mode): Likewise.
42449 (grub_vbe_bios_get_memory_window): Likewise.
42450 (grub_vbe_bios_set_scanline_length): Likewise.
42451 (grub_vbe_bios_get_scanline_length): Likewise.
42452 (grub_vbe_bios_get_display_start): Likewise.
42453 (grub_vbe_bios_set_palette_data): Likewise.
42454
42455 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42456 (cl_insert): Likewise.
42457 (cl_delete): Likewise.
42458
42459 * term/gfxterm.c: New file.
42460
42461 * term/i386/pc/vesafb.c: Removed file.
42462
42463 * video/video.c: New file.
42464
42465 * video/i386/pc/vbe.c (real2pm): Added new function.
42466 (grub_video_vbe_draw_pixel): Likewise.
42467 (grub_video_vbe_get_video_ptr): Likewise.
42468 (grub_video_vbe_get_pixel): Likewise
42469 (grub_video_vbe_init): Likewise.
42470 (grub_video_vbe_fini): Likewise.
42471 (grub_video_vbe_setup): Likewise.
42472 (grub_video_vbe_get_info): Likewise.
42473 (grub_video_vbe_set_palette): Likewise.
42474 (grub_video_vbe_get_palette): Likewise.
42475 (grub_video_vbe_set_viewport): Likewise.
42476 (grub_video_vbe_get_viewport): Likewise.
42477 (grub_video_vbe_map_color): Likewise.
42478 (grub_video_vbe_map_rgb): Likewise.
42479 (grub_video_vbe_map_rgba): Likewise.
42480 (grub_video_vbe_unmap_color): Likewise.
42481 (grub_video_vbe_fill_rect): Likewise.
42482 (grub_video_vbe_blit_glyph): Likewise.
42483 (grub_video_vbe_blit_bitmap): Likewise.
42484 (grub_video_vbe_blit_render_target): Likewise.
42485 (grub_video_vbe_scroll): Likewise.
42486 (grub_video_vbe_swap_buffers): Likewise.
42487 (grub_video_vbe_create_render_target): Likewise.
42488 (grub_video_vbe_delete_render_target): Likewise.
42489 (grub_video_vbe_set_active_render_target): Likewise.
42490 (grub_vbe_set_pixel_rgb): Remove function.
42491 (grub_vbe_set_pixel_index): Likewise.
42492 (index_color_mode): Remove static variable.
42493 (active_mode): Likewise.
42494 (framebuffer): Likewise.
42495 (bytes_per_scan_line): Likewise.
42496 (grub_video_vbe_adapter): Added new static variable.
42497 (framebuffer): Likewise.
42498 (render_target): Likewise.
42499 (initial_mode): Likewise.
42500 (mode_in_use): Likewise.
42501 (mode_list): Likewise.
42502
42503 2006-03-10 Marco Gerards <marco@gnu.org>
42504
42505 * configure.ac (AC_INIT): Bumped to 1.93.
42506
42507 * DISTLIST: Added `include/grub/hfs.h'.
42508
42509 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42510
42511 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42512 18H, which might help the BIOS falling back to next boot media.
42513
42514 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42515
42516 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42517 Poe Chen <poe.poechen@gmail.com>.
42518
42519 2006-01-17 Marco Gerards <marco@gnu.org>
42520
42521 * include/grub/normal.h: Include <grub/script.h>.
42522 (grub_command_list): Removed struct.
42523 (grub_command_list_t): Removed type.
42524 (grub_menu_entry): Remove members `num' and `command_list'. Add
42525 members `commands' and `sourcecode'.
42526 * include/grub/script.h: Add inclusion guards.
42527 (grub_script_cmd_menuentry): New struct.
42528 (grub_script_execute_menuentry): New prototype.
42529 (grub_script_lexer_record_start): Likewise.
42530 (grub_script_lexer_record_stop): Likewise.
42531 * normal/execute.c (grub_script_execute_menuentry): New function.
42532 * normal/lexer.c (record, recording, recordpos, recordlen): New
42533 variables.
42534 (grub_script_lexer_record_start): New function.
42535 (grub_script_lexer_record_stop): Likewise.
42536 (recordchar): Likewise.
42537 (nextchar): Likewise.
42538 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42539 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42540 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42541 (current_menu): New variable.
42542 (free_menu): Mainly rewritten.
42543 (grub_normal_menu_addentry): New function.
42544 (read_config_file): Rewritten.
42545 * normal/menu.c (run_menu_entry): Mainly rewritten.
42546 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42547 the menu entry.
42548 (run): Mainly rewritten.
42549 * normal/parser.y (menu_entry): New variable.
42550 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42551 (menuentry): New rule.
42552 (command): Add `menuentry'.
42553 (if_statement): Allow additional returns before `fi'.
42554 * normal/script.c (grub_script_create_cmdmenu): New function.
42555
42556 2006-01-03 Marco Gerards <marco@gnu.org>
42557
42558 * INSTALL: GNU Bison is required.
42559 * configure.ac: Rewritten the test to detect Bison.
42560 * Makefile.in (YACC): New variable. Reported by Xun Sun
42561 <xun.sun.cn@gmail.com>.
42562
42563 2006-01-03 Marco Gerards <marco@gnu.org>
42564
42565 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42566 the HFS+ filesystem to filesystem blocks.
42567 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42568 GCC warning is silenced.
42569
42570 2006-01-03 Marco Gerards <marco@gnu.org>
42571
42572 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42573 read from disk from big endian to host byte order.
42574
42575 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42576
42577 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42578 documentation.
42579 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42580 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42581 embedded HFS+ filesystem.
42582 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42583 (grub_hfs_sblock): Move from here...
42584 * include/grub/hfs.h: To here... New file.
42585 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42586 documentation.
42587 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42588 New macros.
42589 (grub_hfsplus_volheader): Change type of member `magic' to
42590 `grub_uint16_t'.
42591 (grub_hfsplus_data): Add new member `embedded_offset'.
42592 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42593 returned block.
42594 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42595 Calculate the offset.
42596
42597 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42598
42599 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42600 Removed.
42601 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42602
42603 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42604
42605 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42606 ENV->NAME is NULL after allocating ENV->VALUE.
42607
42608 2005-12-25 Marco Gerards <marco@gnu.org>
42609
42610 * kern/env.c (grub_env_set): Rewritten the error handling code.
42611
42612 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42613
42614 * geninit.sh: Made more robust, and more portable.
42615
42616 2005-12-25 Marco Gerards <marco@gnu.org>
42617
42618 Add support for Apple HFS+ filesystems.
42619
42620 * fs/hfsplus.c: New file.
42621
42622 * DISTLIST: Added `fs/hfsplus.c'.
42623
42624 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42625 (hfsplus_mod_SOURCES): New variable.
42626 (hfsplus_mod_CFLAGS): Likewise.
42627 (hfsplus_mod_LDFLAGS): Likewise.
42628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42629 (grub_setup_SOURCES): Likewise.
42630 (grub_mkdevicemap_SOURCES): Likewise.
42631 (grub_emu_SOURCES): Likewise.
42632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42633
42634 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42635
42636 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42637
42638 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42639
42640 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42641 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42642 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42643 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42644 normal/lexer.c, normal/parser.y, normal/script.c, and
42645 partmap/gpt.c.
42646 Removed kern/sparc64/cache.c.
42647
42648 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42649 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42650 grub_emu_init.c.
42651
42652 * configure.ac (AC_INIT): Bumped to 1.92.
42653
42654 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42655
42656 * kern/err.c (grub_error_push): Added new function to support error
42657 stacks.
42658 (grub_error_pop): Likewise.
42659 (grub_error_stack_items): New local variable to support error stacks.
42660 (grub_error_stack_pos): Likewise.
42661 (grub_error_stack_assert): Likewise.
42662 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42663 stack depth.
42664 (grub_print_error): Added support to print errors from error stack.
42665
42666 * include/grub/err.h (grub_error_push): Added function prototype.
42667 (grub_error_pop): Likewise.
42668
42669 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42670
42671 * configure.ac: Accept `powerpc64' as host_cpu.
42672 (amd64): Rename to `biarch32'.
42673
42674 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42675 non-cacheline-aligned addresses.
42676
42677 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42678 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42679 if `size' is non-zero.
42680
42681 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42682
42683 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42684 and `cd' to make sure the filename is not prefixed with a
42685 directory name.
42686 (pkgdata_MODULES): Add `gpt.mod'.
42687 (gpt_mod_SOURCES): New variable.
42688 (gpt_mod_CFLAGS): Likewise.
42689 (gpt_mod_LDFLAGS): Likewise.
42690
42691 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42692
42693 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42694 New macro.
42695
42696 * partmap/gpt.c: New file.
42697
42698 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42699 GPT partition map is detected.
42700
42701 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42702
42703 * commands/i386/pc/play.c: New file.
42704 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42705 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42706 macros.
42707
42708 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42709
42710 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42711 ((unused))' to silence gcc warning.
42712
42713 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42714
42715 * configure.ac: Correct `AC_PROG_YACC' test.
42716
42717 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42718
42719 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42720 check before installing files.
42721
42722 2005-11-22 Mike Small <smallm@panix.com>
42723
42724 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42725 number regex so multidigit numbers are recognized correctly.
42726
42727 2005-11-22 Mike Small <smallm@panix.com>
42728
42729 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42730 debugging message before attempting to claim memory.
42731 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42732 multiple addresses in case of failure.
42733
42734 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42735
42736 * term/tparm.c (get_space): Remove empty `if' statement.
42737
42738 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42739
42740 * kern/parser.c (check_varstate): Rename `state' to 's'.
42741
42742 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42743
42744 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42745 variable definitions to the beginning of each function. Sort stack
42746 variables by size.
42747 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42748 `buf' argument to `char *'.
42749
42750 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42751
42752 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42753 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42754 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42755 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42756 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42757 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42758 configfile.mod, search.mod, gzio.mod and test.mod.
42759 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42760 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42761 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42762 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42763 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42764 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42765 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42766 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42767 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42768 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42769 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42770 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42771 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42772 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42773 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42774 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42775 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42776 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42777 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42778 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42779 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42780 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42781 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42782
42783 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42784 `grep --include'.
42785 (pkgdata_MODULES): Add test.mod.
42786
42787 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42788
42789 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42790 appending to variables with "+=".
42791 (PModule): Use full pathname to generate *.lst filenames.
42792
42793 * Makefile.in: Fixed list rules moved from genmk.rb.
42794 (.DELETE_ON_ERROR): New special target.
42795 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42796
42797 * conf/i386-pc.rmk: Include conf/common.mk.
42798 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42799 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42800 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42801 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42802 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42803 configfile.mod, search.mod, gzio.mod and test.mod.
42804 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42805 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42806 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42807 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42808 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42809 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42810 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42811 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42812 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42813 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42814 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42815 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42816 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42817 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42818 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42819 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42820 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42821 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42822 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42823 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42824 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42825 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42826 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42827 here...
42828 * conf/common.rmk: ... to here. New file.
42829
42830 * conf/common.mk: New file.
42831
42832 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42833
42834 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42835 (grub_script.tab.c): ... here.
42836
42837 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42838 (grub_script.tab.c): ... here.
42839
42840 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42841 (grub_script.tab.c): ... here.
42842
42843 * normal/command.c (grub_command_find): Fixed a memory leak of
42844 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42845
42846 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42847
42848 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42849 "@" which marks the start of a comment on ARM.
42850 (VARIABLE): Likewise.
42851
42852 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42853
42854 Add support for Linux/ADFS partition tables.
42855
42856 * partmap/acorn.c: New file.
42857
42858 * include/grub/acorn_filecore.h: Likewise.
42859
42860 * DISTLIST: Added `partmap/acorn.c' and
42861 `include/grub/acorn_filecore.h'.
42862
42863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42864 `partmap/acorn.c'.
42865 (pkgdata_MODULES): Add `acorn.mod'.
42866 (acorn_mod_SOURCES): New variable.
42867 (acorn_mod_CFLAGS): Likewise.
42868
42869 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42870 `partmap/acorn.c'.
42871 (pkgdata_MODULES): Add `acorn.mod'.
42872 (acorn_mod_SOURCES): New variable.
42873 (acorn_mod_CFLAGS): Likewise.
42874
42875 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42876 (pkgdata_MODULES): Add `acorn.mod'.
42877 (acorn_mod_SOURCES): New variable.
42878 (acorn_mod_CFLAGS): Likewise.
42879 (acorn_mod_LDFLAGS): Likewise.
42880
42881 * include/types.h (grub_disk_addr_t): New typedef.
42882
42883 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42884
42885 * geninit.sh: New file.
42886
42887 * geninitheader.sh: Likewise.
42888
42889 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42890 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42891 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42892 * commands/configfile.c (grub_configfile_init)
42893 (grub_configfile_fini): Likewise.
42894 * commands/default.c (grub_default_init, grub_default_fini):
42895 Likewise.
42896 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42897 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42898 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42899 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42900 Likewise.
42901 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42902 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42903 Likewise.
42904 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42905 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42906 Likewise.
42907 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42908 Likewise.
42909 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42910 Likewise.
42911 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42912 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42913 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42914 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42915 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42916 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42917 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42918 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42919 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42920 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42921 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42922 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42923 * partmap/amiga.c (grub_amiga_partition_map_init)
42924 (grub_amiga_partition_map_fini): Likewise.
42925 * partmap/apple.c (grub_apple_partition_map_init)
42926 (grub_apple_partition_map_fini): Likewise.
42927 * partmap/pc.c (grub_pc_partition_map_init)
42928 (grub_pc_partition_map_fini): Likewise.
42929 * partmap/sun.c (grub_sun_partition_map_init,
42930 grub_sun_partition_map_fini): Likewise.
42931 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42932 Likewise.
42933
42934 * util/grub-emu.c: Include <grub_modules_init.h>.
42935 (main): Don't initialize and de-initialize any modules directly,
42936 use `grub_init_all' and `grub_fini_all' instead.
42937
42938 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42939 `grub_vesafb_mod_init'.
42940 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42941 all users.
42942 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42943 `grub_vga_mod_init'. Updated all users.
42944 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42945
42946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42947 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42948 rules.
42949
42950 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42951 Generate a function to initialize the module in utilities.
42952 Updated all callers.
42953 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42954 initialize the module in utilities. Updated all callers.
42955
42956 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42957
42958 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42959 escape sequence and a literal ^L to clear the screen.
42960
42961 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42962 when returning from Open Firmware.
42963
42964 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42965
42966 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42967 (grub_ofconsole_height): Likewise.
42968 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42969 manually insert a '\n'.
42970 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42971 `grub_ofconsole_height'. Return early if these are already set.
42972
42973 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42974
42975 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42976 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42977 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42978 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42979 and `normal/script.c'.
42980 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42981 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42982 (test_mod_SOURCES): New variable.
42983 (test_mod_CFLAGS): Likewise.
42984 (test_mod_LDFLAGS): Likewise.
42985 (pkgdata_MODULES): Add `test.mod'.
42986 (grub_script.tab.c): New rule.
42987 (grub_script.tab.h): Likewise.
42988
42989 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42990
42991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42992 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42993 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42994 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42995 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42996 (test_mod_SOURCES): New variable.
42997 (test_mod_CFLAGS): Likewise.
42998 (pkgdata_MODULES): Add `test.mod'.
42999 (grub_script.tab.c): New rule.
43000 (grub_script.tab.h): Likewise.
43001
43002 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
43003
43004 Add initial scripting support.
43005
43006 * commands/test.c: New file.
43007 * include/grub/script.h: Likewise.
43008 * normal/execute.c: Likewise.
43009 * normal/function.c: Likewise.
43010 * normal/lexer.c: Likewise.
43011 * normal/parser.y: Likewise.
43012 * normal/script.c: Likewise.
43013
43014 * configure.ac: Add `AC_PROG_YACC' test.
43015
43016 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43017 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43018 `normal/function.c' and `normal/script.c'.
43019 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43020 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43021 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43022 variables.
43023 (pkgdata_MODULES): Add `test.mod'.
43024 (grub_script.tab.c): New rule.
43025 (grub_script.tab.h): Likewise.
43026
43027 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43028
43029 * include/grub/normal.h (grub_test_init): New prototype.
43030 (grub_test_fini): Likewise.
43031
43032 * normal/command.c: Include <grub/script.h>.
43033 (grub_command_execute): Rewritten.
43034
43035 * util/grub-emu.c (main): Call `grub_test_init' and
43036 `grub_test_fini'.
43037
43038 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43039
43040 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43041 to 0.
43042 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43043 there are no pending characters.
43044
43045 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43046
43047 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43048 `grub_strndup' to drop device arguments. Replace unnecessary
43049 `grub_strndup' with `grub_strdup'.
43050
43051 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43052
43053 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43054 `debug' environment variable has been set.
43055
43056 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
43057
43058 * Makefile.in (install-local): Use $(DATA).
43059 (uninstall): Likewise.
43060 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43061 (sbin_UTILITIES): ... to here.
43062 (sbin_SCRIPTS): New variable.
43063 (grub_install_SOURCES): New variable.
43064 * util/powerpc/ieee1275/grub-install.in: New file.
43065 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43066 variable.
43067 (add_segments): Call `grub_util_get_path'.
43068
43069 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43070
43071 From Timothy Baldwin:
43072 * commands/ls.c (grub_ls_list_files): Close FILE with
43073 grub_file_close.
43074 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43075
43076 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
43077
43078 * include/grub/parser.h: New file.
43079
43080 * kern/parser.c: Likewise.
43081
43082 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43083 (grub_setup_SOURCES): Likewise.
43084 (grub_probefs_SOURCES): Likewise.
43085 (grub_emu_SOURCES): Likewise.
43086 (kernel_img_HEADERS): Add `parser.h'.
43087
43088 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43089 (grub_emu_SOURCES): Add `kern/parser.c'.
43090 (grubof_SOURCES): Likewise.
43091
43092 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43093 (grubof_SOURCES): Add `kern/parser.c'.
43094
43095 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43096
43097 * kern/misc.c (grub_split_cmdline): Removed function.
43098
43099 * kern/rescue.c: Include <grub/parser.h>.
43100 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43101 of `grub_split_cmdline'.
43102
43103 * normal/command.c: Include <grub/parser.h>.
43104 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43105 of `grub_split_cmdline'.
43106
43107 * normal/completion.c: Include <grub/parser.h>.
43108 (cmdline_state): New variable.
43109 (iterate_dir): End the filename with a quote depending on the
43110 command line state.
43111 (get_state): new function.
43112 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43113 split the arguments and determine the current argument. When the
43114 argument string is not quoted, escape all spaces.
43115
43116 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43117
43118 * normal/sparc64/setjmp.S: New file.
43119
43120 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43121
43122 * include/grub/sparc64/libgcc.h: New file.
43123 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43124 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43125 normal/sparc64/setjmp.c.
43126
43127 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43128
43129 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43130 * kern/sparc64/cache.S: New file.
43131 * kern/sparc64/cache.c: Removed.
43132 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43133 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43134 -mtune=ultrasparc.
43135 (COMMON_LDFLAGS): Add -melf64_sparc.
43136 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43137 (grubof_SOURCES): Use cache.S instead of cache.c.
43138 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43139 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43140 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43141 commented though.
43142 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43143 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43144 (linux_mod_CFLAGS): Commented out.
43145 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43146 out because module isn't built.
43147 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43148 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43149 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43150 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43151 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43152 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43153 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43154 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43155 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43156 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43157 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43158 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43159 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43160 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43161
43162 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43163
43164 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43165 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43166 longer, because HFS should not be used on PC.
43167
43168 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43169
43170 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43171 consistently within the loop.
43172
43173 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43174
43175 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43176 directory can not be read.
43177
43178 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43179
43180 * configure.ac (AC_INIT): Increase the version number to 1.91.
43181
43182 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43183 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43184 term/i386/pc/serial.c.
43185
43186 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43187
43188 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43189 file size must be permitted.
43190
43191 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43192 between %ah and %al.
43193
43194 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43195
43196 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43197 grub_uint64_t.
43198 Call the hook with a NUL-terminated filename.
43199 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43200 grub_cpu_to_be32.
43201
43202 * kern/term.c (cursor_state): New variable.
43203 (grub_term_set_current): Reset the cursor state on a new
43204 terminal.
43205 (grub_setcursor): Rewritten to use CURSOR_STATE.
43206 (grub_getcursor): New function.
43207
43208 * include/grub/term.h (grub_getcursor): New prototype.
43209
43210 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43211 integers on ARM. Reported by Timothy Baldwin
43212 <T.E.Baldwin99@members.leeds.ac.uk>.
43213
43214 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43215
43216 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43217 allocated.
43218 (grub_sfs_dir): Likewise.
43219
43220 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43221
43222 Add support for the SFS filesystem.
43223
43224 * fs/sfs.c: New file.
43225
43226 * DISTLIST: Added `fs/sfs.c'.
43227
43228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43229 (grub_probefs_SOURCES): Likewise.
43230 (grub_emu_SOURCES): Likewise.
43231 (pkgdata_MODULES): Add `sfs.mod'.
43232 (sfs_mod_SOURCES): New variable.
43233 (sfs_mod_CFLAGS): Likewise.
43234 (sfs_mod_LDFLAGS): Likewise.
43235
43236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43237 (pkgdata_MODULES): Add `sfs.mod'.
43238 (sfs_mod_SOURCES): New variable.
43239 (sfs_mod_CFLAGS): Likewise.
43240
43241 * util/grub-emu.c (main): Call `grub_sfs_init' and
43242 `grub_sfs_fini'.
43243
43244 * include/grub/fs.h (grub_sfs_init): New prototype.
43245 (grub_sfs_fini): Likewise.
43246
43247 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43248
43249 Add support for the AFFS filesystem.
43250
43251 * fs/affs.c: New file.
43252
43253 * DISTLIST: Added `fs/affs.c'.
43254
43255 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43256 (grub_probefs_SOURCES): Likewise.
43257 (grub_emu_SOURCES): Likewise.
43258 (pkgdata_MODULES): Add `affs.mod'.
43259 (affs_mod_SOURCES): New variable.
43260 (affs_mod_CFLAGS): Likewise.
43261 (affs_mod_LDFLAGS): Likewise.
43262
43263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43264 (pkgdata_MODULES): Add `affs.mod'.
43265 (affs_mod_SOURCES): New variable.
43266 (affs_mod_CFLAGS): Likewise.
43267
43268 * util/grub-emu.c (main): Call `grub_affs_init' and
43269 `grub_affs_fini'.
43270
43271 * include/grub/fs.h (grub_affs_init): New prototype.
43272 (grub_affs_fini): Likewise.
43273
43274 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43275
43276 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43277
43278 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43279
43280 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43281 `-m32' to CFLAGS.
43282
43283 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43284 linking.
43285
43286 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43287 (COMMON_LDFLAGS): New variable.
43288 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43289 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43290 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43291 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43292 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43293 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43294 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43295 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43296 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43297 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43298 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43299 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43300 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43301 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43302 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43303 variables.
43304 (normal_mod_ASFLAGS): Add `-m32'.
43305
43306 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43307 (grub_host_size_t, grub_host_ssize_t): New types.
43308 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43309 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43310 `GRUB_HOST_SIZEOF_VOID_P'.
43311
43312 * include/grub/kernel.h (struct grub_module_header): Type of
43313 member offset changed to `grub_host_off_t'. Type of member size
43314 changed to `grub_host_size_t'.
43315 (struct grub_module_info): Type of member offset changed to
43316 `grub_host_off_t'. Type of member size changed to
43317 `grub_host_size_t'.
43318
43319 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43320
43321 Make GRUB's kernel compliant to Multiboot Specification.
43322
43323 * kern/i386/pc/startup.S (multiboot_header): New label.
43324 (multiboot_entry): Likewise.
43325 (multiboot_trampoline): Likewise.
43326
43327 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43328 Increased to 0x4A0.
43329
43330 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43331 put parentheses after a question mark.
43332 [!GRUB_UTIL] (my_mod): New variable.
43333
43334 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43335
43336 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43337
43338 Adds support for the XFS filesystem. Btrees are not supported
43339 yet.
43340
43341 * fs/xfs.c: New file.
43342
43343 * DISTLIST: Added `fs/xfs.c'.
43344
43345 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43346 (grub_probefs_SOURCES): Likewise.
43347 (grub_emu_SOURCES): Likewise.
43348 (pkgdata_MODULES): Add `xfs.mod'.
43349 (xfs_mod_SOURCES): New variable.
43350 (xfs_mod_CFLAGS): Likewise.
43351
43352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43353 (pkgdata_MODULES): Add `xfs.mod'.
43354 (xfs_mod_SOURCES): New variable.
43355 (xfs_mod_CFLAGS): Likewise.
43356
43357 * util/grub-emu.c (main): Call `grub_xfs_init' and
43358 `grub_xfs_fini'.
43359
43360 * include/grub/fs.h (grub_xfs_init): New prototype.
43361 (grub_xfs_fini): Likewise.
43362
43363
43364 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43365
43366 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43367 color modes, allow greater than 16 colors to be configured as
43368 a default palette.
43369
43370 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43371
43372 * normal/completion.c (complete_arguments): Add the qualifier
43373 const into OPTIONS.
43374
43375 From Omniflux <omniflux+lists@omniflux.com>:
43376 * include/grub/terminfo.h: New file.
43377 * include/grub/tparm.h: Likewise.
43378 * include/grub/i386/pc/serial.h: Likewise.
43379 * term/terminfo.c: Likewise.
43380 * term/tparm.c: Likewise.
43381 * term/i386/pc/serial.c: Likewise.
43382 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43383 serial.mod.
43384 (terminfo_mod_SOURCES): New variable.
43385 (terminfo_mod_CFLAGS): Likewise.
43386 (serial_mod_SOURCES): Likewise.
43387 (serial_mod_CFLAGS): Likewise.
43388
43389 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43390
43391 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43392 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43393 and kern/powerpc/ieee1275/cmain.c, respectively.
43394
43395 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43396 * kern/powerpc/ieee1275/crt0.S: ... here.
43397
43398 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43399 * kern/powerpc/ieee1275/cmain.c: ... here.
43400
43401 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43402 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43403 instead of boot/powerpc/ieee1275/crt0.S and
43404 boot/powerpc/ieee1275/cmain.c, respectively.
43405
43406 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43407 sectors. It was not used anyway.
43408
43409 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43410
43411 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43412 `unused parameter' warning.
43413
43414 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43415
43416 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43417 function.
43418 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43419 getcharwidth.
43420
43421 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43422
43423 * include/grub/normal.h (enum grub_completion_type): Added
43424 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43425
43426 * normal/cmdline.c (print_completion): Handle
43427 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43428 * normal/menu_entry.c (store_completion): Likewise.
43429
43430 * normal/completion.c (complete_arguments): New function.
43431 (grub_normal_do_completion): Call `complete_arguments' when the
43432 current words start with a dash.
43433
43434 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43435
43436 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43437 `gzio.mod' instead of `io.mod').
43438
43439 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43440
43441 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43442 (DISTDIRS): Added io and video.
43443 Rewrite the search routine to make an output consistently.
43444
43445 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43446 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43447 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43448 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43449 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43450 util/powerpc/ieee1275/misc.c.
43451
43452 * include/grub/gzio.h: New file.
43453 * io/gzio.c: Likewise.
43454
43455 * kern/file.c (grub_file_close): Call grub_device_close only if
43456 FILE->DEVICE is not NULL.
43457
43458 * include/grub/mm.h [!NULL] (NULL): New macro.
43459
43460 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43461
43462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43463 (pkgdata_MODULES): Added gzio.mod.
43464 (gzio_mod_SOURCES): New variable.
43465 (gzio_mod_CFLAGS): Likewise.
43466
43467 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43468 (pkgdata_MODULES): Added gzio.mod.
43469 (gzio_mod_SOURCES): New variable.
43470 (gzio_mod_CFLAGS): Likewise.
43471
43472 * commands/cat.c: Include grub/gzio.h.
43473 (grub_cmd_cat): Use grub_gzfile_open instead of
43474 grub_file_open.
43475
43476 * commands/cmp.c: Include grub/gzio.h.
43477 (grub_cmd_cmp): Use grub_gzfile_open instead of
43478 grub_file_open.
43479
43480 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43481 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43482 grub_file_open.
43483 (grub_rescue_cmd_module): Likewise.
43484
43485 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43486
43487 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43488 kern/sparc64/ieee1275/init.c because it contains _start.
43489 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43490
43491 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43492
43493 * configure.ac: Add support for sparc64 host with ieee1275
43494 firmware.
43495 * configure: Generated from configure.ac.
43496 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43497 instead of int.
43498 (grub_ofdisk_read): Likewise.
43499 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43500 pointers as (void *) to remove a warning.
43501 (grub_ofdisk_close): Likewise.
43502 (grub_ofdisk_read): Likewise.
43503 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43504 returns, so make it return void to remove a warning.
43505 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43506 Corresponding prototype change.
43507 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43508 values, and cast the pointers as (void *) to remove a warning.
43509 (grub_mm_dump): Likewise.
43510 * conf/sparc64-ieee1275.mk: New file.
43511 * conf/sparc64-ieee1275.rmk: Likewise.
43512 * include/grub/sparc64/setjmp.h: Likewise.
43513 * include/grub/sparc64/types.h: Likewise.
43514 * include/grub/sparc64/ieee1275/console.h: Likewise.
43515 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43516 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43517 * include/grub/sparc64/ieee1275/time.h: Likewise.
43518 * kern/sparc64/cache.c: Likewise.
43519 * kern/sparc64/dl.c: Likewise.
43520 * kern/sparc64/ieee1275/init.c: Likewise.
43521 * kern/sparc64/ieee1275/openfw.c: Likewise.
43522
43523 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43524
43525 * util/console.c (grub_ncurses_putchar): If C is greater than
43526 0x7f, set C to a question mark.
43527 (grub_ncurses_getcharwidth): New function.
43528 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43529 getcharwidth.
43530
43531 * normal/menu.c (print_entry): Made aware of Unicode. First,
43532 convert TITLE to UCS-4, and predict the cursor position by
43533 grub_getcharwidth.
43534
43535 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43536 const to SRC.
43537 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43538
43539 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43540
43541 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43542 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43543 grub_strcat.
43544
43545 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43546 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43547 grub_strcpy and grub_strlen. Take it into account that a space
43548 character is inserted as a delimiter.
43549
43550 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43551
43552 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43553 invalid magic in the error.
43554
43555 * commands/search.c: New file.
43556
43557 * util/grub-emu.c (main): Call grub_search_init and
43558 grub_search_fini.
43559
43560 * kern/rescue.c (grub_rescue_print_disks): Removed.
43561 (grub_rescue_print_devices): New function.
43562 (grub_rescue_cmd_ls): Use grub_device_iterate with
43563 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43564 grub_rescue_print_disks.
43565
43566 * kern/partition.c (grub_partition_iterate): Return the result of
43567 PARTMAP->ITERATE instead of GRUB_ERRNO.
43568
43569 * kern/device.c: Include grub/partition.h.
43570 (grub_device_iterate): New function.
43571
43572 * include/grub/partition.h (grub_partition_iterate): Return int
43573 instead of grub_err_t.
43574
43575 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43576 prototype.
43577 [GRUB_UTIL] (grub_search_fini): Likewise.
43578
43579 * include/grub/device.h (grub_device_iterate): New prototype.
43580
43581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43582 commands/search.c.
43583 (pkgdata_MODULES): Added search.mod.
43584 (search_mod_SOURCES): New variable.
43585 (search_mod_CFLAGS): Likewise.
43586
43587 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43588 (pkgdata_MODULES): Added search.mod.
43589 (search_mod_SOURCES): New variable.
43590 (search_mod_CFLAGS): Likewise.
43591
43592 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43593 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43594 All callers changed.
43595
43596 * DISTLIST: Added commands/search.c.
43597
43598 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43599
43600 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43601 conversion.
43602 (grub_getcharwidth): New function.
43603
43604 * kern/misc.c (grub_utf8_to_ucs4): New function.
43605
43606 * include/grub/term.h (struct grub_term): Added a new member
43607 "getcharwidth".
43608 (grub_getcharwidth): New prototype.
43609
43610 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43611
43612 * term/i386/pc/console.c (map_char): New function. Segregated from
43613 grub_console_putchar.
43614 (grub_console_putchar): Use map_char.
43615 (grub_console_getcharwidth): New function.
43616 (grub_console_term): Specified grub_console_getcharwidth as
43617 getcharwidth.
43618
43619 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43620 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43621
43622 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43623 GRUB_ERRNO.
43624 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43625 on grub_strtoul completely.
43626 (write_char): Declare local variables in the beginning of the
43627 function.
43628 (grub_vesafb_getcharwidth): New function.
43629 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43630 getcharwidth.
43631
43632 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43633
43634 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43635 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43636 commands/i386/pc/vbetest.c.
43637
43638 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43639 call grub_vbe_get_controller_info again, because the returned
43640 information is volatile.
43641 (grub_vbe_set_video_mode): Mostly rewritten.
43642 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43643 grub_vbe_status_t correctly.
43644 (grub_vbe_get_video_mode_info): Likewise.
43645 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43646 several if statements.
43647
43648 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43649 * commands/i386/pc/vbeinfo.c: ... this.
43650
43651 * commands/i386/pc/vbe_test.c: Renamed to ...
43652 * commands/i386/pc/vbetest.c: ... this.
43653
43654 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43655 ...
43656 (grub_cmd_vbeinfo): ... this. Save video modes before
43657 iterating. Skip a video mode, if it is not available, not enough
43658 information is given or it is monochrome. Show the memory
43659 model. Leave the interpretation of MODEVAR to grub_strtoul
43660 completely.
43661 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43662 (GRUB_MOD_FINI): Likewise.
43663
43664 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43665 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43666 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43667 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43668 grub_strtoul completely.
43669 (real2pm): Removed.
43670 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43671 (GRUB_MOD_FINI): Likewise.
43672
43673 * normal/misc.c: Include grub/mm.h.
43674
43675 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43676 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43677 (vbe_list_modes_mod_SOURCES): Removed.
43678 (vbe_list_modes_mod_CFLAGS): Likewise.
43679 (vbe_test_mod_SOURCES): Likewise.
43680 (vbe_test_mod_CFLAGS): Likewise.
43681 (vbeinfo_mod_SOURCES): New variable.
43682 (vbeinfo_mod_CFLAGS): Likewise.
43683 (vbetest_mod_SOURCES): Likewise.
43684 (vbetest_mod_CFLAGS): Likewise.
43685
43686 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43687
43688 * normal/misc.c: New file.
43689
43690 * DISTLIST: Added normal/misc.c.
43691
43692 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43693 DISK to HOOK. Call HOOK with DISK.
43694 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43695 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43696 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43697
43698 * normal/menu_entry.c (struct screen): Added a new member
43699 "completion_shown".
43700 (completion_buffer): New global variable.
43701 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43702 (store_completion): New function.
43703 (complete): Likewise.
43704 (clear_completions): Likewise.
43705 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43706 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43707 a tab, call complete.
43708
43709 * normal/completion.c (disk_dev): Removed.
43710 (print_simple_completion): Likewise.
43711 (print_partition_completion): Likewise.
43712 (print_func): New global variable.
43713 (add_completion): Do not take the arguments WHAT or PRINT any
43714 longer. Added a new argument TYPE. Instead of printing directly,
43715 call PRINT_FUNC if not NULL.
43716 All callers changed.
43717 (complete_device): Use a local variable DEV instead of
43718 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43719 (grub_normal_do_completion): Take a new argument HOOK. Do not
43720 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43721 empty string, return NULL instead.
43722 All callers changed.
43723
43724 * normal/cmdline.c (print_completion): New function.
43725
43726 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43727 to HOOK.
43728 All callers changed.
43729
43730 * kern/disk.c (grub_print_partinfo): Removed.
43731
43732 * include/grub/partition.h (struct grub_partition_map): Add a new
43733 argument DISK into HOOK of ITERATE.
43734 (grub_partition_iterate): Add a new argument DISK to HOOK.
43735
43736 * include/grub/normal.h (enum grub_completion_type): New enum.
43737 (grub_completion_type_t): New type.
43738 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43739 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43740 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43741 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43742 (grub_normal_do_completion): Added a new argument HOOK.
43743 (grub_normal_print_device_info): New prototype.
43744
43745 * include/grub/disk.h (grub_print_partinfo): Removed.
43746
43747 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43748 (normal_mod_SOURCES): Likewise.
43749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43750 (normal_mod_SOURCES): Likewise.
43751
43752 * commands/ls.c (grub_ls_list_disks): Use
43753 grub_normal_print_device_info instead of grub_print_partinfo. Free
43754 PNAME.
43755 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43756 duplicating the code.
43757
43758 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43759
43760 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43761 follow GCS more precisely.
43762 * commands/i386/pc/vbe_test.c: Likewise.
43763 * include/grub/i386/pc/vbe.h: Likewise.
43764 * term/i386/pc/vesafb.c: Likewise.
43765 * video/i386/pc/vbe.c: Likewise.
43766
43767 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43768
43769 * DISTLIST: Added term/i386/pc/vesafb.c
43770 DISTLIST: Added video/i386/pc/vbe.c
43771 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43772 DISTLIST: Added commands/i386/pc/vbe_test.c.
43773 * commands/i386/pc/vbe_list_modes.c: New file.
43774 * commands/i386/pc/vbe_test.c: Likewise.
43775 * term/i386/pc/vesafb.c: Likewise.
43776 * video/i386/pc/vbe.c: Likewise.
43777 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43778 (grub_vbe_probe) Added prototype.
43779 (grub_vbe_set_video_mode) Likewise.
43780 (grub_vbe_get_video_mode) Likewise.
43781 (grub_vbe_get_video_mode_info) Likewise.
43782 (grub_vbe_set_pixel_rgb) Likewise.
43783 (grub_vbe_set_pixel_index) Likewise.
43784 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43785 (pkgdata_MODULES): Added vesafb.mod.
43786 (pkgdata_MODULES): Added vbe_list_modes.mod.
43787 (pkgdata_MODULES): Added vbe_test.mod.
43788 (vbe_mod_SOURCES): Added.
43789 (vbe_mod_CFLAGS): Likewise.
43790 (vesafb_mod_SOURCES): Likewise.
43791 (vesafb_mod_CFLAGS): Likewise.
43792 (vbe_list_modes_mod_SOURCES): Likewise.
43793 (vbe_list_modes_mod_CFLAGS): Likewise.
43794 (vbe_test_mod_SOURCES): Likewise.
43795 (vbe_test_mod_CFLAGS): Likewise.
43796
43797 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43798
43799 * normal/command.c (grub_command_execute): If INTERACTIVE is
43800 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43801 CMDLINE. Disable the pager if INTERACTIVE is true.
43802 All callers are changed.
43803
43804 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43805 before reading a config file.
43806 * normal/main.c (read_config_file): Even if a command is not
43807 found, register it if it is within an entry.
43808
43809 * util/grub-emu.c: Include sys/types.h and unistd.h.
43810 (options): Added --hold.
43811 (struct arguments): Added a new member "hold".
43812 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43813 missing.
43814 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43815 cleared by a debugger, if it is not zero.
43816
43817 * include/grub/normal.h (grub_command_execute): Add an argument
43818 INTERACTIVE.
43819
43820 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43821
43822 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43823
43824 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43825
43826 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43827 program with another one, because the old one didn't detect a bug
43828 in gcc-3.4. Always use regparm 2, because the new test is still
43829 not enough for gcc-4.0. Someone must investigate a simple test
43830 case which detects a bug in gcc-4.0.
43831
43832 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43833
43834 * DISTLIST: Added normal/completion.c.
43835
43836 * normal/completion.c: New file.
43837
43838 * term/i386/pc/console.c (grub_console_getwh): New function.
43839 (grub_console_term): Assign grub_console_getwh to getwh.
43840
43841 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43842 function is defined in normal/completion.c as
43843 grub_normal_do_completion.
43844 (grub_cmdline_get): Use grub_normal_do_completion instead of
43845 grub_tab_complete.
43846
43847 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43848 returns non-zero, otherwise return 0.
43849 (grub_partition_iterate): First, probe the partition map. Then,
43850 call ITERATE only for this partition map.
43851
43852 * kern/misc.c (grub_strncmp): Rewritten.
43853
43854 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43855 returns non-zero. Otherwise return 0.
43856
43857 * include/grub/partition.h (grub_partition_map_iterate): Return
43858 int instead of void.
43859
43860 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43861
43862 * include/grub/misc.h (grub_strncmp): Change the type of N to
43863 grub_size_t.
43864
43865 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43866 of void.
43867
43868 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43869 unsigned explicitly before comparing it with I.
43870
43871 * kern/main.c (grub_env_write_root): Add the attribute unused into
43872 VAR.
43873
43874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43875 normal/completion.c.
43876 (normal_mod_SOURCES): Likewise.
43877 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43878 (normal_mod_SOURCES): Likewise.
43879
43880 * normal/command.c (grub_iterate_commands): If ITERATE returns
43881 non-zero, return one immediately.
43882
43883 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43884
43885 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43886 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43887 descriptions.
43888 (grub_vbe_get_controller_info): New function.
43889 (grub_vbe_get_mode_info): Likewise.
43890 (grub_vbe_set_mode): Likewise.
43891 (grub_vbe_get_mode): Likewise.
43892 (grub_vbe_set_memory_window): Likewise.
43893 (grub_vbe_get_memory_window): Likewise.
43894 (grub_vbe_set_scanline_length): Likewise.
43895 (grub_vbe_get_scanline_length): Likewise.
43896 (grub_vbe_set_display_start): Likewise.
43897 (grub_vbe_get_display_start): Likewise.
43898 (grub_vbe_set_palette_data): Likewise.
43899 * include/grub/i386/pc/vbe.h: New file.
43900
43901 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43902
43903 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43904 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43905 * DISTLIST: Likewise.
43906 * kern/ieee1275/of.c: Moved to ...
43907 * kern/ieee1275/ieee1275.c: ... here.
43908
43909 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43910
43911 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43912 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43913 Pass 0 as `end' parameter to grub_strtoul().
43914
43915 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43916
43917 * include/grub/powerpc/ieee1275/console.h: Do not include
43918 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43919 ifdef.
43920 (grub_console_cur_color): Remove i386-specific prototype.
43921 (grub_console_real_putchar): Likewise.
43922 (grub_console_checkkey): Likewise.
43923 (grub_console_getkey): Likewise.
43924 (grub_console_getxy): Likewise.
43925 (grub_console_gotoxy): Likewise.
43926 (grub_console_cls): Likewise.
43927 (grub_console_setcursor): Likewise.
43928 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43929 Include <grub/machine/console.h>.
43930 * term/ieee1275/ofconsole.c: Likewise.
43931
43932 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43933
43934 * Makefile.in (LIBLZO): New variable.
43935
43936 * configure.ac: Check for LZO version 2.
43937
43938 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43939 lzo/lzo1x.h instead of lzo1x.h.
43940
43941 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43942 of -llzo.
43943
43944 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43945 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43946
43947 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43948 copying the data from PARTITION to P.
43949
43950 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43951
43952 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43953 negative, unload the module.
43954
43955 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43956 map is "pc_partition_map" but not "pc".
43957 (usage): Fix the description. The options are --boot-image and
43958 --core-image but not --boot-file or --core-file.
43959 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43960 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43961 DEFAULT_DIRECTORY.
43962
43963 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43964 --core-file. Specify INSTALL_DEVICE as an argument.
43965
43966 * util/console.c: Include config.h.
43967 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43968 [HAVE_NCURSES_H]: Include ncurses.h.
43969 [HAVE_CURSES_H]: Include curses.h.
43970 [!A_NORMAL] (A_NORMAL): Defined as zero.
43971 [!A_STANDOUT] (A_STANDOUT): Likewise.
43972
43973 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43974 -lncurses.
43975 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43976
43977 * configure.ac: Check for curses libraries and headers.
43978
43979 * Makefile.in (LIBCURSES): New variable.
43980
43981 * genmk.rb (Script::rule): Set the executable bits.
43982
43983 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43984 name of the PC partition map is "pc_partition_map" but not "pc".
43985
43986 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43987
43988 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43989 (modules): Likewise.
43990 (usage): Added descriptions for --modules and --grub-probefs.
43991 Handle --modules and --grub-probefs. Save the arguments in MODULES
43992 and GRUB_PROBEFS, respectively.
43993 Auto-detect a filesystem module against GRUBDIR. If the result is
43994 empty and modules are not specified explicitly, abort the
43995 installation. Add the result to MODULES.
43996
43997 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43998 disk/powerpc/ieee1275/ofdisk.c,
43999 include/grub/powerpc/ieee1275/init.h and
44000 term/powerpc/ieee1275/ofconsole.c.
44001 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44002 term/ieee1275/ofconsole.c.
44003
44004 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44005
44006 * COPYING: Upgraded to the latest version. Only the address of the
44007 FSF office has changed.
44008
44009 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44010
44011 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44012 kern/ieee1275.c with kern/ieee1275/of.c.
44013
44014 * kern/ieee1275.c: Moved to ...
44015 * kern/ieee1275/of.c: ... here.
44016
44017 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44018
44019 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
44020 readability.
44021
44022 * config.guess: Updated to the latest version from gnulib.
44023 * config.sub: Likewise.
44024 * install.sh: Likewise.
44025 * mkinstalldirs: Likewise.
44026
44027 * include/grub/console.h: Removed. This file is arch-specific. Do
44028 not put this in include/grub.
44029
44030 * include/grub/i386/pc/console.h: Resurrected.
44031
44032 * util/console.c: Include grub/machine/console.h instead of
44033 grub/console.h.
44034 * util/grub-emu.c: Likewise.
44035
44036 2005-08-04 Marco Gerards <metgerards@student.han.nl>
44037
44038 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44039 hardcoded value.
44040
44041 From Vincent Pelletier <subdino2004@yahoo.fr>
44042 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44043 Redefined to use grub_getwh.
44044 (grub_term): New member named getwh.
44045 (grub_getwh): New prototype.
44046 * kern/term.c (grub_getwh): New function.
44047 * term/i386/pc/console.c (grub_console_getwh): New function.
44048 (grub_console_term): New member `getwh'.
44049 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44050 (grub_vga_term): New member `getwh'.
44051 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
44052 grub_ssize_t.
44053 (grub_ofconsole_getw): New function.
44054 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44055 (grub_ofconsole_term): New field named getwh and new initial
44056 value.
44057
44058 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44059
44060 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44061 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44062 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44063 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44064 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44065 of <grub/machine/ieee1275.h>.
44066 * commands/ieee1275/reboot.c: Likewise.
44067 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44068 * kern/ieee1275.c: ... to here. All users updated. Change all
44069 parameter structs to use new type `grub_ieee1275_cell_t'.
44070 * term/powerpc/ieee1275/ofconsole.c: Move ...
44071 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44072 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44073 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44074 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44075 to return int.
44076 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44077 Remove unused prototypes. All users updated.
44078 * include/grub/powerpc/ieee1275/console.h: Removed.
44079 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44080 `grub_ieee1275_cell_t'.
44081 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44082 Cast comparisons with -1 to the correct type.
44083 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44084 type to match `grub_ieee1275_entry_fn'.
44085
44086 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44087
44088 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44089
44090 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44091 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44092 partmap/sun.c.
44093 (grub_probefs_SOURCES): New variable.
44094
44095 * util/i386/pc/grub-probefs.c: New file.
44096
44097 * util/i386/pc/grub-setup.c (main): Call
44098 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44099 grub_hfs_init and grub_jfs_init to initialize the system. Call
44100 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44101 grub_pc_partition_map_fini to finish the system.
44102
44103 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44104
44105 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44106 function.
44107 (grub_multiboot_load_elf32): Likewise.
44108 (grub_multiboot_is_elf64): Likewise.
44109 (grub_multiboot_load_elf64): Likewise.
44110 (grub_multiboot_load_elf): Likewise.
44111 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44112 an ELF32 or ELF64 file.
44113 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44114
44115 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44116 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44117 NULL before calling FS->LABEL.
44118 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44119 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44120 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44121 before calling FS->LABEL.
44122
44123 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44124
44125 * util/i386/pc/grub-install.in (datadir): New variable.
44126 (libdir): Removed.
44127 (pkgdatadir): New variable.
44128 (pkglibdir): Removed.
44129
44130 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44131
44132 * DISTLIST: Added util/i386/pc/grub-install.in.
44133
44134 * util/i386/pc/grub-install.in: New file.
44135
44136 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44137 (grub_install_SOURCES): Likewise.
44138
44139 * genmk.rb: Added support for scripts.
44140 (Script): New class.
44141 (scripts): New variable.
44142
44143 * Makefile.in (install-local): Install sbin_SCRIPTS by
44144 INSTALL_SCRIPT.
44145 (uninstall): Remove sbin_SCRIPTS.
44146
44147 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44148 device, try to get a GRUB device by
44149 grub_util_biosdisk_get_grub_dev.
44150 Free DEST_DEV.
44151
44152 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44153 description for --device-map.
44154
44155 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44156
44157 Change the semantics of variable hooks. They now return strings
44158 instead of error values.
44159
44160 * util/i386/pc/grub-setup.c: Include grub/env.h.
44161 (setup): Use grub_device_set_root instead of grub_env_set.
44162
44163 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44164 grub_env_get instead of grub_device_set_root and
44165 grub_device_get_root, respectively.
44166
44167 * kern/main.c (grub_env_write_root): New function.
44168 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44169 grub_env_set instead of grub_device_set_root.
44170
44171 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44172 many variables.
44173 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44174 rather than calling ENV->WRITE_HOOK afterwards.
44175 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44176 passing a pointer of a pointer.
44177 (grub_register_variable_hook): Change the types of "read_hook" and
44178 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44179 respectively.
44180 Allocate the default empty string on the heap, because this string
44181 may be freed later.
44182
44183 * kern/device.c: Include grub/env.h.
44184 (grub_device_set_root): Removed.
44185 (grub_device_get_root): Likewise.
44186 (grub_device_open): Use grub_env_get instead of
44187 grub_device_get_root.
44188
44189 * include/grub/env.h (grub_env_read_hook_t): New type.
44190 (grub_env_write_hook_t): Likewise.
44191 (grub_env_var): Change the types of "read_hook" and "write_hook"
44192 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44193 (grub_register_variable_hook): Likewise.
44194
44195 * include/grub/device.h (grub_device_set_root): Removed.
44196 (grub_device_set_root): Likewise.
44197
44198 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44199 make sure that DIRNAME terminates with '/', so that
44200 grub_fat_find_dir will fail if PATH is not a directory.
44201
44202 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44203 from DIRNAME.
44204 Use the qualifier auto for print_files and print_files_long.
44205 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44206 as a regular file.
44207 Put a newline only if there is no error.
44208 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44209 used.
44210
44211 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44212
44213 * kern/partition.c (grub_partition_probe): Initialize PART to
44214 NULL. Otherwise, when no partition map is registered, this returns
44215 a garbage.
44216
44217 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44218
44219 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44220 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44221 valid.
44222
44223 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44224
44225 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44226 information on each device, if it does not have partitions. Print
44227 "Device" instead of "Disk", because this function is not specific
44228 to disk devices.
44229
44230 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44231 static to ensure that it is put on the memory rather than a
44232 register.
44233
44234 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44235
44236 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44237 (grub_cat_init): Likewise.
44238 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44239 (options): Likewise.
44240 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44241 (grub_configfile_init): Likewise.
44242 * font/manager.c (GRUB_MOD_INIT): Likewise.
44243 * commands/help.c (GRUB_MOD_INIT): Likewise.
44244 (grub_help_init): Likewise.
44245 * normal/command.c (grub_command_init): Likewise.
44246 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44247 * disk/loopback.c (grub_loop_init): Likewise.
44248 (GRUB_MOD_INIT): Likewise.
44249 * commands/ls.c (grub_ls_init): Likewise.
44250 (GRUB_MOD_INIT): Likewise.
44251 (options): Likewise.
44252 * commands/boot.c (grub_boot_init): Likewise.
44253 (GRUB_MOD_INIT): Likewise.
44254 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44255 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44256 (GRUB_MOD_INIT): Likewise.
44257 * commands/cmp.c (grub_cmp_init): Likewise.
44258 (GRUB_MOD_INIT): Likewise.
44259
44260 * normal/arg.c: Use <> instead of "" to include header files.
44261 (SHORT_ARG_HELP): New macro.
44262 (SHORT_ARG_USAGE): Likewise.
44263 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44264 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44265 descriptions.
44266 (find_short): Check if C is 'h' or 'u' explicitly.
44267 (grub_arg_show_help): Use space characters instead of tabs. Treat
44268 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44269 are shown with --help and --usage only if they are not used for
44270 the command itself.
44271 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44272 'h' and 'u'.
44273
44274 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44275 const into "longarg". Change the type of "shortarg" to int.
44276
44277 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44278
44279 * boot/i386/pc/boot.S (boot_drive_check): New label.
44280
44281 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44282 macro.
44283
44284 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44285 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44286
44287 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44288
44289 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44290 When turning off Gate A20, skip the check and return immediately,
44291 because this is not fatal usually.
44292
44293 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44294
44295 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44296 be 0x7C00 instead of 0x8000.
44297
44298 * boot/i386/pc/pxeboot.S: Rewritten.
44299
44300 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44301 EXT_C.
44302 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44303 result.
44304
44305 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44306
44307 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44308 robustness. This routine now supports a BIOS call and System
44309 Control Port A to modify the gate A20.
44310
44311 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44312 Increased to 0x440.
44313
44314 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44315
44316 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44317 device path and resulting ihandle.
44318 (grub_ofdisk_close): dprintf the ihandle being closed.
44319 (grub_ofdisk_read): dprintf function parameters.
44320 * kern/mm.c (grub_mm_init_region): Likewise.
44321 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44322 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44323 size, and boot arguments.
44324 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44325 before loading into memory.
44326 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44327 before loading into memory.
44328
44329 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44330
44331 * kern/mm.c: Added much documentation.
44332 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44333 8, set to 5 instead of 8.
44334
44335 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44336
44337 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44338
44339 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44340 (grub_mkdevicemap_SOURCES): New variable.
44341
44342 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44343 lib/device.c of GRUB Legacy.
44344
44345 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44346
44347 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44348 instead of PATH is NULL.
44349
44350 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44351
44352 * commands/cmp.c (BUFFER_SIZE): New macro.
44353 (grub_cmd_cmp): Close the right file at the right time. Compare
44354 only data just read. Don't report files of different size as
44355 identical. Dynamically allocate buffers. Move variable
44356 declarations at the beginning of function.
44357
44358 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44359
44360 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44361 reverse.
44362
44363 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44364
44365 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44366 when backspace is pressed at beginning of line.
44367
44368 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44369
44370 * DISTLIST: Added genfslist.sh.
44371
44372 * normal/main.c (fs_module_list): New variable.
44373 (autoload_fs_module): New function.
44374 (read_fs_list): Likewise.
44375 (grub_normal_execute): Call read_fs_list.
44376
44377 * kern/fs.c (grub_fs_autoload_hook): New variable.
44378 (grub_fs_probe): Added support for auto-loading.
44379
44380 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44381 (grub_fs_module_list_t): New type.
44382
44383 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44384 (grub_fs_autoload_hook): New prototype.
44385
44386 * genfslist.sh: New file.
44387
44388 * genmk.rb: Added a rule to generate a filesystem list.
44389
44390 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44391
44392 * configure.ac: Fix the test for cross-compiling.
44393
44394 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44395 define GRUB_UTIL anymore.
44396
44397 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44398 so this function works on other systems than just big endian.
44399 (load_modules): Likewise.
44400 (add_segments): Likewise.
44401
44402 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44403
44404 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44405 contains `l' modifier, get a long from va_arg().
44406
44407 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44408
44409 * kern/mm.c (grub_free): If the next free block which is being
44410 merged is the first free block, set the first block to the block
44411 being freed.
44412 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44413
44414 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44415
44416 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44417 `grub_ieee1275_chosen'.
44418
44419 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44420
44421 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44422 (grub_ieee1275_chosen): New variable.
44423 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44424 `chosen'.
44425 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44426 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44427 Rename first argument to `phandle' for consistency.
44428 (grub_ieee1275_get_property_length): Likewise.
44429 (grub_ieee1275_next_property): Likewise. Change type of first argument
44430 to grub_ieee1275_phandle_t.
44431 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44432 Move export next to declaration.
44433 (grub_ieee1275_chosen): New variable.
44434 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44435 Correct cosmetic typo.
44436 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44437 `grub_ieee1275_chosen'.
44438 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44439 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44440 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44441 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44442 `grub_ieee1275_chosen'.
44443
44444 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44445
44446 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44447 /chosen/bootargs.
44448 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44449 /chosen/bootargs as "variable=value" pairs.
44450
44451 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44452
44453 * include/grub/misc.h (grub_dprintf): New macro.
44454 (grub_real_dprintf): New prototype.
44455 (grub_strword): Likewise.
44456 (grub_iswordseparator): Likewise.
44457 * kern/misc.c (grub_real_dprintf): New function.
44458 (grub_strword): Likewise.
44459 (grub_iswordseparator): Likewise.
44460
44461 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44462
44463 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44464 (roundup): Remove macro.
44465 (grub_ieee1275_flags): Make static.
44466 (grub_ieee1275_realmode): Remove.
44467 (grub_ieee1275_test_flag): New function.
44468 (grub_ieee1275_set_flag): Likewise.
44469 (find_options): Rename to `grub_ieee1275_find_options'; update
44470 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44471 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44472 (cmain): New prototype.
44473 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44474 `grub_ieee1275_flags' directly.
44475 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44476 machine/biosdisk.h.
44477 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44478 Don't include grub/machine/init.h.
44479 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44480 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44481 Remove prototype.
44482 (grub_ieee1275_realmode): Likewise.
44483 (grub_ieee1275_flag): New enum.
44484 (grub_ieee1275_test_flag): New prototype.
44485 (grub_ieee1275_set_flag): New prototype.
44486 * include/grub/powerpc/ieee1275/init.h: Remove file.
44487 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44488 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44489 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44490 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44491 comment.
44492 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44493 `grub_ieee1275_test_flag'.
44494 (grub_ieee1275_encode_devname): Likewise.
44495
44496 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44497
44498 * include/grub/powerpc/ieee1275/ieee1275.h
44499 (grub_ieee1275_encode_devname): New prototype.
44500 (grub_ieee1275_get_filename): Likewise.
44501 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44502 function.
44503 (grub_set_prefix): Likewise.
44504 (grub_machine_init): Call grub_set_prefix.
44505 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44506 (grub_parse_type): New enum.
44507 (grub_ieee1275_get_devargs): New function.
44508 (grub_ieee1275_get_devname): Likewise.
44509 (grub_ieee1275_parse_args): Likewise.
44510 (grub_ieee1275_get_filename): Likewise.
44511 (grub_ieee1275_encode_devname): Likewise.
44512
44513 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44514
44515 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44516 `grub_loader_unset'.
44517
44518 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44519
44520 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44521 instead of grub_ieee1275_interpret.
44522 (grub_halt_init): New function.
44523 (grub_halt_fini): Likewise.
44524 (GRUB_MOD_INIT): Correct message grammar.
44525 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44526 instead of grub_ieee1275_interpret.
44527 (grub_reboot_init): New function.
44528 (grub_reboot_fini): Likewise.
44529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44530 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44531 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44532 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44534 function.
44535 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44536 Add prototype.
44537 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44538 prototype.
44539 (grub_halt): Likewise.
44540 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44541 (cmain): Remove __attribute__((unused)).
44542 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44543 (grub_heap_len): Likewise.
44544 (grub_machine_fini): New function.
44545 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44546 (grub_halt): Likewise.
44547 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44548 function.
44549 * util/powerpc/ieee1275/misc.c: New file.
44550
44551 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44552
44553 * DISTLIST: New file.
44554 * gendistlist.sh: Likewise.
44555
44556 * Makefile.in (COMMON_DISTFILES): Removed.
44557 (BOOT_DISTFILES): Likewise.
44558 (CONF_DISTFILES): Likewise.
44559 (DISK_DISTFILES): Likewise.
44560 (FS_DISTFILES): Likewise.
44561 (INCLUDE_DISTFILES): Likewise.
44562 (KERN_DISTFILES): Likewise.
44563 (LOADER_DISTFILES): Likewise.
44564 (TERM_DISTFILES): Likewise.
44565 (UTIL_DISTFILES): Likewise.
44566 (DISTFILES): Likewise.
44567 (uninstall): Uninstall files in $(pkgdata_DATA).
44568 (DISTLIST): New target.
44569 (distdir): Use the contents of the file DISTLIST to get a list of
44570 distributed files.
44571
44572 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44573
44574 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44575 descriptor. This is ported from GRUB Legacy.
44576
44577 * gencmdlist.sh: Added an extra semicolon to make it work with
44578 old sed versions. Reported by Robert Bihlmeyer
44579 <robbe@orcus.priv.at>.
44580
44581 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44582
44583 Automatic loading of commands is supported.
44584
44585 * normal/main.c (read_command_list): New function.
44586 (grub_normal_execute): Call read_command_list.
44587
44588 * normal/command.c (grub_register_command): Return zero or CMD.
44589 Allocate CMD->NAME from the heap.
44590 Initialize CMD->MODULE_NAME to zero.
44591 Find the same name as well. If the same command is found and it is
44592 a dummy command, overwrite members. If it is not a dummy command,
44593 return zero.
44594 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44595 (grub_command_find): If a dummy command is found, load a module
44596 and retry to find a command only once.
44597
44598 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44599 make sure that each command is loaded.
44600
44601 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44602 macro.
44603 (struct grub_command): Remove const from the member `name'.
44604 Add a new member `module_name'.
44605 (grub_register_command): Return grub_command_t.
44606
44607 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44608 sure that each command is loaded.
44609
44610 * genmk.rb (PModule::rule): Specify a module name without the
44611 suffix ".mod" to gencmdlist.sh.
44612
44613 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44614
44615 * gencmdlist.sh: New file.
44616
44617 * genmk.rb (PModule::rule): Generate a rule for a command list.
44618 Clean command.lst.
44619 Generate command.lst from $(COMMANDFILES).
44620
44621 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44622 (DATA): Added $(pkgdata_DATA).
44623 (install-local): Install files in $(pkgdata_DATA).
44624
44625 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44626
44627 * term/i386/pc/vga.c (debug_command): Removed.
44628 (GRUB_MOD_INIT): Do not register the command "debug".
44629
44630 From Hollis Blanchard:
44631 * commands/configfile.c: New file.
44632 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44633 commands/configfile.c.
44634 (pkgdata_MODULES): Added configfile.mod.
44635 (configfile_mod_SOURCES): New variable.
44636 (configfile_mod_CFLAGS): Likewise.
44637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44638 commands/configfile.c.
44639 (pkgdata_MODULES): Added configfile.mod.
44640 (configfile_mod_SOURCES): New variable.
44641 (configfile_mod_CFLAGS): Likewise.
44642 * util/grub-emu.c (main): Call grub_configfile_init and
44643 grub_configfile_fini.
44644 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44645 prototype.
44646 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44647
44648 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44649
44650 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44651 address.
44652
44653 * commands/help.c (grub_cmd_help): Do not print newlines after
44654 the last command in print_command_help.
44655
44656 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44657
44658 * commands/default.h: New file.
44659 * commands/timeout.h: Likewise.
44660 * normal/context.c: Likewise.
44661
44662 * util/misc.c: Do not include sys/times.h.
44663 Include sys/time.h and grub/machine/time.h.
44664 (grub_get_rtc): Rewritten with gettimeofday.
44665
44666 * util/grub-emu.c (main): Call grub_default_init and
44667 grub_timeout_init before grub_normal_init, and call
44668 grub_timeout_fini and grub_default_fini after grub_main.
44669
44670 * util/console.c (grub_ncurses_checkkey): Return the read
44671 character or -1.
44672
44673 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44674 timeouts.
44675
44676 * normal/main.c (read_config_file): Push MENU. If this fails,
44677 print an error and wait for a user input.
44678 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44679 If a menu is empty or an error occurs, pop MENU.
44680 (grub_normal_execute): Pop and free MENU after grub_menu_run
44681 returns.
44682
44683 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44684
44685 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44686 include time.h.
44687 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44688 without GRUB_UTIL.
44689 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44690 time.h.
44691 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44692 without GRUB_UTIL.
44693
44694 * include/grub/normal.h (struct grub_menu_list): New struct.
44695 (grub_menu_list_t): New type.
44696 (struct grub_context): New struct.
44697 (grub_context_t): New type.
44698 (grub_register_command): Got rid of EXPORT_FUNC.
44699 (grub_unregister_command): Likewise.
44700 (grub_context_get): New prototype.
44701 (grub_context_get_current_menu): Likewise.
44702 (grub_context_push_menu): Likewise.
44703 (grub_context_pop_menu): Likewise.
44704 [GRUB_UTIL] (grub_default_init): Likewise.
44705 [GRUB_UTIL] (grub_default_fini): Likewise.
44706 [GRUB_UTIL] (grub_timeout_init): Likewise.
44707 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44708
44709 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44710 commands/timeout.c and normal/context.c.
44711 (pkgdata_MODULES): Added default.mod and timeout.mod.
44712 (normal_mod_SOURCES): Added normal/context.c.
44713 (default_mod_SOURCES): New variable.
44714 (default_mod_CFLAGS): Likewise.
44715 (timeout_mod_SOURCES): Likewise.
44716 (timeout_mod_CFLAGS): Likewise.
44717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44718 conf/i386-pc.rmk.
44719 (pkgdata_MODULES): Added default.mod and timeout.mod.
44720 (normal_mod_SOURCES): Added normal/context.c.
44721 (default_mod_SOURCES): New variable.
44722 (default_mod_CFLAGS): Likewise.
44723 (timeout_mod_SOURCES): Likewise.
44724 (timeout_mod_CFLAGS): Likewise.
44725
44726 * Makefile.in (all-local): Added $(MKFILES).
44727
44728 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44729
44730 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44731 (grub_emu_SOURCES): Likewise.
44732 (pkgdata_MODULES): Add `sun.mod'.
44733 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44735 `partmap/sun.c'.
44736 (pkgdata_MODULES): Add `sun.mod'.
44737 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44738 * include/grub/partition.h (grub_sun_partition_map_init): New
44739 prototype.
44740 (grub_sun_partition_map_fini): Likewise.
44741 * partmap/sun.c: New file.
44742 * util/grub-emu.c (main): Initialize and de-initialize the sun
44743 partitionmap support.
44744
44745 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44746
44747 This implements an Emacs-like menu entry editor.
44748
44749 * normal/menu_entry.c: New file.
44750
44751 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44752 characters to ASCII.
44753 (saved_char): New variable.
44754 (grub_ncurses_checkkey): Rewritten completely.
44755 (grub_ncurses_getkey): Likewise.
44756 (grub_ncurses_init): Call raw instead of cbreak.
44757
44758 * normal/menu.c (print_entry): Do not put a space.
44759 (init_page): Renamed to ...
44760 (grub_menu_init_page): ... this. All callers changed.
44761 (edit_menu_entry): Removed.
44762 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44763
44764 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44765
44766 * kern/misc.c (grub_vprintf): Call grub_refresh.
44767
44768 * normal/menu.c (DISP_LEFT): Renamed to ...
44769 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44770 * normal/menu.c (DISP_UP): Renamed to ...
44771 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44772 * normal/menu.c (DISP_RIGHT): Renamed to ...
44773 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44774 * normal/menu.c (DISP_DOWN): Renamed to ...
44775 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44776 * normal/menu.c (DISP_HLINE): Renamed to ...
44777 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44778 * normal/menu.c (DISP_VLINE): Renamed to ...
44779 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44780 * normal/menu.c (DISP_UL): Renamed to ...
44781 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44782 * normal/menu.c (DISP_UR): Renamed to ...
44783 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44784 * normal/menu.c (DISP_LL): Renamed to ...
44785 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44786 * normal/menu.c (DISP_LR): Renamed to ...
44787 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44788 * normal/menu.c (TERM_WIDTH): Renamed to ...
44789 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44790 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44791 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44792 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44793 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44794 * normal/menu.c (TERM_MARGIN): Renamed to ...
44795 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44796 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44797 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44798 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44799 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44800 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44801 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44802 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44803 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44804 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44805 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44806 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44807 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44808 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44809 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44810 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44811 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44812 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44813 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44814 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44815 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44816 All callers changed.
44817
44818 * include/grub/normal.h: New prototype.
44819
44820 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44821 normal/menu_entry.c.
44822 (normal_mod_SOURCES): Likewise.
44823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44824 (normal_mod_SOURCES): Likewise.
44825
44826 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44827
44828 * include/grub/normal.h (grub_halt_init): New prototype.
44829 (grub_halt_fini): Likewise.
44830 (grub_reboot_init): Likewise.
44831 (grub_reboot_fini): Likewise.
44832
44833 * util/grub-emu.c: Include signal.h.
44834 (main_env): New global variable.
44835 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44836 catch C-c.
44837 (grub_machine_fini): New function.
44838 (main): Call grub_halt_init and grub_reboot_init before
44839 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44840 Call setjmp with MAIN_ENV to go back afterwards.
44841 Call grub_machine_fini right before return.
44842
44843 * include/grub/util/misc.h: Include setjmp.h.
44844 (main_env): New prototype.
44845
44846 * include/grub/kernel.h (grub_machine_fini): New prototype.
44847 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44848 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44849
44850 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44851 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44852 * term/i386/pc/console.c (grub_console_fini): Likewise.
44853
44854 * util/i386/pc/misc.c: New file.
44855
44856 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44857 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44858 commands/i386/pc/reboot.c.
44859
44860 2005-02-14 Guillem Jover <guillem@hadrons.org>
44861
44862 * include/grub/dl.h (grub_dl_check_header): New prototype.
44863 (grub_arch_dl_check_header): Change return type to grub_err_t,
44864 remove size parameter and export function. Update all callers.
44865 * kern/dl.c (grub_dl_check_header): New function.
44866 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44867 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44868 are inside the core.
44869 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44870 independent ELF header checks.
44871 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44872 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44873 `grub_dl_check_header' instead of explicit checks. Check for the
44874 ELF type.
44875 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44876 `grub_dl_check_header' instead of explicit checks. Remove arch
44877 specific ELF header checks.
44878
44879 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44880 argument SIZE.
44881
44882 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44883
44884 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44885 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44886
44887 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44888
44889 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44890 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44891 (part_map_iterate): Clear `grub_errno' and return 0 if
44892 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44893 * partmap/amiga.c (amiga_partition_map_iterate): Return
44894 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44895 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44896
44897 2005-02-01 Guillem Jover <guillem@hadrons.org>
44898
44899 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44900 help info.
44901
44902 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44903
44904 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44905 Removed prototype.
44906 (grub_rescue_cmd_linux): New prototype.
44907 (grub_rescue_cmd_initrd): Likewise.
44908 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44909 `bi_rec'.
44910 (grub_linux_release_mem): Release the memory for the initrd.
44911 (grub_load_linux): Renamed from this...
44912 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44913 Changed `entry' not to be static. Loop over memory regions to
44914 find another one when the default fails.
44915 (grub_rescue_cmd_initrd): New function.
44916 (grub_linux_init): Remove function.
44917 (grub_linux_fini): Likewise.
44918 (GRUB_MOD_INIT): Register `initrd'.
44919 (GRUB_MOD_FINI): Unregister `initrd'.
44920 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44921 Function removed.
44922 (grub_linux_normal_fini): Likewise.
44923 (GRUB_MOD_INIT): Register `initrd'.
44924 (GRUB_MOD_FINI): Unregister `initrd'.
44925
44926 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44927
44928 * commands/help.c: New file.
44929 * normal/arg.c (show_help): Renamed to...
44930 (grub_arg_show_help): ... this.
44931 * commands/i386/pc/halt.c: New file.
44932 * commands/i386/pc/reboot.c: Likewise.
44933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44934 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44935 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44936 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44937 variables.
44938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44939 `commands/help.c'.
44940 (pkgdata_MODULES): Add `help.mod'.
44941 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44942 * grub/i386/pc/init.h (grub_reboot): New prototype.
44943 (grub_halt): Likewise.
44944 * include/grub/normal.h (grub_arg_show_help): New prototype.
44945 (grub_help_init): Likewise.
44946 (grub_help_fini): Likewise.
44947 * util/grub-emu.c (main): Initialize and deinitialize the help
44948 command.
44949
44950 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44951
44952 * normal/command.c (grub_command_init): Fixed the description of
44953 the `set' and `unset' commands.
44954
44955 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44956
44957 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44958 function.
44959 * commands/ieee1275/halt.c: New file.
44960 * commands/ieee1275/reboot.c: Likewise.
44961 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44962 `__attribute__ ((unused))'. Some GCS related fixed.
44963 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44964 (grub_suspend_fini): Likewise.
44965 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44966 and `halt.mod'.
44967 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44968 (halt_mod_CFLAGS): New variables.
44969 * include/grub/powerpc/ieee1275/ieee1275.h
44970 (grub_ieee1275_interpret): New prototype.
44971
44972 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44973
44974 * include/grub/misc.h (memmove): New prototype.
44975 (memcpy): Likewise.
44976
44977 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44978
44979 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44980 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44981
44982 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44983
44984 * kern/misc.c (grub_strndup): Function rewritten.
44985
44986 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44987
44988 * normal/menu.c (TERM_WIDTH): Macro redefined.
44989 (TERM_TOP_BORDER_Y): Likewise.
44990 (draw_border): Replaced while-loop by a for-loop. Make the number
44991 of lines consistent with the number of lines displayed in
44992 print_entries. Added a margin below the rectangle.
44993 (print_entry): Make the entry fit in the rectangle.
44994 (print_entries): Display the scroll arrows next to the right
44995 border.
44996
44997 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44998
44999 * fs/minix.c (grub_minix_find_file): Reserve more space for
45000 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45001 `grub_strncpy' to copy `path' into it.
45002
45003 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45004
45005 Add the loopback device, a device via which files can be accessed
45006 as devices.
45007
45008 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45009 (pkgdata_MODULES): Add loopback.mod.
45010 (loopback_mod_SOURCES): New variable.
45011 (loopback_mod_CFLAGS): Likewise.
45012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45013 `disk/loopback.c'.
45014 (pkgdata_MODULES): Add loopback.mod.
45015 (loopback_mod_SOURCES): New variable.
45016 (loopback_mod_CFLAGS): Likewise.
45017 * disk/loopback.c: new file.
45018 * include/grub/normal.h (grub_loop_init): New prototype.
45019 (grub_loop_fini): New prototype.
45020 * util/grub-emu.c (main): Initialize and de-initialize loopback
45021 support.
45022 * include/grub/disk.h (grub_disk_dev_id): Add
45023 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45024
45025 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45026
45027 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45028 function.
45029 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45030 (suspend_mod_SOURCES): New variable.
45031 (suspend_mod_CFLAGS): Likewise.
45032 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45033 New prototype.
45034 * commands/ieee1275/suspend.c: New file.
45035
45036 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45037
45038 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
45039 ((unused))' to `__attribute__ ((used))'.
45040 (GRUB_MOD_FINI): Likewise.
45041 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45042 * genmk.rb (PModule): Assign space to common symbols when linking
45043 modules.
45044
45045 2005-01-20 Marco Gerards <metgerards@student.han.nl>
45046
45047 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45048 `unsigned' arguments to `grub_size_t'.
45049 (grub_malloc): Likewise.
45050 (grub_realloc): Likewise.
45051 (grub_memalign): Likewise.
45052 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45053 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45054 * util/misc.c (grub_malloc): Likewise.
45055 (grub_realloc): Likewise.
45056 * kern/mm.c (get_header_from_pointer): Change the casts to
45057 `unsigned' into a cast to `grub_size_t'.
45058
45059 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45060 point to `currnode' when `currnode' is changed.
45061
45062 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45063 Schottelius <nico-linux@schottelius.org>.
45064
45065 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45066
45067 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45068 (note_path): Remove variable.
45069 (GRUB_IEEE1275_NOTE_NAME): New macro.
45070 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45071 (grub_ieee1275_note_hdr): New structure.
45072 (grub_ieee1275_note_desc): Likewise.
45073 (grub_ieee1275_note): Likewise.
45074 (load_note): Remove `dir' argument. All callers updated. Remove
45075 `note_img' and `path'. Do not load a file from `note_path'.
45076 Initialize a struct grub_ieee1275_note and write that to `out'.
45077 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45078
45079 2005-01-05 Marco Gerards <metgerards@student.han.nl>
45080
45081 * util/misc.c (grub_util_read_image): Revert last change. It
45082 called `grub_util_read_at', which seeks from the beginning of the
45083 file.
45084
45085 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45086
45087 * TODO: Add note about endianness in grub-mkimage.
45088 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45089 section.
45090 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45091 (grub_mkimage_SOURCES): New target.
45092 * include/grub/kernel.h (grub_start_addr): Remove variable.
45093 (grub_end_addr): Likewise.
45094 (grub_total_module_size): Likewise.
45095 (grub_kernel_image_size): Likewise.
45096 (GRUB_MODULE_MAGIC): New constant.
45097 (grub_module_info): New structure.
45098 (grub_arch_modules_addr): New prototype.
45099 (grub_get_end_addr): Remove prototype.
45100 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45101 * include/grub/powerpc/ieee1275/kernel.h: New file.
45102 * include/grub/util/misc.h (grub_util_get_fp_size): New
45103 prototype.
45104 (grub_util_read_at): Likewise.
45105 (grub_util_write_image_at): Likewise.
45106 * kern/main.c (grub_get_end_addr): Remove function.
45107 (grub_load_modules): Call grub_arch_modules_addr instead of using
45108 grub_end_addr. Look for a grub_module_info struct in memory. Use
45109 the grub_module_info fields instead of calling grub_get_end_addr
45110 as loop conditions. Move grub_add_unused_region code here.
45111 (grub_add_unused_region): Remove function.
45112 * kern/i386/pc/init.c: Include grub/cache.h.
45113 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45114 one call to add_mem_region.
45115 (grub_arch_modules_addr): New function.
45116 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45117 (grub_total_module_size): Likewise.
45118 Include grub/machine/kernel.h.
45119 (grub_arch_modules_addr): New function.
45120 * util/grub-emu.c (grub_end_addr): Remove variable.
45121 (grub_total_module_size): Likewise.
45122 (grub_arch_modules_addr): New function.
45123 * util/misc.c: Include unistd.h.
45124 (grub_util_get_fp_size): New function.
45125 (grub_util_read_at): Likewise.
45126 (grub_util_write_image_at): Likewise.
45127 (grub_util_read_image): Call grub_util_read_at.
45128 (grub_util_write_image): Call grub_util_write_image_at.
45129 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45130 additional memory in kernel_img for a struct grub_module_info.
45131 Fill in that grub_module_info.
45132 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45133
45134 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45135
45136 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45137 New function.
45138 * include/grub/powerpc/ieee1275/ieee1275.h
45139 (grub_ieee1275_milliseconds): New prototype.
45140 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45141 Change to 1000.
45142 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45143 grub_ieee1275_milliseconds.
45144
45145 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45146
45147 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45148 variable.
45149 (find_options): New function.
45150 (cmain): Call find_options.
45151 * include/grub/powerpc/ieee1275/ieee1275.h
45152 (grub_ieee1275_realmode): New extern variable.
45153 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45154 grub_map if grub_ieee1275_realmode is false.
45155
45156 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45157
45158 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45159 lines are inserted and make it work like readline. Reported by
45160 Vincent Pelletier <subdino2004@yahoo.fr>.
45161
45162 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45163
45164 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45165
45166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45167 `kern/powerpc/cache.S'.
45168
45169 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45170
45171 * genmk.rb: Handle the `Program' class in the main loop. Written
45172 by Johan Rydberg <jrydberg@gnu.org>.
45173 (Program): New class.
45174 (programs): New variable.
45175 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45176 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45177 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45178 (help_arch): Function removed.
45179 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45180 `powerpc/libgcc.h' and `loader.h'.
45181 (pkgdata_PROGRAMS): New variable.
45182 (sbin_UTILITIES): Variable removed.
45183 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45184 (grubof_SOURCES): Variable re-defined so it only includes the
45185 core functionality.
45186 (grubof_CFLAGS): Remove `-DGRUBOF'.
45187 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45188 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45189 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45190 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45191 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45192 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45193 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45194 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45195 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45196 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45197 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45198 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45199 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45200 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45201 (pc_mod_CFLAGS): New variables.
45202 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45203 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45204 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45205 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45206 Moved from here...
45207 * include/grub/i386/pc/init.h (grub_os_area_addr)
45208 (rub_os_area_size): ... to here.
45209 * include/grub/powerpc/ieee1275/ieee1275.h
45210 (grub_ieee1275_entry_fn): Export symbol.
45211 * include/grub/powerpc/ieee1275/init.h: New file.
45212 * include/grub/powerpc/libgcc.h: Likewise.
45213 * include/grub/cache.h: Likewise.
45214 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45215 <hollis@penguinppc.org>.
45216 * kern/dl.c: Include <grub/cache.h>.
45217 (grub_dl_flush_cache): New function.
45218 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45219 for this module.
45220 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45221 (grub_console_init): Removed prototypes.
45222 (grub_machine_init): Don't initialize the modules anymore.
45223 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45224 static.
45225 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45226 Macro undef removed.
45227 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45228 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45229 relocation `R_PPC_REL32'. Return an error when the relocation is
45230 unknown.
45231 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45232 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45233 * util/misc.c (grub_arch_sync_caches): Likewise.
45234
45235 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45236
45237 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45238 `symlist.c', add `grubof_symlist.c'.
45239 (symlist.c): Variable removed.
45240 (grubof_HEADERS): Variable added.
45241 (grubof_symlist.c): New target.
45242 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45243 `kernel_img_HEADERS'.
45244 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45245 * kern/powerpc/dl.c: New file.
45246 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45247 Function removed.
45248 (grub_arch_dl_relocate_symbols): Likewise.
45249 (grub_register_exported_symbols): Likewise.
45250
45251 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45252
45253 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45254 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45255 to fail instead. Reported by Vincent Pelletier
45256 <subdino2004@yahoo.fr>.
45257
45258 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45259 it is not allocated. Reported by Vincent Pelletier
45260 <subdino2004@yahoo.fr>.
45261
45262 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45263 output so the output looks better.
45264
45265 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45266
45267 Modulize the partition map support and add support for the amiga
45268 partition map.
45269
45270 * commands/ls.c: Include <grub/partition.h> instead of
45271 <grub/machine/partition.h>.
45272 * kern/disk.c: Likewise.
45273 * kern/rescue.c: Likewise.
45274 * loader/i386/pc/chainloader.c: Likewise.
45275 * normal/cmdline.c: Likewise.
45276 * kern/powerpc/ieee1275/init.c: Likewise.
45277 (grub_machine_init): Call `grub_pc_partition_map_init',
45278 `grub_amiga_partition_map_init' and
45279 `grub_apple_partition_map_init'.
45280 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45281 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45282 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45283 `partition.h' and `pc_partition.h'.
45284 (grub_setup_SOURCES): Remove
45285 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45286 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45287 (grub_emu_SOURCES): Likewise.
45288 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45289 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45290 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45292 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45293 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45294 (grubof_SOURCES): Likewise.
45295 * disk/i386/pc/partition.c: File removed.
45296 * disk/powerpc/ieee1275/partition.c: Likewise.
45297 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45298 * include/grub/i386/pc/partition.h: Likewise.
45299 * kern/partition.c: New file.
45300 * partmap/amiga.c: Likewise.
45301 * partmap/apple.c: Likewise.
45302 * partmap/pc.c: Likewise.
45303 * include/grub/partition.h: Likewise..
45304 * include/grub/pc_partition.h: Likewise.
45305 * util/grub-emu.c: Include <grub/partition.h> instead of
45306 <grub/machine/partition.h>.
45307 (main): Call `grub_pc_partition_map_init',
45308 `grub_amiga_partition_map_init' and
45309 `grub_apple_partition_map_init' and deinitialize afterwards.
45310 * util/i386/pc/biosdisk.c: Include `#include
45311 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45312 `<grub/machine/partition.h>'.
45313 * util/i386/pc/grub-setup.c: Likewise.
45314 * util/i386/pc/biosdisk.c: Likewise.
45315 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45316 partition information in case of a PC partition.
45317 * util/i386/pc/grub-setup.c: Include `#include
45318 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45319 `<grub/machine/partition.h>'.
45320 (setup): Only access the PC specific partition information in case
45321 of a PC partition.
45322
45323 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45324
45325 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45326 (grub_longjmp): Likewise.
45327 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45328 20.
45329 * normal/powerpc/setjmp.S: New file.
45330 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45331 `normal/powerpc/setjmp.S'.
45332 (grubof_CFLAGS): Add `-DGRUBOF'.
45333 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45334 [GRUB_UTIL && !GRUBOF].
45335
45336 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45337
45338 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45339 property named `name'. Correctly handle the error returned by
45340 `grub_ieee1275_finddevice' if a device can not be opened.
45341
45342 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45343
45344 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45345 `actual' for negativity.
45346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45347 kern/fshelp.c.
45348
45349 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45350
45351 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45352 (PAGE_OFFSET): New macro.
45353 (CRTC_ADDR_PORT): Likewise.
45354 (CRTC_DATA_PORT): Likewise.
45355 (START_ADDR_HIGH_REGISTER): Likewise.
45356 (START_ADDR_LOW_REGISTER): Likewise.
45357 (GRAPHICS_ADDR_PORT): Likewise.
45358 (GRAPHICS_DATA_PORT): Likewise.
45359 (READ_MAP_REGISTER): Likewise.
45360 (INPUT_STATUS1_REGISTER): Likewise.
45361 (INPUT_STATUS1_VERTR_BIT): Likewise.
45362 (page): New variable.
45363 (wait_vretrace): New function.
45364 (set_read_map): Likewise.
45365 (set_start_address): Likewise.
45366 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45367 the right page.
45368 (check_vga_mem): Take the page into account.
45369 (write_char): Likewise.
45370 (write_cursor): Likewise.
45371 (scroll_up): Likewise. Copy the page to the page that is not
45372 shown and switch between both pages.
45373 (grub_vga_putchar): Fix off by one error.
45374 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45375 account.
45376
45377 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45378
45379 Add support for iso9660 (including rockridge).
45380
45381 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45382 (iso9660_mod_SOURCES): New variable.
45383 (iso9660_mod_CFLAGS): Likewise.
45384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45385 * include/grub/fs.h (grub_iso9660_init): New prototype.
45386 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45387 * fs/iso9660.c: New file.
45388
45389 * include/grub/misc.h (grub_strncat): New prototype.
45390 * kern/misc.c (grub_strncat): New function.
45391
45392 * fs/hfs.c (grub_hfs_mount): Translate the error
45393 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45394 * fs/jfs.c (grub_jfs_mount): Likewise.
45395 * fs/ufs.c (grub_ufs_mount): Likewise.
45396
45397 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45398
45399 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45400 which initialized BAT registers.
45401 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45402 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45403 Move from here...
45404 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45405 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45406 ... to here.
45407 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45408 (grub_mapclaim): Likewise.
45409 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45410 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45411 hand.
45412
45413 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45414
45415 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45416 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45417 -ffreestanding and -msoft-float.
45418
45419 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45420
45421 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45422 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45423 set in grub_ieee1275_flags.
45424
45425 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45426
45427 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45428 prototype.
45429 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45430 grub_console_init first.
45431 Change the memory range used for grub_ieee1275_claim and
45432 grub_mm_init_region.
45433 Print an error message if the claim fails.
45434 Include <grub/misc.h>.
45435
45436 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45437
45438 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45439 Call grub_children_iterate for device nodes of type `scsi',
45440 `ide', or `ata'.
45441 (grub_ofdisk_open): Remove manual device alias resolution.
45442 Fix memory leak when device cannot be opened.
45443 * include/grub/powerpc/ieee1275/ieee1275.h
45444 (grub_children_iterate): New prototype.
45445 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45446 New function.
45447 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45448 Return -1 if args.size was -1.
45449
45450 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45451
45452 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45453 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45454 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45455 Open Firmware's memory for it; claim memory from _start to _end.
45456 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45457 (_end): New extern.
45458 (_start): Zero BSS from __bss_start to _end.
45459 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45460 New extern.
45461 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45462
45463 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45464
45465 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45466 -1 if args.base was -1.
45467
45468 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45469
45470 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45471 escape sequence instead of a literal ^L. Also call
45472 grub_ofconsole_gotoxy.
45473
45474 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45475
45476 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45477 void * arguments to grub_addr_t. All callers updated. Also make
45478 the `result' argument optional.
45479 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45480 All callers updated.
45481
45482 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45483
45484 * commands/ls.c (grub_ls_list_files): Use the string following the
45485 initial ')', if present, as the filesystem path.
45486 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45487
45488 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45489
45490 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45491
45492 Make the source code of the menu interface more readable.
45493
45494 * normal/menu.c: Include grub/mm.h.
45495 (TERM_WIDTH): New macro.
45496 (TERM_HEIGHT): Likewise.
45497 (TERM_INFO_HEIGHT): Likewise.
45498 (TERM_MARGIN): Likewise.
45499 (TERM_SCROLL_WIDTH): Likewise.
45500 (TERM_TOP_BORDER_Y): Likewise.
45501 (TERM_LEFT_BORDER_X): Likewise.
45502 (TERM_BORDER_WIDTH): Likewise.
45503 (TERM_MESSAGE_HEIGHT): Likewise.
45504 (TERM_BORDER_HEIGHT): Likewise.
45505 (TERM_NUM_ENTRIES): Likewise.
45506 (TERM_FIRST_ENTRY_Y): Likewise.
45507 (TERM_ENTRY_WIDTH): Likewise.
45508 (TERM_CURSOR_X): Likewise.
45509 (draw_border): Use macros instead of magic numbers.
45510 (print_entry): Likewise.
45511 (print_entries): Likewise.
45512 (run_menu): Likewise. Also, handle the key 'e'.
45513 (run_menu_entry): Ignore empty command lines.
45514 (print_message): Added a new argument EDIT. If EDIT is true,
45515 print a different message.
45516 (init_page): Likewise.
45517 (edit_menu_entry): New function. Not implemented yet.
45518
45519 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45520
45521 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45522 can be loaded from normal mode.
45523
45524 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45525 `multiboot.mod'.
45526 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45527 (multiboot_mod_CFLAGS): New variables.
45528 * loader/i386/pc/linux_normal.c: New file.
45529 * loader/i386/pc/multiboot_normal.c: Likewise.
45530
45531 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45532 attribute `unused'.
45533
45534 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45535 `fdiro' to read the mode information from instead of `diro'.
45536
45537 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45538 looking up a symlink.
45539
45540 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45541 macro.
45542 * normal/command.c (grub_command_execute): Don't parse the
45543 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45544 flags of the command.
45545
45546 * normal/menu.c (grub_menu_run): Fix typo.
45547
45548 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45549
45550 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45551
45552 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45553 `y + 1' instead of `y - 1'.
45554
45555 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45556
45557 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45558
45559 From Hollis Blanchard <hollis@penguinppc.org>:
45560 * kern/misc.c (memmove): New alias for grub_memmove.
45561 (memcmp): New alias for grub_memcmp.
45562 (memset): New alias for grub_memset.
45563 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45564 Change "int handle" to "grub_ieee1275_phandle_t handle".
45565 * include/grub/powerpc/ieee1275/ieee1275.h
45566 (grub_ieee1275_get_property): Likewise.
45567
45568 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45569
45570 Added normal mode command `chainloader' as module chain.mod, which
45571 depends on normal.mod and _chain.mod.
45572
45573 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45574 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45575 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45576 Deleted prototype.
45577 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45578 but arguments parsing moved to ...
45579 (grub_chainloader_cmd): ... here. New function.
45580 * include/grub/i386/pc/chainloader.h: New file.
45581 * loader/i386/pc/chainloader_normal.c: Likewise.
45582
45583 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45584
45585 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45586 (grub_mkimage_LDFLAGS): Likewise.
45587 (grub_emu_SOURCES): Likewise.
45588 (kernel_img_HEADERS): Added fshelp.h.
45589 * fs/ext2.c: Include <grub/fshelp.h>.
45590 (FILETYPE_REG): New macro.
45591 (FILETYPE_INO_REG): Likewise.
45592 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45593 Changed all users.
45594 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45595 all users.
45596 (grub_fshelp_node): New struct.
45597 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45598 to a pointer.
45599 (grub_ext2_get_file_block): Removed function.
45600 (grub_ext2_read_block): New function.
45601 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45602 This function was written.
45603 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45604 (grub_ext2_find_file): Removed function.
45605 (grub_ext2_read_symlink): New function.
45606 (grub_ext2_iterate_dir): Likewise.
45607 (grub_ext2_open): Rewritten.
45608 (grub_ext2_dir): Rewritten.
45609 * include/grub/fshelp.h: New file.
45610 * fs/fshelp.c: Likewise.
45611
45612 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45613
45614 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45615 (print_message): Add a missing newline.
45616 (run_menu): Added timeout support.
45617 (run_menu_entry): New local function.
45618 (grub_menu_run): Added support for booting.
45619
45620 * kern/loader.c (grub_loader_is_loaded): New function.
45621
45622 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45623 (grub_get_rtc): Exported.
45624
45625 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45626 (grub_get_rtc): Exported.
45627
45628 * include/grub/normal.h (struct grub_command_list): Remove
45629 constant from the member `command'.
45630
45631 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45632
45633 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45634
45635 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45636
45637 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45638
45639 Add support for the JFS filesystem.
45640
45641 * fs/jfs.c: New file.
45642 * include/grub/fs.h (grub_jfs_init): New prototype.
45643 (grub_jfs_fini): New prototype.
45644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45645 (grub_emu_SOURCES): Likewise.
45646 (pkgdata_MODULES): Add jfs.mod.
45647 (jfs_mod_SOURCES): New variable.
45648 (jfs_mod_CFLAGS): Likewise.
45649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45650 (grubof_SOURCES): Likewise.
45651 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45652
45653 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45654 endian to the host endian.
45655 (grub_fat_utf16_to_utf8): Move function from there...
45656 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45657 the endianness of the source string anymore.
45658 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45659
45660 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45661
45662 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45663 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45664 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45665 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45666
45667 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45668 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45669 for `node_found' and `it_dir'.
45670 (grub_hfs_dir): Add prototype for `dir_hook'.
45671
45672 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45673 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45674 and `indir32' to silence a gcc warning.
45675
45676 * include/grub/fs.h (grub_hfs_init): New prototype.
45677 (grub_hfs_fini): Likewise.
45678
45679
45680 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45681
45682 Each disk device has its own id now. This is useful to make use
45683 of multiple disk devices.
45684
45685 * include/grub/disk.h (grub_disk_dev_id): New enum.
45686 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45687 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45688
45689 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45690 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45691
45692 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45693 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45694
45695 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45696 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45697
45698 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45699 "id" which is used by the cache manager.
45700
45701 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45702 of just "GRUB".
45703
45704 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45705
45706 * fs/hfs.c: New file.
45707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45708 (grub_emu_SOURCES): Likewise.
45709 (pkgdata_MODULES): Add hfs.mod.
45710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45711 (grubof_SOURCES): Likewise.
45712 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45713
45714 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45715 * kern/misc.c (grub_strncasecmp): Add function.
45716
45717 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45718
45719 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45720 with parentheses.
45721
45722 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45723 (grub_ext2_dir): In case the directory entry type is unknown, read
45724 it from the inode.
45725
45726 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45727
45728 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45729 grub_load_linux instead of grub_rescue_cmd_linux as second
45730 argument of grub_rescue_register_command.
45731
45732 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45733
45734 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45735
45736 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45737 function.
45738 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45739 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45740 `loader/powerpc/ieee1275/linux.c',
45741 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45742 * include/grub/powerpc/ieee1275/ieee1275.h
45743 (grub_ieee1275_release): New prototype.
45744 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45745 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45746 normal, boot, linux and linux_normal.
45747 * loader/powerpc/ieee1275/linux.c: New file.
45748 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45749
45750 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45751
45752 * normal/arg.c (grub_arg_parse): Correct error handling after
45753 reallocating the argumentlist (check if `argl' is not null instead
45754 of checking if `args' is not null).
45755 * kern/mm.c (grub_realloc): Return the same pointer when using the
45756 same region, instead of returning the header address.
45757
45758 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45759
45760 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45761 one block instead of two when looking for the initial partition.
45762 (grub_partition_probe): Initialize the local variable `p' with 0.
45763 Use base 10 for the grub_strtoul call.
45764 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45765 need for one local variable.
45766 (grub_strtoul): Don't add the new value to `num', instead of that
45767 just assign it.
45768
45769 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45770
45771 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45772 (pxeboot_img_SOURCES): New variable.
45773 (pxeboot_img_ASFLAGS): Likewise.
45774 (pxeboot_img_LDFLAGS): Likewise.
45775 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45776 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45777 <lode_leroy@hotmail.com>.
45778
45779 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45780
45781 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45782 there was no input.
45783
45784 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45785
45786 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45787 the history buffer logic.
45788
45789 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45790
45791 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45792 (FILETYPE_INO_SYMLINK): New macros.
45793 (grub_ext2_find_file): Check if the node is a directory using the
45794 inode stat information instead of using the filetype in the
45795 dirent. Exclude the first character of an absolute symlink.
45796 (grub_ext2_dir): Mask out the filetype part of the mode member of
45797 the inode.
45798
45799 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45800
45801 Add support for UFS version 1 and 2. Add support for the minix
45802 filesystem version 1 and 2, both the variants with 14 and 30 long
45803 filenames.
45804
45805 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45806 fs/minix.c.
45807 (grub_emu_SOURCES): Likewise.
45808 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45809 (ufs_mod_SOURCES): New variable.
45810 (ufs_mod_CFLAGS): Likewise.
45811 (minix_mod_SOURCES): Likewise.
45812 (minix_mod_CFLAGS): Likewise.
45813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45814 fs/minix.c.
45815 (grubof_SOURCES): Likewise.
45816 * fs/ufs.c: New file.
45817 * fs/minix.c: New file.
45818 * include/grub/fs.h (grub_ufs_init): New prototype.
45819 (grub_ufs_fini): Likewise.
45820 (grub_minix_init): Likewise.
45821 (grub_minix_fini): Likewise.
45822 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45823 minix fs.
45824
45825 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45826
45827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45828 commands/ls.c, commands/terminal.c, commands/boot.c,
45829 commands/cmp.c and commands/cat.c.
45830 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45831
45832 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45833 "env.h"
45834
45835 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45836
45837 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45838 and grub_, respectively. Because the conversion is trivial and
45839 mechanical, I omit the details here. Please refer to the CVS
45840 if you need more information.
45841
45842 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45843
45844 * include/pupa: Renamed to ...
45845 * include/grub: ... this.
45846 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45847 * util/i386/pc/grub-mkimage.c: ... this.
45848 * util/i386/pc/pupa-setup.c: Renamed to ...
45849 * util/i386/pc/grub-setup.c: ... this.
45850 * util/pupa-emu.c: Renamed to ...
45851 * util/grub-emu.c: ... this.
45852
45853 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45854
45855 Add support for the newworld apple macintosh (PPC). This has been
45856 tested on the powerbook 2000 only. It only adds support for
45857 generic ieee1275 functions, console and disk support. This should
45858 be easy to port to other architectures with support for Open
45859 Firmware.
45860
45861 * configure.ac: Accept the powerpc as host_cpu. In the case of
45862 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45863 specific tests are only executed while building for the i386.
45864 Inverse test for crosscompile.
45865 * genmk.rb (Utility): Allow assembler files.
45866 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45867 * conf/powerpc-ieee1275.rmk: New file.
45868 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45869 * disk/powerpc/ieee1275/partition.c: Likewise.
45870 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45871 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45872 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45873 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45874 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45875 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45876 * include/pupa/powerpc/ieee1275/loader.h
45877 * include/pupa/powerpc/setjmp.h: Likewise.
45878 * include/pupa/powerpc/types.h: Likewise.
45879 * kern/powerpc/ieee1275/init.c: Likewise.
45880 * kern/powerpc/ieee1275/openfw.c: Likewise.
45881 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45882
45883 These files were written by Johan Rydberg
45884 (jrydberg@night.trouble.net) and I only modified them slightly.
45885
45886 * boot/powerpc/ieee1275/cmain.c: New file.
45887 * boot/powerpc/ieee1275/crt0.S: Likewise.
45888 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45889 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45890
45891 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45892
45893 * Makefile.in: Update copyright.
45894 * genmodsrc.sh: Likewise.
45895 * gensymlist.sh: Likewise.
45896 * term/i386/pc/vga.c: Indent correctly.
45897
45898 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45899 bugreporting address.
45900 * util/i386/pc/pupa-setup.c (usage): Likewise,
45901 (main): Call pupa_ext2_init and pupa_ext2_fini.
45902
45903 * fs/fat.c (log2): Renamed to ...
45904 (fat_log2): ... this.
45905 All callers changed.
45906 * kern/misc.c (memcpy): Alias to pupa_memmove.
45907 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45908 lvalue cast.
45909 * util/console.c (pupa_ncurses_fini): Return 0.
45910
45911 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45912 Move fail label here.
45913 [__GNU__]: Don't warn when using stat.
45914 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45915 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45916 long int. Use strtol instead of strtoul.
45917
45918 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45919
45920 * commands/boot.c: New file.
45921 * commands/cat.c: Likewise.
45922 * commands/cmp.c: Likewise.
45923 * commands/ls.c: Likewise.
45924 * commands/terminal.c: Likewise.
45925 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45926 (pupa_register_command): Changed interface to match the new
45927 argument parser.
45928 (pupa_command_execute): Changed (almost rewritten) so it uses
45929 pupa_split_command. Added support for setting variables using the
45930 syntax `foo=bar'.
45931 (rescue_command): Changed to work with the new argument parser.
45932 (terminal_command): Moved from here to commands/terminal.c.
45933 (set_command): New function.
45934 (unset_command): New function.
45935 (insmod_command): New function.
45936 (rmmod_command): New function.
45937 (lsmod_command): New function.
45938 (pupa_command_init): Don't initialize the command terminal
45939 anymore. Initialize the commands set, unset, insmod, rmmod and
45940 lsmod.
45941 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45942 (kernel_img_HEADERS): Add arg.h and env.h.
45943 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45944 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45945 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45946 normal/arg.c.
45947 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45948 terminal.mod.
45949 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45950 (boot_mod_SOURCES): New variable.
45951 (terminal_mod_SOURCES): Likewise.
45952 (ls_mod_SOURCES): Likewise.
45953 (cmp_mod_SOURCES): Likewise.
45954 (cat_mod_SOURCES): Likewise.
45955
45956 * normal/arg.c: New file.
45957 * kern/env.c: Likewise.
45958 * include/pupa/arg.h: Likewise.
45959 * include/pupa/env.h: Likewise.
45960 * font/manager.c (font_command): Changed to match argument parsing
45961 interface changes.
45962 (PUPA_MOD_INIT): Likewise.
45963 * hello/hello.c (pupa_cmd_hello): Likewise.
45964 (PUPA_MOD_INIT): Likewise.
45965 * include/pupa/disk.h: Include <pupa/device.h>.
45966 (pupa_print_partinfo): New prototype.
45967 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45968 (pupa_dl_get_prefix): Likewise.
45969 * include/pupa/misc.h: Include <pupa/err.h>.
45970 (pupa_isgraph): New prototype.
45971 (pupa_isdigit): Likewise.
45972 (pupa_split_cmdline): Likewise.
45973 * include/pupa/normal.h: Include <pupa/arg.h>.
45974 (pupa_command): Changed the prototype of the member `func' to
45975 match the argument parsing interface. Added member `options'.
45976 (pupa_register_command): Updated to match function.
45977 (pupa_arg_parse): New prototype.
45978 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45979 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45980 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45981 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45982 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45983 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45984 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45985 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45986 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45987 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45988 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45989 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45990 * kern/disk.c: Include <pupa/file.h>.
45991 (pupa_print_partinfo): New function.
45992 * kern/dl.c: Include <pupa/env.h>.
45993 (pupa_dl_dir): Variable removed.
45994 (pupa_dl_load): Use the environment variable `prefix' instead of
45995 the variable pupa_dl_dir.
45996 (pupa_dl_set_prefix): Function removed.
45997 (pupa_dl_get_prefix): Likewise.
45998 * kern/i386/pc/init.c: Include <pupa/env.h>.
45999 (pupa_machine_init): Use the environment variable `prefix' instead of
46000 using pupa_dl_set_prefix to set the prefix.
46001 * kern/main.c: Include <pupa/env.h>.
46002 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46003 using pupa_dl_get_prefix to get the prefix.
46004 * kern/misc.c: Include <pupa/env.h>.
46005 (pupa_isdigit): New function.
46006 (pupa_isgraph): Likewise.
46007 (pupa_ftoa): Likewise.
46008 (pupa_vsprintf): Added support for printing values of the type
46009 `double'. Make it possible to format variable output when using
46010 formatting like `%1.2%f'.
46011 (pupa_split_cmdline): New function.
46012 * kern/rescue.c: Include <pupa/env.h>.
46013 (next_word): Removed function.
46014 (pupa_rescue_cmd_prefix): Likewise.
46015 (pupa_rescue_cmd_set): New function.
46016 (pupa_rescue_cmd_unset): New function.
46017 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46018 split the command line instead of splitting it here. Added
46019 support for setting variables using the syntax `foo=bar'. Don't
46020 initialize the prefix command anymore. Initialized the set and
46021 unset commands.
46022 * normal/cmdline.c: Include <pupa/env.h>.
46023 (pupa_tab_complete): Added prototypes for print_simple_completion,
46024 print_partition_completion, add_completion, iterate_commands,
46025 iterate_dev, iterate_part and iterate_dir. Moved code to print
46026 partition information from here to kern/disk.c.
46027 (pupa_cmdline_run): Don't check if the function exists anymore.
46028 * normal/main.c: Include <pupa/env.h>.
46029 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46030 instead of using pupa_dl_get_prefix to get the prefix.
46031 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46032 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46033 warning.
46034 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46035 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46036 ((unused))' to silence a gcc warning.
46037 (pupa_vga_setcolor): Likewise.
46038 (debug_command): Changed to match argument parsing
46039 interface changes.
46040 * util/pupa-emu.c: Include <pupa/env.h>.
46041 (options): Added 0's for unused fields to silence a gcc warning.
46042 (argp): Likewise.
46043 (main): Use the environment variable `prefix' instead of using
46044 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46045 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46046 and terminal.
46047
46048 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46049 * util/misc.c: Include <malloc.h>.
46050 (pupa_malloc): Rewritten so errors are correctly reported.
46051 (pupa_realloc): Likewise.
46052 (pupa_memalign): Likewise.
46053 (pupa_mm_init_region): Declare unused variables with
46054 `__attribute__ ((unused))' to silence a gcc warning.
46055 * normal/i386/setjmp.S: Remove tab at the end of the file to
46056 silence a gcc warning.
46057 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46058 variables with `__attribute__ ((unused))' to silence a gcc
46059 warning.
46060 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46061 local variable i unsigned to silence a gcc warning.
46062
46063 * kern/term.c: Include <pupa/misc.h>.
46064 (pupa_more_lines): New variable.
46065 (pupa_more): Likewise.
46066 (pupa_putcode): When the pager is active pause at the end of every
46067 screen.
46068 (pupa_set_more): New function.
46069 * include/pupa/term.h (pupa_set_more): New prototype.
46070
46071
46072 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46073
46074 Now this project is GRUB 2 rather than PUPA. The location of
46075 the CVS repository was moved to GRUB's.
46076
46077 * configure.ac: Use bug-grub as the reporting address.
46078 Use GRUB instead of PUPA.
46079 Change the version number to 1.90.
46080
46081 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46082
46083 * genkernsyms.sh: Updated copyright information.
46084 * genmk.rb: Likewise.
46085 * genmodsrc.sh: Likewise.
46086 * gensymlist.sh: Likewise.
46087 * boot/i386/pc/boot.S: Likewise.
46088 * boot/i386/pc/diskboot.S: Likewise.
46089 * disk/i386/pc/biosdisk.c: Likewise.
46090 * disk/i386/pc/partition.c: Likewise.
46091 * font/manager.c: Likewise.
46092 * fs/ext2.c: Likewise.
46093 * fs/fat.c: Likewise.
46094 * include/pupa/boot.h: Likewise.
46095 * include/pupa/device.h: Likewise.
46096 * include/pupa/disk.h: Likewise.
46097 * include/pupa/dl.h: Likewise.
46098 * include/pupa/elf.h: Likewise.
46099 * include/pupa/err.h: Likewise.
46100 * include/pupa/file.h: Likewise.
46101 * include/pupa/font.h: Likewise.
46102 * include/pupa/fs.h: Likewise.
46103 * include/pupa/kernel.h: Likewise.
46104 * include/pupa/loader.h: Likewise.
46105 * include/pupa/misc.h: Likewise.
46106 * include/pupa/mm.h: Likewise.
46107 * include/pupa/net.h: Likewise.
46108 * include/pupa/normal.h: Likewise.
46109 * include/pupa/rescue.h: Likewise.
46110 * include/pupa/setjmp.h: Likewise.
46111 * include/pupa/symbol.h: Likewise.
46112 * include/pupa/term.h: Likewise.
46113 * include/pupa/types.h: Likewise.
46114 * include/pupa/i386/setjmp.h: Likewise.
46115 * include/pupa/i386/types.h: Likewise.
46116 * include/pupa/i386/pc/biosdisk.h: Likewise.
46117 * include/pupa/i386/pc/boot.h: Likewise.
46118 * include/pupa/i386/pc/console.h: Likewise.
46119 * include/pupa/i386/pc/init.h: Likewise.
46120 * include/pupa/i386/pc/kernel.h: Likewise.
46121 * include/pupa/i386/pc/linux.h: Likewise.
46122 * include/pupa/i386/pc/loader.h: Likewise.
46123 * include/pupa/i386/pc/memory.h: Likewise.
46124 * include/pupa/i386/pc/multiboot.h: Likewise.
46125 * include/pupa/i386/pc/partition.h: Likewise.
46126 * include/pupa/i386/pc/time.h: Likewise.
46127 * include/pupa/i386/pc/vga.h: Likewise.
46128 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46129 * include/pupa/util/getroot.h: Likewise.
46130 * include/pupa/util/misc.h: Likewise.
46131 * include/pupa/util/resolve.h: Likewise.
46132 * kern/device.c: Likewise.
46133 * kern/disk.c: Likewise.
46134 * kern/dl.c: Likewise.
46135 * kern/err.c: Likewise.
46136 * kern/file.c: Likewise.
46137 * kern/fs.c: Likewise.
46138 * kern/loader.c: Likewise.
46139 * kern/main.c: Likewise.
46140 * kern/misc.c: Likewise.
46141 * kern/mm.c: Likewise.
46142 * kern/rescue.c: Likewise.
46143 * kern/term.c: Likewise.
46144 * kern/i386/dl.c: Likewise.
46145 * kern/i386/pc/init.c: Likewise.
46146 * kern/i386/pc/lzo1x.S: Likewise.
46147 * kern/i386/pc/startup.S: Likewise.
46148 * loader/i386/pc/chainloader.c: Likewise.
46149 * loader/i386/pc/linux.c: Likewise.
46150 * loader/i386/pc/multiboot.c: Likewise.
46151 * normal/cmdline.c: Likewise.
46152 * normal/command.c: Likewise.
46153 * normal/main.c: Likewise.
46154 * normal/menu.c: Likewise.
46155 * normal/i386/setjmp.S: Likewise.
46156 * term/i386/pc/console.c: Likewise.
46157 * term/i386/pc/vga.c: Likewise.
46158 * util/console.c: Likewise.
46159 * util/genmoddep.c: Likewise.
46160 * util/misc.c: Likewise.
46161 * util/pupa-emu.c: Likewise.
46162 * util/resolve.c: Likewise.
46163 * util/unifont2pff.rb: Likewise.
46164 * util/i386/pc/biosdisk.c: Likewise.
46165 * util/i386/pc/getroot.c: Likewise.
46166 * util/i386/pc/pupa-mkimage.c: Likewise.
46167 * util/i386/pc/pupa-setup.c: Likewise.
46168
46169 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46170
46171 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46172 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46173 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46174 reading and reset it after reading.
46175 (pupa_ext2_close): Return PUPA_ERR_NONE.
46176
46177 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46178 Correct value.
46179 (struct linux_kernel_header): Add kernel_version and
46180 initrd_addr_max.
46181 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46182 pupa_file_read succeeds.
46183 (pupa_rescue_cmd_initrd): Implement.
46184
46185 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46186
46187 * fs/ext2.c (pupa_ext2_label): New function.
46188 (pupa_ext2_fs): Added label.
46189 * fs/fat.c (pupa_fat_label): New function.
46190 (pupa_fat_fs): Added label.
46191 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46192
46193 * kern/misc.c (pupa_strndup): New function.
46194 * include/pupa/misc.h (pupa_strndup): New prototype.
46195
46196 * include/pupa/normal.h: Include <pupa/err.h>.
46197 (pupa_set_history): New prototype.
46198 (pupa_iterate_commands): New prototype.
46199 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46200 <pupa/disk.h>, <pupa/file.h>.
46201 (hist_size): New variable.
46202 (hist_lines): Likewise.
46203 (hist_end): Likewise.
46204 (hist_used): Likewise.
46205 (pupa_set_history): New function.
46206 (pupa_history_get): Likewise.
46207 (pupa_history_add): Likewise.
46208 (pupa_history_replace): Likewise.
46209 (pupa_tab_complete): Likewise.
46210 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46211 completion shows partitionnames while completing partitions, this
46212 feature was suggested by Jeff Bailey.
46213 * normal/command.c (pupa_iterate_commands): New function.
46214 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46215 (pupa_normal_init): Initialize history buffer.
46216 (PUPA_MOD_INIT): Likewise.
46217 (pupa_normal_fini): Free the history buffer.
46218 (PUPA_MOD_FINI): Likewise.
46219
46220 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46221 key.
46222
46223 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46224 * configure.ac [i386]: Check for regparam bug.
46225 (NESTED_FUNC_ATTR) [! i386]: Defined.
46226
46227 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46228
46229 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46230 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46231 (pupa_emu_SOURCES): New variable.
46232 (pupa_emu_LDFLAGS): Likewise.
46233 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46234 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46235 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46236 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46237 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46238 (pupa_jmp_buf): New typedef.
46239 (pupa_setjmp) [PUPA_UTIL]: New macro.
46240 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46241 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46242 (pupa_refresh): New prototype.
46243 * include/pupa/util/getroot.h: New file.
46244 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46245 it.
46246 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46247 (pupa_rescue_cmd_cat): Likewise.
46248 (pupa_rescue_cmd_ls): Likewise.
46249 (pupa_rescue_cmd_testload): Likewise.
46250 (pupa_rescue_cmd_lsmod): Likewise.
46251 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46252 * normal/menu.c (run_menu): Likewise.
46253 * kern/term.c (pupa_cls): Likewise.
46254 (pupa_refresh): New function.
46255 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46256 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46257 * util/console.c: New file.
46258
46259 * util/i386/pc/getroot.c: New file.
46260 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46261 (pupa_putchar): New function.
46262 (pupa_refresh): Likewise.
46263 (xgetcwd): Function moved to ...
46264 (strip_extra_slashes): Likewise.
46265 (get_prefix): Likewise.
46266 * util/i386/pc/getroot.c: ... here.
46267 (find_root_device): Function moved and renamed to...
46268 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46269 Changed all callers.
46270 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46271 and renamed to...
46272 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46273 Changed all callers.
46274 * util/misc.c (pupa_memalign): New function.
46275 (pupa_mm_init_region): Likewise.
46276 (pupa_register_exported_symbols): Likewise.
46277 (pupa_putchar): Function removed.
46278 * util/pupa-emu.c: New file.
46279
46280 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46281
46282 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46283 (_multiboot_mod_SOURCES): New variable.
46284 (_multiboot_mod_CFLAGS): Likewise.
46285 * loader/i386/pc/multiboot.c: New file.
46286 * include/pupa/i386/pc/multiboot.h: Likewise.
46287 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46288 (pupa_multiboot_real_boot): New function.
46289 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46290 (pupa_multiboot_real_boot): New prototype.
46291 (pupa_rescue_cmd_multiboot): Likewise
46292 (pupa_rescue_cmd_module): Likewise.
46293
46294 * kern/loader.c (pupa_loader_set): Continue when
46295 pupa_loader_unload_func() fails.
46296 (pupa_loader_unset): New function.
46297 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46298
46299 * kern/misc.c (pupa_stpcpy): New function.
46300 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46301
46302 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46303
46304 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46305 for available extensions.
46306
46307 * include/pupa/i386/pc/time.h: New file.
46308 * kern/disk.c: Include <pupa/machine/time.h>.
46309 (PUPA_CACHE_TIMEOUT): New macro.
46310 (pupa_last_time): New variable.
46311 (pupa_disk_open): Flush the cache when there was a timeout.
46312 (pupa_disk_close): Reset the timer.
46313 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46314 pupa_currticks.
46315 * util/misc.c: Include <sys/times.h>
46316 (pupa_get_rtc): New function.
46317
46318 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46319
46320 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46321 as blocks.
46322 (pupa_ext2_get_file_block): Use blocks member.
46323
46324 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46325 first block. Return -1 instead of pupa_errno on error.
46326
46327 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46328
46329 * README: In the pupa-mkimage example use _chain instead of chain
46330 and ext2 instead of fat.
46331 * TODO: Replace ext2fs with jfs as an example. Add an item for
46332 adding journal playback for ext2fs.
46333 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46334 (pkgdata_MODULES): Added ext2.mod.
46335 (ext2_mod_SOURCES): New variable.
46336 (ext2_mod_CFLAGS): Likewise.
46337 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46338 * include/pupa/misc.h (pupa_strncpy): New prototype.
46339 (pupa_strcat): Likewise.
46340 (pupa_strncmp): Likewise.
46341 * kern/misc.c (pupa_strcat): Enable function.
46342 (pupa_strncpy): New function.
46343 (pupa_strncmp): Likewise.
46344 * fs/ext2.c: New file.
46345
46346 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46347 when the read failed before retrying.
46348 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46349 (_FILE_OFFSET_BITS): Likewise.
46350 * configure.ac: Added AC_SYS_LARGEFILE.
46351
46352 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46353
46354 * genmk.rb (PModule#rule): Make sure to get only symbol names
46355 from the output of nm.
46356 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46357
46358 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46359
46360 I forgot to check in these changes for a long time. This adds
46361 incomplete support for VGA console, and this is still very
46362 buggy. Also, a lot of consideration is required for I18N,
46363 UNICODE, and VGA font issues. Therefore, assume that this is
46364 such that "better than nothing".
46365
46366 * font/manager.c: New file.
46367 * include/pupa/font.h: Likewise.
46368 * include/pupa/i386/pc/vga.h: Likewise.
46369 * term/i386/pc/vga.c: Likewise.
46370 * util/unifont2pff.rb: Likewise.
46371
46372 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46373 (pkgdata_MODULES): Added vga.mod and font.mod.
46374 (vga_mod_SOURCES): New variables.
46375 (vga_mod_CFLAGS): Likewise.
46376 (font_mod_SOURCES): Likewise.
46377 (font_mod_CFLAGS): Likewise.
46378
46379 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46380
46381 * include/pupa/term.h: Include pupa/err.h.
46382 (struct pupa_term): Added init and fini.
46383 Changed the argument of putchar to pupa_uint32_t.
46384
46385 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46386 (pupa_console_real_putchar): New prototype.
46387 (pupa_console_putchar): Removed.
46388 (pupa_console_checkkey): Exported.
46389 (pupa_console_getkey): Likewise.
46390
46391 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46392 characters.
46393
46394 * kern/term.c (pupa_term_set_current): Rewritten.
46395 (pupa_putchar): Likewise.
46396 (pupa_putcode): New function.
46397
46398 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46399 (pupa_console_real_putchar): ... this.
46400 (pupa_vga_set_mode): New function.
46401 (pupa_vga_get_font): Likewise.
46402
46403 * normal/command.c: Include pupa/term.h.
46404 (terminal_command): New function.
46405 (pupa_command_init): Register the command "terminal".
46406
46407 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46408 (DISP_UP): Likewise.
46409 (DISP_RIGHT): Likewise.
46410 (DISP_DOWN): Likewise.
46411 (DISP_HLINE): Likewise.
46412 (DISP_VLINE): Likewise.
46413 (DISP_UL): Likewise.
46414 (DISP_UR): Likewise.
46415 (DISP_LL): Likewise.
46416 (DISP_LR): Likewise.
46417
46418 * term/i386/pc/console.c (pupa_console_putchar): New function.
46419
46420 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46421
46422 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46423 FIX. Reverse the path_list.
46424
46425 * include/pupa/normal.h: Export pupa_register_command and
46426 pupa_unregister_command.
46427
46428 * hello/hello.c (pupa_cmd_hello): New module.
46429 * conf/i386-pc.rmk: Added hello.mod.
46430
46431 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46432
46433 * kern/i386/pc/lzo1x.S: New file.
46434
46435 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46436 (compress_kernel): New variable.
46437 (generate_image): Heavily modified to support compressing a
46438 large part of the core image.
46439
46440 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46441 leak.
46442 (pupa_util_load_image): New function.
46443
46444 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46445 (pupa_compressed_size): New variable.
46446 (codestart): Enable Gate A20 here.
46447 Decompress the compressed part of the core image.
46448 Rearrange the code to put functions and variables which are
46449 required for initialization in the non-compressed part.
46450 Include lzo1x.S.
46451
46452 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46453 here.
46454
46455 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46456
46457 * include/pupa/i386/pc/kernel.h
46458 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46459 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46460 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46461 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46462 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46463
46464 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46465
46466 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46467 (Utility#rule): Likewise.
46468
46469 * configure.ac: Check if LZO is available.
46470
46471 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46472
46473 * include/pupa/normal.h: New file.
46474 * include/pupa/setjmp.h: Likewise.
46475 * include/pupa/i386/setjmp.h: Likewise.
46476 * normal/cmdline.c: Likewise.
46477 * normal/command.c: Likewise.
46478 * normal/main.c: Likewise.
46479 * normal/menu.c: Likewise.
46480 * normal/i386/setjmp.S: Likewise.
46481
46482 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46483 (pupa_rescue_cmd_initrd): Likewise.
46484
46485 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46486 Likewise.
46487
46488 * kern/i386/pc/startup.S (translation_table): New variable.
46489 (translate_keycode): New function.
46490 (pupa_console_getkey): Call translate_keycode.
46491
46492 * kern/rescue.c (attempt_normal_mode): New function.
46493 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46494 it failed, print a message.
46495
46496 * kern/mm.c (pupa_real_malloc): Print more information when a
46497 free magic is broken.
46498 (pupa_free): If the first free header is not free actually, set
46499 it to P.
46500
46501 * kern/main.c (pupa_load_normal_mode): Just load the module
46502 "normal".
46503 (pupa_main): Don't print the message
46504 "Entering into rescue mode..." here.
46505
46506 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46507 Declared.
46508 (pupa_rescue_cmd_initrd): Likewise.
46509 (pupa_rescue_cmd_initrd): Likewise.
46510
46511 * include/pupa/symbol.h (FUNCTION): Specify the type.
46512 (VARIABLE): Likewise.
46513
46514 * include/pupa/err.h (pupa_err_t): Added
46515 PUPA_ERR_UNKNOWN_COMMAND.
46516
46517 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46518 (pupa_dl_get_prefix): Likewise.
46519
46520 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46521 Added _chain.mod and _linux.mod instead of chain.mod and
46522 linux.mod.
46523 (chain_mod_SOURCES): Renamed to ...
46524 (_chain_mod_SOURCES): ... this.
46525 (chain_mod_CFLAGS): Renamed to ...
46526 (_chain_mod_CFLAGS): ... this.
46527 (linux_mod_SOURCES): Renamed to ...
46528 (_linux_mod_SOURCES): ... this.
46529 (linux_mod_CFLAGS): Renamed to ...
46530 (_linux_mod_CFLAGS): ... this.
46531 (normal_mod_SOURCES): New variable.
46532 (normal_mod_CFLAGS): Likewise.
46533 (normal_mod_ASFLAGS): Likewise.
46534
46535 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46536
46537 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46538 possible.
46539
46540 * kern/dl.c (pupa_dl_ref): Refer depending modules
46541 recursively.
46542 (pupa_dl_unref): Unrefer depending modules recursively.
46543 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46544 a module is unloaded before one depending on that module is
46545 unloaded.
46546 (pupa_dl_unload): Unload depending modules explicitly,
46547 if possible.
46548
46549 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46550
46551 * include/pupa/i386/pc/linux.h: New file.
46552 * loader/i386/pc/linux.c: Likewise.
46553
46554 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46555 Removed.
46556 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46557 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46558 of PUPA_CHAINLOADER_BOOT_SECTOR.
46559
46560 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46561 (pupa_linux_prot_size): New variable.
46562 (pupa_linux_tmp_addr): Likewise.
46563 (pupa_linux_real_addr): Likewise.
46564 (pupa_linux_boot_zimage): New function.
46565 (pupa_linux_boot_bzimage): Likewise.
46566
46567 * kern/i386/pc/init.c (struct mem_region): New structure.
46568 (MAX_REGIONS): New macro.
46569 (mem_regions): New variable.
46570 (num_regions): Likewise.
46571 (pupa_os_area_addr): Likewise.
46572 (pupa_os_area_size): Likewise.
46573 (pupa_lower_mem): Likewise.
46574 (pupa_upper_mem): Likewise.
46575 (add_mem_region): New function.
46576 (compact_mem_regions): Likewise.
46577 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46578 the size of the conventional memory and that of so-called upper
46579 memory (before the first memory hole).
46580 Instead of adding each found region to free memory, use
46581 add_mem_region and add them after removing overlaps.
46582 Also, add only 1/4 of the upper memory to free memory. The rest
46583 is used for loading OS images. Maybe this is ad hoc, but this
46584 makes it much easier to relocate OS images when booting.
46585
46586 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46587 (pupa_enter_rescue_mode): Don't register initrd and module.
46588
46589 * kern/mm.c: Include pupa/dl.h.
46590
46591 * kern/main.c: Include pupa/file.h and pupa/device.h.
46592
46593 * kern/loader.c (pupa_loader_load_module_func): Removed.
46594 (pupa_loader_load_module): Likewise.
46595
46596 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46597 ``.o''.
46598
46599 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46600 (pupa_linux_tmp_addr): Likewise.
46601 (pupa_linux_real_addr): Likewise.
46602 (pupa_linux_boot_zimage): Likewise.
46603 (pupa_linux_boot_bzimage): Likewise.
46604
46605 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46606 (pupa_upper_mem): Likewise.
46607 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46608 module is too dangerous.
46609
46610 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46611 (pupa_os_area_size): Likewise.
46612 (pupa_loader_set): Remove the first argument. Loader doesn't
46613 manage modules or initrd any longer.
46614 (pupa_loader_load_module): Removed.
46615
46616 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46617 (linux_mod_SOURCES): New variable.
46618 (linux_mod_CFLAGS): Likewise.
46619
46620 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46621
46622 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46623 the length of a blocklist correctly.
46624
46625 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46626 Use ioctl only if the OS file is a block device.
46627 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46628 not very useful for normal files.
46629
46630 * kern/main.c (pupa_set_root_dev): New function.
46631 (pupa_load_normal_mode): Likewise.
46632 (pupa_main): Call those above.
46633
46634 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46635 pupa_uint16_t.
46636
46637 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46638
46639 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46640
46641 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46642 (setup): Configure the installed partition information and the
46643 dl prefix.
46644
46645 * loader/i386/pc/chainloader.c (my_mod): New variable.
46646 (pupa_chainloader_unload): New function.
46647 (pupa_rescue_cmd_chainloader): Refer itself.
46648 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46649
46650 * kern/i386/pc/startup.S (install_partition): Removed.
46651 (version_string): Likewise.
46652 (config_file): Likewise.
46653 (pupa_install_dos_part): New variable.
46654 (pupa_install_bsd_part): Likewise.
46655 (pupa_prefix): Likewise.
46656 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46657
46658 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46659 and pupa/misc.h.
46660 (make_install_device): New function.
46661 (pupa_machine_init): Set the dl prefix.
46662
46663 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46664 (buf): Renamed to ...
46665 (linebuf): ... this.
46666 (pupa_rescue_cmd_prefix): New function.
46667 (pupa_rescue_cmd_insmod): Likewise.
46668 (pupa_rescue_cmd_rmmod): Likewise.
46669 (pupa_rescue_cmd_lsmod): Likewise.
46670 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46671 rmmod and lsmod.
46672
46673 * kern/mm.c (pupa_memalign): If failed even after invalidating
46674 disk caches, unload unneeded modules and retry.
46675
46676 * kern/misc.c (pupa_memmove): New function.
46677 (pupa_memcpy): Removed.
46678 (pupa_strcpy): New function.
46679 (pupa_itoa): Made static.
46680
46681 * kern/dl.c (pupa_dl_iterate): New function.
46682 (pupa_dl_ref): Likewise.
46683 (pupa_dl_unref): Likewise.
46684 (pupa_dl_unload): Return if succeeded or not.
46685 (pupa_dl_unload_unneeded): New function.
46686 (pupa_dl_unload_all): Likewise.
46687 (pupa_dl_init): Renamed to ...
46688 (pupa_dl_set_prefix): ... this.
46689 (pupa_dl_get_prefix): New function.
46690
46691 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46692 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46693 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46694 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46695 (pupa_install_dos_part): Declared.
46696 (pupa_install_bsd_part): Likewise.
46697 (pupa_prefix): Likewise.
46698 (pupa_boot_drive): Likewise.
46699
46700 * include/pupa/types.h: Fix a typo.
46701
46702 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46703 pupa_memmove.
46704 (pupa_memmove): Declared.
46705 (pupa_strcpy): Likewise.
46706
46707 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46708 pupa_mod_init takes one argument, its own module.
46709 (pupa_dl_unload_unneeded): Declared.
46710 (pupa_dl_unload_all): Likewise.
46711 (pupa_dl_ref): Likewise.
46712 (pupa_dl_unref): Likewise.
46713 (pupa_dl_iterate): Likewise.
46714 (pupa_dl_init): Renamed to ...
46715 (pupa_dl_set_prefix): ... this.
46716 (pupa_dl_get_prefix): Declared.
46717
46718 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46719 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46720 unloaded.
46721 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46722 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46723
46724 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46725 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46726
46727 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46728
46729 * util/i386/pc/pupa-setup.c (setup): Define the internal
46730 function find_first_partition_start at the top level, because GCC
46731 3.0.x cannot compile internal functions in deeper scopes
46732 correctly.
46733 (find_root_device): Use lstat instead of stat.
46734 Don't follow symbolic links.
46735 Fix the path-constructing code.
46736
46737 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46738 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46739 by a BLKGETSIZE ioctl first, because block devices don't fill
46740 the member st_mode of the structure stat on Linux.
46741 [__linux__] (linux_find_partition): Use a temporary buffer
46742 REAL_DEV for the working space. Copy it to DEV before returning.
46743 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46744 buffer cache consistent.
46745 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46746 strncmp. The previous value was merely wrong.
46747 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46748
46749 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46750 FAT size is 12. The previous value was merely wrong.
46751
46752 * kern/main.c (pupa_main): Don't split the starting message from
46753 newlines.
46754
46755 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46756 LF, because BIOS goes crazy about character attributes in this
46757 case.
46758
46759 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46760
46761 * include/i386/pc/util/biosdisk.h: New file.
46762 * util/i386/pc/biosdisk.c: Likewise.
46763 * util/i386/pc/pupa-setup.c: Likewise.
46764
46765 * Makefile.in (INCLUDE_DISTFILES): Added
46766 include/pupa/i386/pc/util/biosdisk.h.
46767 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46768 directory util/i386/pc.
46769 (install-local): Added a rule for sbin_UTILITIES.
46770 (uninstall): Likewise.
46771
46772 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46773
46774 * util/misc.c (xrealloc): New function.
46775 (pupa_malloc): Likewise.
46776 (pupa_free): Likewise.
46777 (pupa_realloc): Likewise.
46778 (pupa_stop): Likewise.
46779 (pupa_putchar): Likewise.
46780
46781 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46782
46783 * include/pupa/util/misc.h (xrealloc): Declared.
46784
46785 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46786 macro.
46787 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46788 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46789
46790 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46791 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46792
46793 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46794 way should be implemented.
46795 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46796
46797 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46798 the size of NAME for safety.
46799 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46800 0x88.
46801
46802 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46803 (pupa_setup_SOURCES): Likewise.
46804
46805 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46806
46807 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46808
46809 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46810 bunch of pushl's from pusha, because this destroys the return
46811 value.
46812
46813 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46814
46815 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46816 This means that any missing prototypes could be fatal. Also, you
46817 must take care when writing assembly code. See the comments at
46818 the beginning of startup.S, for more details.
46819
46820 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46821 compilation mechanism.
46822 (pupa_chainloader_real_boot): Likewise.
46823 (pupa_biosdisk_rw_int13_extensions): Likewise.
46824 (pupa_biosdisk_rw_standard): Likewise.
46825 (pupa_biosdisk_check_int13_extensions): Likewise.
46826 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46827 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46828 (pupa_get_memsize): Likewise.
46829 (pupa_get_mmap_entry): Likewise.
46830 (pupa_console_putchar): Likewise.
46831 (pupa_console_setcursor): Likewise.
46832 (pupa_getrtsecs): Use pushl instead of push.
46833
46834 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46835 memory instead of the stack for a mmap entry, because some
46836 BIOSes may ignore the maximum size and overflow.
46837
46838 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46839
46840 * genmk.rb (PModule#rule): Compile automatically generated
46841 sources with module-specific CFLAGS as well as other sources.
46842
46843 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46844
46845 * configure.ac: Check ld.
46846 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46847 respectively, before checking endianness and sizes.
46848
46849 * Makefile.in (LD): New variable.
46850
46851 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46852
46853 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46854
46855 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46856
46857 * Changelog: New file.
46858