]> git.proxmox.com Git - grub2.git/blob - ChangeLog
2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
1 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
4 (ieee1275_fb_mod_SOURCES): New variable.
5 (ieee1275_fb_mod_CFLAGS): Likewise.
6 (ieee1275_fb_mod_LDFLAGS): Likewise.
7 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8 New proto.
9 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
10 (HEAP_MAX_ADDR): Likewise.
11 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12 type.
13 Correct stop condition.
14 (grub_ieee1275_devices_iterate): New function.
15 * video/ieee1275.c: New file.
16
17 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20
21 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22 as scratch.
23 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24 SCRATCH_PAD_DISKBOOT as scratch.
25 (bootit): Pass Openfirmware pointer in %o4.
26 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27 of 0x200000.
28 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29 with util/grub-mkrawimage.c.
30 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
31 * include/grub/aout.h (AOUT_MID_SUN): New definition.
32 (grub_aout_get_type) [GRUB_UTIL]: Removed.
33 (grub_aout_load) [GRUB_UTIL]: Likewise.
34 * include/grub/kernel.h (grub_modules_get_end): New proto.
35 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
36 (SCRATCH_PAD_BOOT): New definition.
37 (SCRATCH_PAD_DISKBOOT): Likewise.
38 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
39 * include/grub/sparc64/ieee1275/ieee1275.h
40 (grub_ieee1275_original_stack): New variable
41 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42 New definition
43 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
44 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
45 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
46 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
47 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
48 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
49 (grub_platform_image_format_t): New type.
50 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
51 * kern/main.c (grub_modules_get_end)
52 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
53 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
54 (codestart): Switch stacks.
55 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
56 variable.
57 (grub_heap_init): Use grub_modules_get_end.
58 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
59 stack.
60 * util/grub-mkrawimage.c (generate_image): Support sparc64.
61 (main): Likewise.
62 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
63
64 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
65
66 * util/grub-mkrescue.in: Base ISO UUID on UTC.
67
68 2010-03-08 Matt Kraai <kraai@ftbfs.org>
69
70 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
71 bug #559005).
72
73 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * genmoddep.awk: Output all missing symbols and not only first.
76
77 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * NEWS: Put the date of 1.98 release.
80
81 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
84 ft2build.h.
85
86 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
89 completition in the middle of string.
90
91 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * util/grub-mkrescue.in: Use mktemp with explicit template.
94
95 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
98
99 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
102 right pointer.
103
104 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Fix FreeBSD compilation.
107
108 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
109 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
110
111 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
114
115 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
118
119 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
122
123 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
124
125 Support relative image path in theme file.
126
127 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
128 (image_set_property): Handle theme_dir and relative path.
129
130 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * configure.ac: Alias amd64 to x86_64.
133
134 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * NEWS: mention multiboot on EFI.
137
138 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * kern/main.c (grub_load_modules): Handle errors from init functions of
141 embeded modules.
142
143 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * normal/autofs.c (autoload_fs_module): Handle errors.
146
147 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
148
149 Disable linux.mod on qemu-mips since it's not functional and leads
150 to compilation failure.
151
152 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
153 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
154 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
155 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
156 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
157 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
158 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
159 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
160 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
161 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
162 Reported by: BVK Chaitanya
163
164 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
165
166 * INSTALL: Add gettext as a dependency and add qemu to a new section
167 "Prerequisites for make-check".
168
169 2010-03-04 Christian Franke <franke@computer.org>
170
171 * util/grub-pe2elf.c: Add missing include "progname.h".
172
173 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * normal/crypto.c (read_crypto_list): Fix a typo.
176 Reported by: Seth Goldberg.
177
178 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
181 Reported by: Seth Goldberg.
182
183 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
186 ascii.bitmaps.
187
188 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * genmk.rb: Remove terminal*.lst in make clean.
191 Reported by: Seth Goldberg.
192
193 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * util/i386/efi/grub-install.in: Copy gettext files.
196
197 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
200
201 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
202
203 Wait for user entry basing on presence of output rather than on errors.
204
205 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
206 (grub_install_newline_hook): Likewise.
207 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
208 * normal/menu.c (show_menu): Check line_counter to determine presence
209 of output.
210 * normal/term.c (grub_normal_line_counter): New variable.
211 (grub_normal_get_line_counter): New function.
212 (grub_install_newline_hook): Likewise.
213
214 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
217
218 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * configure.ac: Update version to 1.98.
221
222 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * util/grub.d/10_linux.in (linux_entry): Don't default to
225 gfxpayload=keep if Linux doesn't support video handover.
226
227 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
228
229 Don't compile video modules on yeeloong since video subsystem is part
230 of kernel.
231
232 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
233 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
234 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
235 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
236 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
237 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
238 * include/grub/bitmap_scale.h: Likewise.
239 * include/grub/bufio.h: Likewise.
240 * include/grub/font.h: Likewise.
241 * include/grub/gfxterm.h: Likewise.
242 * include/grub/video.h: Likewise.
243 * include/grub/vbe.h: Don't include video_fb.h.
244 * video/i386/pc/vbe.c: Include video_fb.h.
245 * commands/i386/pc/vbetest.c: Include video.h.
246
247 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
248
249 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
250 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
251 default entry if GRUB_SAVEDEFAULT=true. This allows using
252 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
253 saving a new default on every boot.
254
255 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * normal/crypto.c (read_crypto_list): Fix a memory leak.
258 * normal/term.c (read_terminal_list): Likewise.
259 * normal/main.c (grub_normal_init_page): Likewise.
260 (grub_normal_read_line_real): Likewise.
261
262 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
265 memory leak.
266 Reported by: Seth Goldberg.
267
268 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
269
270 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
271 duplicate declaration of `start'.
272
273 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
276 filename.
277 Reported by: Georgy Buranov
278
279 2010-02-20 Carles Pina i Estany <carles@pina.cat>
280
281 * util/grub-mkrawimage.c (usage): Change string formatting to
282 improve gettext.
283
284 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
285
286 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
287 backspace keys.
288
289 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
292 Reported by: Michael Suchanek.
293
294 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
295
296 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
297 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
298
299 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Remove any reference to non-free fonts.
302
303 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
304 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
305 uses non-free components.
306 * font/font.c (grub_font_get_name): Remove example name.
307 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
308 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
309 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
310 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
311
312 2010-02-16 Georgy Buranov <gburanov@gmail.com>
313
314 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
315
316 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
319 Double divisor.
320 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
321 features.
322 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
323
324 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * gensymlist.sh.in: Use TARGET_CC instead of CC.
327
328 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
329
330 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
331 * docs/grub.texi (Command-line and menu entry commands): Document play
332 command.
333
334 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
335
336 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
337 parse arguments as inline tempo and notes. Move code for playing notes
338 to...
339 (play): ... new function.
340
341 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
342
343 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
344 grub_uint16_t instead of short.
345 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
346 disk from little endian to cpu endianness.
347
348 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
349
350 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
351 GRUB_TICKS_PER_SECOND instead of 120.
352
353 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
356 escape sequence after \e.
357
358 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
361 non-ASCII characters.
362
363 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
366 set root in single quotes to prevent \, from being unescaped.
367
368 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
369
370 Prevent unknown commands from stopping menuentry execution.
371
372 * script/execute.c (grub_script_execute_cmdline): Print error after
373 unknown command.
374
375 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
378 Reported by: Pavel Pisa.
379
380 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
383
384 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Merge grub_ieee1275_map_physical into grub_map and rename to
387 grub_ieee1275_map
388
389 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
390 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
391 Remove.
392 * kern/ieee1275/openfw.c (grub_map): Rename to ...
393 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
394 necessary.
395 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
396
397 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
400 opening and not after.
401
402 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
405 constants.
406
407 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
410 (alloc_phys): Use ALIGN_UP instead of align_addr.
411
412 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
415
416 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
419
420 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
423 verbose dprintf.
424
425 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
426
427 Fix over-4GiB seek on sparc64.
428
429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
430 Replace pos_i and pos_lo with pos. All users updated.
431 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
432 New constant.
433 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
434 Likewise.
435 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
436 and pos_lo.
437
438 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * util/grub-mkrawimage.c (main): Call set_program_name.
441
442 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Properly align 64-bit targets.
445
446 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
447 (generate_image): Use ALIGN_ADDR.
448
449 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Properly create cross-endian images.
452
453 * include/grub/types.h (grub_host_to_target_addr): New macro
454 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
455
456 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
459
460 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
463
464 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
465 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
466 (grub_linux_boot): Divide by 64K when on VESA.
467
468 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
469
470 Support GRUB_GFXPAYLOAD_LINUX.
471
472 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
473 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
474
475 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
478 to show messages instead of discarding them.
479 Process errors after executing command and not before. Keep old method
480 too as precaution.
481
482 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * configure.ac: Check for ft2build.h.
485
486 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
489
490 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * genkernsyms.sh.in: Use TARGET_CC.
493
494 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
495
496 * NEWS: Update.
497
498 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * include/grub/multiboot2.h: Remove leftover file.
501 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
502 * include/grub/partition.h [GRUB_UTIL]: Likewise.
503
504 2010-02-07 Yves Blusseau <blusseau@zetam.org>
505
506 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
507
508 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
509
510 Fix warnings in grub-emu when compiling with maximum warning options.
511
512 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
513 (grub_arch_modules_addr): Return 0 and not NULL.
514 * util/misc.c (ENABLE_RELOCATABLE): New definition.
515 (xstrdup): Use newstr instead of dup.
516 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
517 of disk to dsk to avoid shadowing.
518 (find_free_slot): Fix prototype.
519 * util/getroot.c (grub_util_is_dmraid): Make static.
520 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
521 Add missing prototype.
522 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
523
524 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * loader/i386/linux.c (grub_linux_setup_video): Handle error
527 appropriately.
528
529 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
532 code out.
533
534 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
537 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
538 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
539 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
540 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
541 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
542
543 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * include/grub/err.h (grub_err_printf): Don't export.
546
547 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
550
551 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * include/grub/i18n.h (grub_gettext_dummy): Removed.
554 * kern/misc.c (grub_gettext_dummy): Make static.
555
556 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
559 by non-valid ones.
560 * kern/term.c (grub_putchar): Likewise.
561
562 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
565 buggy hook call and memory leak.
566
567 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
570
571 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
574
575 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
578 modevar.
579 Return grub_errno on allocation error.
580
581 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
584
585 2010-02-06 Yves Blusseau <blusseau@zetam.org>
586
587 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
588 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
589
590 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
593 non-pxe disk.
594 (grub_pxefs_open): Likewise.
595
596 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
597
598 * util/grub.d/10_hurd.in: Add --class information to menuentries.
599 * util/grub.d/10_kfreebsd.in: Likewise.
600 * util/grub.d/10_linux.in: Likewise.
601
602 2010-02-06 Colin D Bennett <colin@gibibit.com>
603
604 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
605 (gfxmenu_mod_SOURCES): New variable.
606 (gfxmenu_mod_CFLAGS): Likewise.
607 (gfxmenu_mod_LDFLAGS): Likewise.
608 * include/grub/term.h (grub_term_set_current_output): Declare
609 argument as const.
610 * docs/gfxmenu-theme-example.txt: New file.
611 * gfxmenu/gfxmenu.c: Likewise.
612 * gfxmenu/gui_box.c: Likewise.
613 * gfxmenu/gui_canvas.c: Likewise.
614 * gfxmenu/gui_circular_progress.c: Likewise.
615 * gfxmenu/gui_image.c: Likewise.
616 * gfxmenu/gui_label.c: Likewise.
617 * gfxmenu/gui_list.c: Likewise.
618 * gfxmenu/gui_progress_bar.c: Likewise.
619 * gfxmenu/gui_string_util.c: Likewise.
620 * gfxmenu/gui_util.c: Likewise.
621 * gfxmenu/icon_manager.c: Likewise.
622 * gfxmenu/model.c: Likewise.
623 * gfxmenu/named_colors.c: Likewise.
624 * gfxmenu/theme_loader.c: Likewise.
625 * gfxmenu/view.c: Likewise.
626 * gfxmenu/widget-box.c: Likewise.
627 * include/grub/gfxmenu_model.h: Likewise.
628 * include/grub/gfxmenu_view.h: Likewise.
629 * include/grub/gfxwidgets.h: Likewise.
630 * include/grub/gui.h: Likewise.
631 * include/grub/gui_string_util.h: Likewise.
632 * include/grub/icon_manager.h: Likewise.
633
634 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Agglomerate scrolling in gfxterm.
637
638 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
639 (grub_virtual_screen_setup): Initialise 'total_screen'.
640 (write_char): Split to ...
641 (paint_char): ... this ...
642 (write_char): ... and this.
643 (paint_char): Handle delayed scrolling.
644 (draw_cursor): Likewise.
645 (scroll_up): Split to ...
646 (real_scroll): ... this ...
647 (scroll_up): ... and this.
648 (real_scroll): Handle multi-line scroll and draw below-the-bottom
649 characters.
650 (grub_gfxterm_refresh): Call real_scroll.
651
652 2010-02-06 Colin D Bennett <colin@gibibit.com>
653
654 * include/grub/misc.h (grub_iscntrl): New inline function.
655 (grub_isalnum): Likewise.
656 (grub_strtol): Likewise.
657
658 2010-02-06 Colin D Bennett <colin@gibibit.com>
659
660 * normal/menu_text.c (get_entry_number): Move from here ...
661 * normal/menu.c (get_entry_number): ... moved here.
662 * include/grub/menu.h (grub_menu_get_default_entry_index):
663 New prototype.
664 * normal/menu.c (grub_menu_get_default_entry_index): New function.
665 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
666 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
667 (grub_menu_viewer_should_return): Likewise.
668 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
669 * normal/menu_text.c (run_menu): Enable menu switching.
670 * normal/menu_viewer.c (should_return): New variable.
671 (menu_viewer_changed): Likewise.
672 (grub_menu_viewer_show_menu): Handle menu viewer changes.
673 (grub_menu_viewer_should_return): New function.
674 (menuviewer_write_hook): Likewise.
675 (grub_menu_viewer_init): Likewise.
676
677 2010-02-06 Colin D Bennet <colin@gibibit.com>
678 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Support for gfxterm in a window.
681
682 * include/grub/gfxterm.h: New file.
683 * include/grub/video.h (struct grub_video_rect): New declaration.
684 (grub_video_rect_t): Likewise.
685 * term/gfxterm.c (struct grub_gfxterm_window): New type.
686 (refcount): New variable.
687 (render_target): Likewise.
688 (window): Likewise.
689 (repaint_callback): Likewise.
690 (grub_virtual_screen_setup): Use 'render_target'.
691 (init_window): New function.
692 (grub_gfxterm_init_window): Likewise.
693 (grub_gfxterm_init): Check reference counter.
694 Use init_window.
695 (destroy_window): New function.
696 (grub_gfxterm_destroy_window): Likewise.
697 (grub_gfxterm_fini): Check reference counter.
698 Use destroy_window.
699 (redraw_screen_rect): Restore viewport.
700 Use 'render_target' and 'window'.
701 Call 'repaint_callback'.
702 (write_char): Use 'render_target'.
703 (draw_cursor): Likewise.
704 (scroll_up): Restore viewport.
705 Use 'render_target' and 'window'.
706 Call 'repaint_callback'.
707 (grub_gfxterm_cls): Likewise.
708 (grub_gfxterm_refresh): Use 'window'.
709 (grub_gfxterm_set_repaint_callback): New function.
710 (grub_gfxterm_background_image_cmd): Use 'window'.
711 (grub_gfxterm_get_term): New function.
712 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
713
714 2010-02-06 Colin D Bennett <colin@gibibit.com>
715
716 Bitmap scaling support.
717
718 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
719 (bitmap_scale_mod_SOURCES): New variable.
720 (bitmap_scale_mod_CFLAGS): Likewise.
721 (bitmap_scale_mod_LDFLAGS): Likewise.
722 * include/grub/bitmap_scale.h: New file.
723 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
724 (background_image_cmd_options): New variable.
725 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
726 (cmd): Rename and change type to ...
727 (background_image_cmd_handle): ... this. All users updated.
728 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
729 * video/bitmap_scale.c: New file.
730
731 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
732
733 SDL support.
734
735 * Makefile.in (LIBSDL): New variable.
736 (enable_grub_emu_sdl): Likewise.
737 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
738 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
739 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
740 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
741 * util/sdl.c: New file.
742
743 2010-02-06 Colin D Bennett <colin@gibibit.com>
744 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Double buffering support.
747
748 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
749 * include/grub/video.h: Update comment.
750 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
751 New type.
752 (grub_video_fb_doublebuf_blit_init): New prototype.
753 * term/gfxterm.c (scroll_up): Support double buffering.
754 (grub_gfxterm_refresh): Likewise.
755 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
756 (grub_video_fb_doublebuf_blit_init): Likewise.
757 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
758 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
759 'displayed_page', 'render_page' and 'update_screen'.
760 (grub_video_vbe_fini): Free offscreen buffer.
761 (doublebuf_pageflipping_commit): New function.
762 (doublebuf_pageflipping_update_screen): Likewise.
763 (doublebuf_pageflipping_init): Likewise.
764 (double_buffering_init): Likewise.
765 (grub_video_vbe_setup): Enable doublebuffering.
766 (grub_video_vbe_swap_buffers): Implement.
767 (grub_video_vbe_set_active_render_target): Handle double buffering.
768 (grub_video_vbe_get_active_render_target): Likewise.
769 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
770 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
771 (grub_video_vbe_enable_double_buffering): Likewise.
772 (grub_video_vbe_swap_buffers): Use update_screen.
773 (grub_video_set_mode): Use double buffering.
774
775 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
776
777 * maintainance/gentrigtables.py: Remove.
778 * lib/trig.c: Likewise.
779
780 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
781
782 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
783 `trigtables.c'.
784 (trigtables.c): New rule.
785 (gentrigtables): Likewise.
786 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
787
788 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
789
790 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
791 integer constants.
792
793 2010-02-06 Colin D Bennet <colin@gibibit.com>
794
795 Trigonometry support.
796
797 * include/grub/trig.h: New file.
798 * lib/trig.c: Likewise.
799 * maintainance/gentrigtables.py: Likewise.
800 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
801 (trig_mod_SOURCES): New variable.
802 (trig_mod_CFLAGS): Likewise.
803 (trig_mod_LDFLAGS): Likewise.
804
805 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
808 disk devices.
809
810 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
813 error.
814
815 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * util/hostdisk.c (open_device): Don't use partition device when reading
818 before the partition.
819 (grub_util_biosdisk_read): Don't read from partition and before the
820 partition in single operation.
821 (grub_util_biosdisk_write): Don't write to partition and before the
822 partition in single operation.
823
824 2010-02-03 Torsten Landschoff <torsten@debian.org>
825
826 * kern/disk.c (grub_disk_read): Fix offset computation when reading
827 last sectors.
828
829 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
832 CDROM reads.
833 (grub_biosdisk_write): Refuse to write to CDROM.
834
835 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
838
839 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * font/font.c (find_glyph): Check that bmp_idx is available before
842 using it.
843 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
844 with (font == NULL).
845
846 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
847
848 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
849
850 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
851
852 * include/grub/script_sh.h (sourcecode): Add const qualifier.
853 * util/grub-script-check.c (getline): Fix empty lines case.
854
855 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
856
857 * Makefile.in (check): Exit with fail status when one of the tests
858 fails.
859 * tests/example_functional_test.c (example_test): Fix reversed assert.
860 * tests/example_unit_test.c (example_test): Likewise.
861
862 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
863
864 * util/grub.d/10_linux.in: This script does not use any of the
865 contents of gettext.sh, only the external command `gettext', so stop
866 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
867 the same prefix as GRUB.)
868 * util/grub.d/10_kfreebsd.in: Likewise.
869
870 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
873 of the line.
874
875 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * kern/disk.c (grub_disk_read): Fix offset computation when reading
878 last sectors.
879
880 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
883 having a 4KiB and not 32KiB buffer size.
884
885 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
886
887 * util/hostfs.c: Include `<errno.h>'.
888 (grub_hostfs_read): Handle errors from fseeko() and fread().
889
890 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
891
892 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
893 loop when using read hooks on files whose size isn't sector-aligned.
894
895 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
896
897 Remove unused parameter.
898
899 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
900 (grub_iso9660_open): Remove initialization of `data->length'.
901
902 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
903
904 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
905 memleak conditions.
906
907 2010-01-27 Carles Pina i Estany <carles@pina.cat>
908
909 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
910 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
911
912 2010-01-26 Carles Pina i Estany <carles@pina.cat>
913
914 * util/bin2h.c (usage): Fix warning (space after backslash).
915
916 2010-01-26 Carles Pina i Estany <carles@pina.cat>
917
918 * font/font.c: Include `grub/fontformat.h.
919 Remove font file format constants.
920 (grub_font_load): Use the new macros.
921 * include/grub/fontformat.h: New file.
922 * util/grub-mkfont.c: Include `grub/fontformat.c'.
923 (write_font_pf2): Use the new macros.
924
925 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
926
927 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
928 does.
929
930 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
931
932 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
933
934 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
935 (_start): Macroify `0x7F'.
936
937 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
938 (make_install_device): Use "(pxe)" as fallback prefix when booting
939 via PXE.
940
941 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * configure.ac: Reset LIBS after check for libgcc symbols.
944
945 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
946
947 * util/hostdisk.c (open_device): Add trailing newline to debug
948 message.
949
950 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
951
952 * configure.ac: Check for `limits.h'.
953 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
954
955 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
956
957 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
958 capitalize error strings.
959
960 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
961
962 * util/grub.d/10_hurd.in: Add a recovery mode.
963
964 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * configure.ac: Check for libgcc symbols with -nostdlib.
967
968 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
969
970 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
971
972 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
975 stack since heap may be unavailable at that point.
976 (grub_ofconsole_gotoxy): Likewise.
977
978 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * configure.ac: Check for _restgpr_14_x.
981 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
982 and _savegpr_* prototypes.
983
984 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
985
986 Use generic grub_reboot() for i386-efi.
987
988 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
989 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
990 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
991
992 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
995 presence of "prefix" variable as it breaks when normal.mod is
996 embedded.
997
998 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
1001 stack since heap is unavailable at that point.
1002
1003 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
1006 (grub_freebsd_bootinfo): Rewritten.
1007 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
1008
1009 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
1012
1013 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
1014
1015 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
1016 domain now.
1017
1018 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
1019
1020 * util/misc.c (make_system_path_relative_to_its_root): Change the work
1021 around for handling "/" to the correct fix. Fix a memory leak. Use
1022 xstrdup instead of strdup.
1023
1024 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
1027
1028 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 Optimise glyph lookup by Basic Multilingual Plane lookup array.
1031
1032 * font/font.c (struct grub_font): New member 'bmp_idx'.
1033 (font_init): Initialise 'bmp_idx'.
1034 (load_font_index): Fill 'bmp_idx'.
1035 (find_glyph): Make inline. Use bmp_idx for BMP characters.
1036
1037 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
1040 unnecessary calls.
1041
1042 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Move context handling out of the kernel.
1045
1046 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
1047 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
1048 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
1049 * conf/i386-efi.rmk: Likewise.
1050 * conf/i386-ieee1275.rmk: Likewise.
1051 * conf/i386-pc.rmk: Likewise.
1052 * conf/powerpc-ieee1275.rmk: Likewise.
1053 * conf/sparc64-ieee1275.rmk: Likewise.
1054 * conf/x86_64-efi.rmk: Likewise.
1055 * include/grub/env.h: Include grub/menu.h.
1056 (grub_env_var_type): Removed.
1057 (grub_env_var): Replaced field 'type' with 'global'.
1058 (grub_env_find): New prototype.
1059 (grub_env_context_open): Remove EXPORT_FUNC.
1060 (grub_env_context_close): Likewise.
1061 (grub_env_export): Likewise.
1062 (grub_env_set_data_slot): Removed.
1063 (grub_env_get_data_slot): Likewise.
1064 (grub_env_unset_data_slot): Likewise.
1065 (grub_env_unset_menu): New prototype.
1066 (grub_env_set_menu): Likewise.
1067 (grub_env_get_menu): Likewise.
1068 * include/grub/env_private.h: New file.
1069 * include/grub/normal.h (grub_context_init): New prototype.
1070 (grub_context_fini): Likewise.
1071 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
1072 * normal/context.c (grub_cmd_export): ... to here.
1073 * kern/env.c: Include env_private.h.
1074 (HASHSZ): Moved to include/grub/env_private.h.
1075 (grub_env_context): Likewise.
1076 (grub_env_sorted_var): Likewise.
1077 (current_context): Renamed from this ...
1078 (grub_current_context): ...to this. 'static' removed. All users updated.
1079 (grub_env_find): Removed 'static'.
1080 (grub_env_context_open): Moved to normal/context.c.
1081 (grub_env_context_close): Likewise.
1082 (grub_env_export): Likewise.
1083 (mangle_data_slot_name): Removed.
1084 (grub_env_set_data_slot): Likewise.
1085 (grub_env_get_data_slot): Likewise.
1086 (grub_env_unset_data_slot): Likewise.
1087 * kern/main.c (grub_set_root_dev): Don't export root.
1088 It will be done later.
1089 (grub_main): Don't export prefix.
1090 It will be done later.
1091 * normal/context.c: New file.
1092 * normal/main.c (free_menu): Use grub_env_unset_menu.
1093 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1094 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1095 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1096 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1097
1098 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 setpci support.
1101
1102 * commands/setpci.c: New file.
1103 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1104 (setpci_mod_SOURCES): New variable.
1105 (setpci_mod_CFLAGS): Likewise.
1106 (setpci_mod_LDFLAGS): Likewise.
1107
1108 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 Byte-addressable PCI configuration space.
1111
1112 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1113 dword address.
1114 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1115 GRUB_PCI_REG_CACHELINE.
1116 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1117 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1118 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1119 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1120 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1121 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1122 grub_pci_make_address.
1123 (lock_rom_area): Likewise.
1124 * commands/lspci.c (grub_lspci_iter): Use macroses
1125 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1126 of grub_pci_make_address.
1127 * disk/ata.c (grub_ata_pciinit): Likewise.
1128 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1129 (GRUB_PCI_REG_VENDOR): Likewise.
1130 (GRUB_PCI_REG_DEVICE): Likewise.
1131 (GRUB_PCI_REG_COMMAND): Likewise.
1132 (GRUB_PCI_REG_STATUS): Likewise.
1133 (GRUB_PCI_REG_REVISION): Likewise.
1134 (GRUB_PCI_REG_CLASS): Likewise.
1135 (GRUB_PCI_REG_CACHELINE): Likewise.
1136 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1137 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1138 (GRUB_PCI_REG_BIST): Likewise.
1139 (GRUB_PCI_REG_ADDRESSES): Likewise.
1140 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1141 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1142 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1143 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1144 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1145 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1146 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1147 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1148 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1149 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1150 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1151 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1152 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1153 (GRUB_PCI_REG_MIN_GNT): Likewise.
1154 (GRUB_PCI_REG_MAX_LAT): Likewise.
1155 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1156 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1157 * video/efi_uga.c (find_framebuf): Likewise.
1158 * video/sm712.c (grub_video_sm712_setup): Likewise.
1159 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1160 space.
1161
1162 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1163
1164 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1165 can be reliably determined to be supported.
1166
1167 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1168
1169 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1170 that VESA is supported.
1171 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1172 supported.
1173
1174 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1177
1178 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1179
1180 * util/misc.c (make_system_path_relative_to_its_root): Work around
1181 special-casing of "/", as previous incarnation of this routine did.
1182
1183 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Fix any-emu compilation.
1186
1187 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1188 * grub_bin2h_SOURCES: New variable.
1189
1190 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1191
1192 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1193
1194 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1195
1196 * util/grub.d/00_header.in: Fix handling of locale_dir.
1197
1198 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1201 as possible unifont location (Gentoo).
1202 Reported by: Alexander Brüning
1203
1204 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 Don't try to generate lists for kernel.img.
1207
1208 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1209 (pkglib_MODULES): Remove kernel.img.
1210 (kernel_img_EXPORTS): Removed.
1211 (kernel_img_RELOCATABLE): New variable.
1212 * conf/x86_64-efi.rmk: Likewise.
1213 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1214
1215 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1218 grub_xasprintf or grub_snprintf.
1219 (grub_vsprintf): Likewise.
1220 (grub_snprintf): New proto.
1221 (grub_vsnprintf): Likewise.
1222 (grub_xasprintf): Likewise.
1223 (grub_xvasprintf): Likewise.
1224 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1225 (grub_sprintf): Removed.
1226 (grub_vsnprintf): New function.
1227 (grub_snprintf): Likewise.
1228 (grub_xvasprintf): Likewise.
1229 (grub_xasprintf): Likewise.
1230 (grub_vsprintf): Renamed to ...
1231 (grub_vsnprintf_real): ...this. New argument max_len.
1232
1233 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1234
1235 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1236 fix grub-script-check warning.
1237
1238 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * include/grub/font.h (grub_font_load): Fix prototype.
1241
1242 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1245
1246 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * include/grub/x86_64/at_keyboard.h: New file.
1249
1250 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * loader/mips/linux.c: Include missing grub/i18n.h.
1253
1254 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1255
1256 * normal/menu.c (notify_execution_failure): Clarify error message.
1257
1258 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1259
1260 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1261 return value (and revert all return statements). Update users.
1262
1263 2010-01-20 Dan Merillat <debian@dan.merillat.org>
1264
1265 * kern/device.c (grub_device_iterate): Allocate new part_ent
1266 structure based on sizeof (*p) rather than sizeof (p->next), to
1267 account for structure padding.
1268
1269 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1270 disk is NULL, which might happen for LVM physical volumes with no
1271 LVM signature.
1272
1273 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1274
1275 * loader/mips/linux.c (grub_cmd_initrd)
1276 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1277
1278 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1279
1280 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1281 (grub_video_video_init, grub_video_bitmap_init)
1282 (grub_font_manager_init, grub_term_gfxterm_init)
1283 (grub_at_keyboard_init): New extern declarations.
1284 (grub_machine_init): Initialize gfxterm and at_keyboard.
1285
1286 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1287
1288 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1289 `gfxterm.mod' into core image.
1290
1291 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1292 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1293 (kernel_img_FORMAT): Copy to ...
1294
1295 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1296 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1297 (kernel_img_FORMAT): ... here, and ...
1298
1299 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1300 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1301 (kernel_img_FORMAT): ... here.
1302
1303 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1304 and input (at_keyboard) terminals in kernel.
1305 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1306
1307 (pkglib_MODULES): Remove `pci.mod'.
1308 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1309 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1310 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1311 (at_keyboard_mod_LDFLAGS): Remove variables.
1312
1313 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
1314
1315 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1316
1317 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1318
1319 * include/grub/mips/libgcc.h: Only export symbols for functions
1320 that libgcc provides.
1321
1322 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 MIPS support.
1325
1326 * bus/bonito.c: New file.
1327 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1328 GRUB_PCI_NUM_DEVICES.
1329 * term/i386/pc/serial.c: Move to ...
1330 * term/serial.c: ... here. All users updated.
1331 * util/i386/pc/grub-mkimage.c: Move to ...
1332 * util/grub-mkrawimage.c: ... here. All users updated.
1333 * term/i386/pc/at_keyboard.c: Move to ...
1334 * term/at_keyboard.c: ... here. All users updated.
1335 * conf/mips-qemu-mips.rmk: New file.
1336 * conf/mips-yeeloong.rmk: Likewise.
1337 * conf/mips.rmk: Likewise.
1338 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1339 mipsel-qemu-mips.
1340 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1341 to port addresses.
1342 (grub_ata_pciinit): Support CS5536.
1343 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1344 * font/font_cmd.c (loadfont_command): Open file before passing it to
1345 grub_font_load.
1346 (pseudo_file_read): New function.
1347 (pseudo_file_close): Likewise.
1348 (pseudo_fs): New structure.
1349 (load_font_module): New function.
1350 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1351 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1352 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1353 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1354 * include/grub/i386/at_keyboard.h: Split into ...
1355 * include/grub/at_keyboard.h: ... this ...
1356 * include/grub/i386/at_keyboard.h: ... and this.
1357 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1358 New prototype.
1359 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1360 updated.
1361 (grub_elf64_size): Likewise.
1362 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1363 filename.
1364 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1365 * include/grub/i386/coreboot/serial.h: Rewritten.
1366 * include/grub/i386/ieee1275/serial.h: Include
1367 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1368 * include/grub/i386/pc/serial.h: Moved from here ...
1369 * include/grub/serial.h: ... to here. All users updated.
1370 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1371 (GRUB_PCI_NUM_BUS): Likewise.
1372 (GRUB_PCI_NUM_DEVICES): Likewise.
1373 (grub_pci_device_map_range): Add missing volatile keyword.
1374 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1375 * include/grub/mips/at_keyboard.h: New file.
1376 * include/grub/mips/cache.h: Likewise.
1377 * include/grub/mips/io.h: Likewise.
1378 * include/grub/mips/kernel.h: Likewise.
1379 * include/grub/mips/libgcc.h: Likewise.
1380 * include/grub/mips/pci.h: Likewise.
1381 * include/grub/mips/qemu-mips/boot.h: Likewise.
1382 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1383 * include/grub/mips/qemu-mips/loader.h: Likewise.
1384 * include/grub/mips/qemu-mips/memory.h: Likewise.
1385 * include/grub/mips/qemu-mips/serial.h: Likewise.
1386 * include/grub/mips/qemu-mips/time.h: Likewise.
1387 * include/grub/mips/relocator.h: Likewise.
1388 * include/grub/mips/time.h: Likewise.
1389 * include/grub/mips/types.h: Likewise.
1390 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1391 * include/grub/mips/yeeloong/boot.h: Likewise.
1392 * include/grub/mips/yeeloong/kernel.h: Likewise.
1393 * include/grub/mips/yeeloong/loader.h: Likewise.
1394 * include/grub/mips/yeeloong/memory.h: Likewise.
1395 * include/grub/mips/yeeloong/pci.h: Likewise.
1396 * include/grub/mips/yeeloong/serial.h: Likewise.
1397 * include/grub/mips/yeeloong/time.h: Likewise.
1398 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1399 * kern/elf.c (grub_elf32_size): New parameter. All users
1400 updated.
1401 (grub_elf64_size): Likewise.
1402 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1403 Load modules before saying "Welcome to GRUB!".
1404 Call grub_refresh after saying "Welcome to GRUB!".
1405 * kern/mips/cache.S: New file.
1406 * kern/mips/cache_flush.S: Likewise.
1407 * kern/mips/dl.c: Likewise.
1408 * kern/mips/init.c: Likewise.
1409 * kern/mips/qemu-mips/init.c: Likewise.
1410 * kern/mips/startup.S: Likewise.
1411 * kern/mips/yeeloong/init.c: Likewise.
1412 * kern/term.c (grub_putcode): Handle NULL terminal.
1413 (grub_getcharwidth): Likewise.
1414 (grub_getkey): Likewise.
1415 (grub_checkkey): Likewise.
1416 (grub_getkeystatus): Likewise.
1417 (grub_getxy): Likewise.
1418 (grub_getwh): Likewise.
1419 (grub_gotoxy): Likewise.
1420 (grub_cls): Likewise.
1421 (grub_setcolorstate): Likewise.
1422 (grub_setcolor): Likewise.
1423 (grub_getcolor): Likewise.
1424 (grub_refresh): Likewise.
1425 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1426 (write_jump): Add hatch nop.
1427 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1428 * lib/mips/setjmp.S: New file.
1429 * loader/mips/linux.c: Likewise.
1430 * term/i386/pc/at_keyboard.c: Move from here ...
1431 * term/at_keyboard.c: ... to here.
1432 * term/i386/pc/serial.c: Moved from here ...
1433 * term/serial.c: ... to here. All users updated.
1434 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1435 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1436 (serial_translate_key_sequence): Avoid deadlock.
1437 (grub_serial_getkey): Handle backspace.
1438 (grub_serial_putchar): Fix newline handling.
1439 * util/i386/pc/grub-mkimage.c: Move from here ...
1440 * util/grub-mkrawimage.c: ... to here. All users updated.
1441 (generate_image): New parameters 'font_path' and 'format'.
1442 Support embedding font.
1443 Use grub_host_to_target* instead of grub_cpu_to_le*.
1444 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1445 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1446 (options): New option "--font".
1447 (usage): Likewise.
1448 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1449 (main): Handle "--font".
1450 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1451 (grub_virtual_screen_setup): Set bg_color_display.
1452 (redraw_screen_rect): Use bg_color_display instead of incorrect
1453 bg_color.
1454 (grub_gfxterm_cls): Likewise.
1455 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1456 Support embedding config file.
1457 (add_segments): Likewise.
1458 (options): New option "--config".
1459 (main): Handle "--config".
1460 * video/sm712.c: New file.
1461
1462 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1463
1464 Fix parallel builds.
1465
1466 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1467 font.c depend on ascii.h).
1468
1469 2010-01-12 Carles Pina i Estany <carles@pina.cat>
1470
1471 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1472
1473 2010-01-11 Carles Pina i Estany <carles@pina.cat>
1474
1475 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1476 By default: disabled.
1477 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1478 parameter.
1479
1480 2010-01-10 Carles Pina i Estany <carles@pina.cat>
1481
1482 * font/font.c: Update copyright years.
1483 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1484
1485 2010-01-10 Carles Pina i Estany <carles@pina.cat>
1486
1487 * font/font.c: Include `ascii.h'.
1488 (ASCII_BITMAP_SIZE): New macro.
1489 (ascii_font_glyph): Define.
1490 (ascii_glyph_lookup): New function.
1491 (grub_font_get_string_width): Change comment. If glyph not found, use
1492 ascii_glyph_lookup.
1493 (grub_font_get_glyph_with_fallback): If glyph not available returns
1494 ascii_glyph_lookup.
1495 * util/grub-mkfont.c (file_formats): New enum.
1496 (options): Add `ascii-bitmaps' new option.
1497 (usage): Add `asii-bitmaps' new option.
1498 (write_font_ascii_bitmap): New function.
1499 (write_font): Rename to ...
1500 (write_font_p2): ... this. Remove print_glyphs call.
1501 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1502 used. Call print_glyphs.
1503 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1504
1505 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1506
1507 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1508 (grub_bin2h_SOURCES): New variable.
1509 * util/bin2h.c: New file.
1510
1511 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * include/multiboot.h: Resynced with spec.
1514 * include/multiboot2.h: Likewise.
1515 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1516 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1517
1518 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1519
1520 * include/grub/term.h (grub_term_register_input,
1521 grub_term_register_output): Check return of terminal init()
1522 routines, and abort if errors are raised.
1523
1524 * commands/terminal.c: Update copyright year.
1525
1526 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1527
1528 * commands/terminal.c (grub_cmd_terminal_input)
1529 (grub_cmd_terminal_output): Check return of terminal init()
1530 routines, and abort if errors are raised.
1531
1532 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * include/grub/i386/bsd.h: Fix include pathes.
1535
1536 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Add missing *BSD copyright headers.
1539
1540 * include/grub/aout.h: Add BSD licence.
1541 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1542 * include/grub/i386/freebsd_linker.h: ... here,
1543 * include/grub/i386/freebsd_reboot.h: ... here,
1544 * include/grub/i386/netbsd_bootinfo.h: ... here,
1545 * include/grub/i386/netbsd_reboot.h: ... here,
1546 * include/grub/i386/openbsd_bootarg.h: ... here,
1547 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1548 licence to each file.
1549
1550 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1551
1552 * acinclude.m4: Remove `nop' assembly instruction; it's not
1553 implemented by all architectures.
1554
1555 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1556
1557 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1558 ELILO. This is no longer necessary.
1559
1560 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1561
1562 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1563
1564 * util/grub-script-check.c: grub-script-check tool.
1565 * conf/common.rmk: Make rules for grub-script-check.
1566
1567 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1568
1569 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1570 spotting it back in 2008. Shame on me for forgetting he did.
1571
1572 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1573
1574 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1575
1576 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1577 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1578 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1579 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1580 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1581 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1582
1583 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1584
1585 * include/grub/test.h: Add license header.
1586 * tests/example_functional_test.c: Likewise.
1587 * tests/example_unit_test.c: Likewise.
1588 * tests/lib/functional_test.c: Likewise.
1589 * tests/lib/test.c: Likewise.
1590 * tests/lib/unit_test.c: Likewise.
1591
1592 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 Use flag-based instead of hook-based video mode selection and "auto"
1595 keyword.
1596
1597 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1598 (grub_video_set_mode): Changed prototype. All users updated.
1599 (grub_video_check_mode_flag): New inline function.
1600 * video/video.c (parse_modespec): New function.
1601 (grub_video_set_mode): Parse flags and keywords.
1602
1603 2010-01-17 Carles Pina i Estany <carles@pina.cat>
1604
1605 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1606 fprintf call.
1607
1608 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1609
1610 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1611
1612 2010-01-16 Carles Pina i Estany <carles@pina.cat>
1613
1614 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1615 string.
1616 * util/grub-emu.c (usage): Likewise.
1617 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1618 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1619 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1620 * util/i386/pc/grub-setup.c (usage): Likewise.
1621
1622 2010-01-16 Carles Pina i Estany <carles@pina.cat>
1623
1624 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1625 the message.
1626 (grub_util_info): Likewise.
1627 (grub_util_error): Likewise.
1628 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1629 and/or new lines in `grub_util_warna', `grub_util_info',
1630 `grub_util_error' calls.
1631 * util/getroot.c: Likewise.
1632 * util/grub-editenv.c: Likewise.
1633 * util/grub-emu.c: Likewise.
1634 * util/grub-fstest.c: Likewise.
1635 * util/grub-mkdevicemap.c: Likewise.
1636 * util/grub-mkfont.c: Likewise.
1637 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1638 * util/grub-mkrelpath.c: Likewise.
1639 * util/grub-pe2elf.c: Likewise.
1640 * util/grub-probe.c: Likewise.
1641 * util/hostdisk.c: Likewise.
1642 * util/i386/efi/grub-mkimage.c: Likewise.
1643 * util/i386/pc/grub-mkimage.c: Likewise.
1644 * util/i386/pc/grub-setup.c: Likewise.
1645 * util/ieee1275/ofpath.c: Likewise.
1646 * util/mkisofs/eltorito.c: Likewise.
1647 * util/mkisofs/rock.c: Likewise.
1648 * util/mkisofs/write.c: Likewise.
1649 * util/raid.c: Likewise.
1650 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1651 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1652
1653 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Enable multiboot on non-pc.
1656
1657 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1658 multiboot.mod and multiboot2.mod to ...
1659 * conf/i386.rmk (pkglib_MODULES): ... here.
1660 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1661 Moved to ...
1662 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1663 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1664 Moved to ...
1665 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1666 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1667 Moved to ...
1668 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1669 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1670 Moved to ...
1671 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1672 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1673 relocator.mod.
1674 (ata_mod_SOURCES): Removed.
1675 (ata_mod_CFLAGS): Likewise.
1676 (ata_mod_LDFLAGS): Likewise.
1677 (relocator_mod_SOURCES): Removed.
1678 (relocator_mod_CFLAGS): Likewise.
1679 (relocator_mod_ASFLAGS): Likewise.
1680 (relocator_mod_LDFLAGS): Likewise.
1681 Include i386.mk.
1682 * include/grub/x86_64/multiboot.h: New file.
1683 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1684 Terminate EFI.
1685
1686 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 Video multiboot support.
1689
1690 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1691 New prototype.
1692 * include/multiboot.h: Resynced with multiboot specification.
1693 * include/multiboot2.h: Likewise.
1694 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1695 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1696 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1697 (HAS_VGA_TEXT): Likewise.
1698 (accepts_video): New variable.
1699 (grub_multiboot_set_accepts_video): New function.
1700 (grub_multiboot_get_mbi_size): Account for video structures.
1701 (set_video_mode): New function.
1702 (retrieve_video_parameters): Likewise.
1703 (grub_multiboot_make_mbi): Fill video fields.
1704
1705 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 Video driver ids.
1708
1709 * include/grub/video.h (grub_video_driver_id): New type.
1710 (grub_video_adapter): New member 'id'. All users updated.
1711 (grub_video_get_driver_id): New proto.
1712 * video/video.c (grub_video_get_driver_id): New function.
1713
1714 2010-01-14 Carles Pina i Estany <carles@pina.cat>
1715
1716 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1717 `var=val'.
1718
1719 2010-01-14 Carles Pina i Estany <carles@pina.cat>
1720
1721 * normal/cmdline.c (print_completion): Gettextizze.
1722
1723 2001-01-14 Carles Pina i Estany <carles@pina.cat>
1724
1725 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1726
1727 2010-01-14 Carles Pina i Estany <carles@pina.cat>
1728
1729 * gettext/gettext.c (grub_gettext_translate): Push and pop
1730 grub_errno.
1731 (grub_gettext_delete_list): Change comment style.
1732 * kern/err.c (grub_error): Gettextizze.
1733 (grub_fatal): Gettextizze.
1734
1735 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1736
1737 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1738 (grub_linux16_real_boot): ... this.
1739 * kern/i386/loader.S: Likewise.
1740 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1741 (grub_linux16_boot): New function. Switches to text mode and calls
1742 grub_linux16_real_boot().
1743
1744 * loader/i386/bsd.c: Include `<grub/video.h>'.
1745 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1746 text mode before calling grub_unix_real_boot().
1747
1748 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1749 (grub_multiboot_boot): Switch to text mode before calling
1750 grub_relocator32_boot().
1751
1752 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1753 (grub_chainloader_boot): Switch to text mode before calling
1754 grub_chainloader_real_boot().
1755
1756 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
1757 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
1758
1759 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1760 non-empty value.
1761
1762 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
1763 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
1764
1765 * util/grub.d/00_header.in: Define a "savedefault" function for use
1766 in menu entries.
1767 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1768
1769 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
1770 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
1771
1772 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1773 saved_entry if boot_once is unset.
1774 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1775 previous saved entry (i.e. grub-reboot).
1776
1777 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
1778
1779 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1780
1781 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
1782
1783 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1784 `var=val'.
1785 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1786
1787 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
1788
1789 * util/grub-reboot.in: Fix --version output.
1790 * util/grub-set-default.in: Likewise.
1791
1792 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
1793
1794 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1795 blocks.
1796
1797 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
1798
1799 * util/grub.d/00_header.in: Quote the value assigned to `default',
1800 in case it contains spaces.
1801
1802 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
1803
1804 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1805 `save_default_entry' call from the macosx case to the linux case.
1806
1807 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1808 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
1809
1810 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1811 in `chosen' environment variable.
1812 * normal/menu_text.c (get_entry_number): Check if the variable
1813 matches the title of a menu entry.
1814 (run_menu): Pass menu to get_entry_number.
1815
1816 * util/grub-reboot.in: New file.
1817 * util/grub-set-default.in: New file.
1818 * conf/common.rmk (grub-reboot): New utility.
1819 (grub-set-default): New utility.
1820
1821 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1822 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1823 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1824 move it to `saved_entry' for the next boot. Load environment on
1825 initialisation.
1826 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1827 * util/grub.d/10_hurd.in: Likewise.
1828 * util/grub.d/10_linux.in (linux_entry): Likewise.
1829 * util/grub.d/10_windows.in: Likewise.
1830 * util/grub.d/30_os-prober.in: Likewise.
1831
1832 * util/grub-install.in: Create environment block.
1833 * util/i386/efi/grub-install.in: Likewise.
1834 * util/ieee1275/grub-install.in: Likewise.
1835 * util/sparc64/ieee1275/grub-install.in: Likewise.
1836
1837 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1838
1839 Unit testing framework for GRUB.
1840
1841 * Makefile.in: Test framework build rules for 'make check'.
1842 * conf/tests.rmk: Build rules for individual tests and framework.
1843
1844 * include/grub/test.h: Header file for whitebox tests.
1845 * tests/lib/functional_test.c: Framework support for whitebox
1846 functional tests.
1847 * tests/lib/test.c: Common whitebox testing code for unit and
1848 functional tests.
1849 * tests/lib/unit_test.c: Framework support for whitebox unit
1850 tests.
1851
1852 * tests/util/grub-shell-tester.in: Support utility for grub-script
1853 tests.
1854 * tests/util/grub-shell.in: Utility to execute grub-script
1855 commands in a Qemu instance.
1856
1857 * tests/example_functional_test.c: Example whitebox functional
1858 test.
1859 * tests/example_grub_script_test.in: Example grub-script test.
1860 * tests/example_scripted_test.in: Example scripted test.
1861 * tests/example_unit_test.c: Example whitebox unit test.
1862
1863 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1866 Add loader/i386/multiboot_mbi.c.
1867 (multiboot2_mod_SOURCES): Likewise.
1868 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1869 (multiboot2_mod_SOURCES): Likewise.
1870 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1871 (grub_multiboot_make_mbi): Likewise.
1872 (grub_multiboot_free_mbi): Likewise.
1873 (grub_multiboot_init_mbi): Likewise.
1874 (grub_multiboot_add_module): Likewise.
1875 (grub_multiboot_set_bootdev): Likewise.
1876 * loader/i386/multiboot.c (mbi): Removed.
1877 (mbi_dest): Likewise.
1878 (alloc_mbi): New variable.
1879 (grub_multiboot_payload_size): Removed. All users updated.
1880 (grub_multiboot_pure_size): New variable.
1881 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1882 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1883 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1884 (grub_fill_multiboot_mmap): Likewise.
1885 (grub_multiboot_get_bootdev): Likewise.
1886 (grub_multiboot): Use multiboot_mbi functions.
1887 * loader/i386/multiboot_mbi.c: New file.
1888
1889 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1892 it would result in module crash.
1893
1894 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1897 (grub_ofconsole_getwh): Split to ...
1898 (grub_ofconsole_getwh): ... this.
1899 (grub_ofconsole_dimensions): ...and this.
1900 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1901
1902 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1903
1904 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1905
1906 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * loader/i386/pc/multiboot2.c: Removed stalled file.
1909
1910 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1913 Reported by: Grégoire Sutre
1914
1915 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1916
1917 * util/misc.c (canonicalize_file_name): New function.
1918 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1919 instead of realpath().
1920
1921 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
1922
1923 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1924 and make it clearer that it's optional. Based on confusion
1925 witnessed on IRC.
1926
1927 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1930 in premature implicit newline.
1931
1932 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1935 which resulted in garbled command line at the end of screen.
1936
1937 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1938
1939 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1940 initialization with similar approach as with other Linux loaders.
1941
1942 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1943
1944 Fix i386-ieee1275 build.
1945
1946 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1947 and grub_term_height() for video_{width,height} initialization.
1948
1949 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1950
1951 Fix grub-emu build.
1952
1953 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1954
1955 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1956 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1957
1958 Support for multiple terminals.
1959
1960 * Makefile.in (pkglib_DATA): terminal.lst.
1961 (terminal.lst): New target.
1962 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1963 (GRUB_MOD_INIT(handler)): Likewise.
1964 (GRUB_MOD_FINI(handler)): Likewise.
1965 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1966 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1967 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1968 (grub_cmd_sleep): Use grub_term_save_pos.
1969 * commands/terminal.c: New file.
1970 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1971 commands/terminal.c and lib/charset.c.
1972 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1973 (pkglib_MODULES): Add terminal.mod.
1974 (terminal_mod_SOURCES): New variable.
1975 (terminal_mod_CFLAGS): Likewise.
1976 (terminal_mod_LDFLAGS): Likewise.
1977 * genhandlerlist.sh: Don't handle terminals.
1978 * genmk.rb: Generate terminal-*.lst.
1979 * genterminallist.sh: New file.
1980 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1981 (grub_is_valid_utf8): Likewise.
1982 (grub_utf8_to_ucs4_alloc): Likewise.
1983 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1984 (grub_menu_register_viewer): Changed argument.
1985 (grub_menu_try_text): New proto.
1986 (grub_gfxmenu_try_hook): New declaration.
1987 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1988 (grub_menu_init_page): Additional argument term.
1989 (grub_normal_init_page): Likewise.
1990 (grub_cmdline_get): Arguments simplified.
1991 (grub_utf8_to_ucs4_alloc): Removed.
1992 (grub_print_ucs4): Additional argument term.
1993 (grub_getstringwidth): Likewise.
1994 (grub_print_message_indented): Likewise.
1995 (grub_menu_text_register_instances): New proto.
1996 (grub_show_menu): Likewise.
1997 (read_terminal_list): Likewise.
1998 (grub_set_more): Likewise.
1999 * include/grub/parser.h: Include handler.h.
2000 * include/grub/reader.h: Rewritten.
2001 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
2002 (GRUB_TERM_WIDTH): Changed to function.
2003 (GRUB_TERM_HEIGHT): Likewise.
2004 (GRUB_TERM_BORDER_WIDTH): Likewise.
2005 (GRUB_TERM_BORDER_HEIGHT): Likewise.
2006 (GRUB_TERM_NUM_ENTRIES): Likewise.
2007 (GRUB_TERM_ENTRY_WIDTH): Likewise.
2008 (GRUB_TERM_CURSOR_X): Likewise.
2009 (grub_term_input_class): Likewise.
2010 (grub_term_output_class): Likewise.
2011 (grub_term_outputs_disabled): New declaration.
2012 (grub_term_inputs_disabled): Likewise.
2013 (grub_term_outputs): Likewise.
2014 (grub_term_inputs): Likewise.
2015 (grub_term_register_input): Rewritten.
2016 (grub_term_register_output): Likewise.
2017 (grub_term_unregister_input): Likewise.
2018 (grub_term_unregister_output): Likewise.
2019 (FOR_ACTIVE_TERM_INPUTS): New macro.
2020 (FOR_DISABLED_TERM_INPUTS): Likewise.
2021 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2022 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2023 * include/grub/terminfo.h: Add oterm argument to all protypes.
2024 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
2025 Use grub_rescue_run.
2026 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
2027 All users updated.
2028 * kern/reader.c: Removed. All users updated.
2029 * kern/rescue_reader.c (grub_rescue_init): Removed.
2030 (grub_rescue_reader): Likewise.
2031 (grub_register_rescue_reader): Likewise.
2032 (grub_rescue_run): New function based on kern/reader.c.
2033 * kern/term.c: Adapted for multiterm.
2034 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
2035 (grub_is_valid_utf8): Likewise.
2036 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
2037 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
2038 right terminal.
2039 * loader/i386/linux.c (grub_linux_boot): Likewise.
2040 * normal/auth.c (grub_username_get): New function.
2041 (grub_auth_check_authentication): Use grub_username_get.
2042 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
2043 * normal/color.c: Adapt for multiterm.
2044 * normal/main.c (read_config_file): Don't use grub_reader_loop.
2045 (grub_normal_init_page): Additional argument term.
2046 (read_lists): Call read_terminal_lists.
2047 (grub_enter_normal_mode): Call grub_cmdline_run.
2048 Handle grub_normal_exit_level.
2049 (grub_cmd_normal): Make reentrant.
2050 (grub_cmd_normal_exit): New function.
2051 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
2052 * normal/menu.c: Adapt for multiterm.
2053 * normal/menu_entry.c: Likewise.
2054 * normal/menu_text.c: Likewise.
2055 * normal/menu_viewer.c: Removed. All users updated.
2056 * normal/term.c: New file.
2057 * util/console.c: Change order of includes to workaround a bug in
2058 ncurses headers.
2059 * term/terminfo.c: New argument oterm on all exported functions.
2060 All users updated.
2061 * util/grub-editenv.c (grub_term_input_class): Removed.
2062 (grub_term_output_class): Likewise.
2063
2064 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2065
2066 Make loader output a bit more user-friendly.
2067
2068 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
2069 is being loaded. Likewise for the Hurd.
2070
2071 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
2072 that kernel of FreeBSD ${version} is being loaded.
2073
2074 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
2075 grub_dprintf().
2076 (grub_cmd_initrd): Likewise.
2077 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2078 that Linux ${version} is being loaded. Likewise for initrd.
2079
2080 2010-01-09 Carles Pina i Estany <carles@pina.cat>
2081
2082 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2083
2084 2010-01-08 Carles Pina i Estany <carles@pina.cat>
2085
2086 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2087 (GRUB_MOD_INIT): Gettextizze.
2088 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2089 (GRUB_MOD_INIT): Gettextizze.
2090 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2091 (grub_cmd_linux): Capitalise Linux.
2092 (GRUB_MOD_INIT): Gettextizze.
2093 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2094 (grub_cmd_linux): Capitalise Linux.
2095 (GRUB_MOD_INIT): Gettextizze.
2096 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2097 (grub_cmd_linux): Capitalise Linux.
2098 (GRUB_MOD_INIT): Gettextizze.
2099 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2100 (GRUB_MOD_INIT): Gettextizze.
2101 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2102 (grub_cmd_linux): Capitalise Linux.
2103 (GRUB_MOD_INIT): Gettextizze.
2104 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2105 (grub_cpu_xnu_init): Gettextizze.
2106 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2107 (GRUB_MOD_INIT): Gettextizze.
2108 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2109 (GRUB_MOD_INIT): Gettextizze.
2110 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2111 (grub_linux_load64): Capitalise Linux.
2112 (GRUB_MOD_INIT): Gettextizze.
2113 * loader/xnu.c: Include `<grub/i18n.h>'.
2114 (GRUB_MOD_INIT): Gettextizze.
2115 * po/POTFILES: Add `loader/efi/appleloader.c',
2116 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2117 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2118 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2119 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2120 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2121 and `loader/xnu.c'.
2122
2123 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2124
2125 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2126
2127 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2128
2129 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2130 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2131 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2132
2133 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2134
2135 Reset Multiboot 2 support. New loader implements the draft in
2136 /branches/multiboot2 and shares as much code as possible with the
2137 production Multiboot 1 implementation.
2138
2139 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2140 * loader/multiboot2.c: Likewise.
2141 * loader/i386/multiboot_helper.S: Likewise.
2142 * include/multiboot2.h: Replace with latest version from the draft
2143 in /branches/multiboot2.
2144
2145 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2146 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2147 and `loader/multiboot2.c'.
2148 (pkglib_MODULES): Add `multiboot2.mod'.
2149 (multiboot2_mod_SOURCES): New variable.
2150 (multiboot2_mod_LDFLAGS): Likewise.
2151 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2152
2153 * conf/i386-pc.rmk: Likewise.
2154
2155 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2156 (multiboot_mod_SOURCES): Remove variable.
2157 (multiboot_mod_LDFLAGS): Likewise.
2158 (multiboot_mod_CFLAGS): Likewise.
2159
2160 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2161 `<multiboot2.h>' instead of `<multiboot.h>'.
2162 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2163 (MULTIBOOT_HEADER_MAGIC): New macros.
2164
2165 * loader/multiboot_loader.c (module_version_status): Remove variable.
2166 (find_multi_boot2_header): Remove function.
2167 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2168 logic. Always check for the Multiboot version we're compiling for.
2169 (grub_cmd_module_loader): Likewise.
2170 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2171 command instead of `multiboot'.
2172
2173 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2174
2175 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2176 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2177 all users.
2178
2179 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2180 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Fix breakage introduced with previous commit.
2183
2184 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2185 commands.
2186 * normal/handler.c (read_handler_list): Revert part of previous commit
2187 affecting this file.
2188 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2189 (grub_normal_execute): ... here.
2190
2191 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2192
2193 Merge prefix-redefinition-fix branch.
2194
2195 * normal/autofs.c (read_fs_list): Make function capable of being
2196 run multiple times, gracefuly replacing the previous data
2197 structures.
2198 * normal/dyncmd.c (read_command_list): Likewise.
2199 * normal/handler.c (read_handler_list): Likewise.
2200 * normal/main.c (read_lists): New function. Calls all the
2201 list reading functions.
2202 (grub_normal_execute): Use read_lists() instead of calling all
2203 list reading functions explicitly. Register read_lists() as a
2204 variable hook attached to ${prefix}.
2205
2206 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Merge crypto branch.
2209
2210 * Makefile.in (pkglib_DATA): Add crypto.lst.
2211 (crypto.lst): New target.
2212 * commands/hashsum.c: New file.
2213 * commands/password.c (check_password): Use grub_crypto_memcmp.
2214 * commands/password_pbkdf2.c: New file.
2215 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2216 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2217 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2218 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2219 -I$(srcdir)/lib/libgcrypt_wrap.
2220 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2221 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2222 password_pbkdf2.mod.
2223 (crypto_mod_SOURCES): New variable.
2224 (crypto_mod_CFLAGS): Likewise.
2225 (crypto_mod_LDFLAGS): Likewise.
2226 (hashsum_mod_SOURCES): New variable.
2227 (hashsum_mod_CFLAGS): Likewise.
2228 (hashsum_mod_LDFLAGS): Likewise.
2229 (pbkdf2_mod_SOURCES): New variable.
2230 (pbkdf2_mod_CFLAGS): Likewise.
2231 (pbkdf2_mod_LDFLAGS): Likewise.
2232 (password_pbkdf2_mod_SOURCES): New variable.
2233 (password_pbkdf2_mod_CFLAGS): Likewise.
2234 (password_pbkdf2_mod_LDFLAGS): Likewise.
2235 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2236 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2237 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2238 Include conf/gcry.rmk.
2239 * include/grub/auth.h: Rewritten.
2240 * include/grub/crypto.h: New file.
2241 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2242 * include/grub/normal.h (read_crypto_list): New prototype.
2243 * lib/crypto.c: New file.
2244 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2245 * lib/pbkdf2.c: Likewise.
2246 * normal/auth.c (grub_auth_strcmp): Removed.
2247 (grub_iswordseparator): Likewise.
2248 (grub_auth_strword): Likewise.
2249 (is_authenticated): Use grub_strword.
2250 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2251 and grub_strword. Pass entered password to authentication callback.
2252 * normal/crypto.c: New file.
2253 * normal/main.c: Call read_crypto_list.
2254 * util/grub-mkpasswd-pbkdf2.c: New file.
2255 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2256
2257 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 Fix descent and ascent calculation.
2260
2261 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2262 (options): New option "asce".
2263 (usage): Likewise.
2264 (add_char): Ignore invalid glyphs for descent calculation.
2265 Calculate ascent from actual content.
2266 (print_glyphs): Use 'asce'.
2267 (write_font): Likewise. Allow ascent override.
2268 (main): Handle "asce" option.
2269
2270 2010-01-06 Carles Pina i Estany <carles@pina.cat>
2271
2272 * kern/err.c: Include `<grub/i18n.h>'.
2273 (grub_print_error): Add full stop. Gettextizze.
2274 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2275 (grub_bsd_load_elf): Capitalise ELF.
2276 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2277 (grub_cmd_freebsd_module): Likewise.
2278 (grub_cmd_freebsd_module_elf): Likewise.
2279 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2280
2281 2010-01-06 Carles Pina i Estany <carles@pina.cat>
2282
2283 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2284 * commands/search_file.c (HELP_MESSAGE): New macro.
2285 * commands/search_label.c (HELP_MESSAGE): Likewise.
2286 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2287 * po/POTFILES: Add `commands/search_file.c',
2288 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2289 `commands/search.c'.
2290
2291 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2292
2293 * config.rpath: Update from Gnulib.
2294
2295 2010-01-05 Yves Blusseau <blusseau@zetam.org>
2296
2297 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2298
2299 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2300
2301 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2302
2303 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
2304
2305 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2306 arguments to fread so that we get a return value in bytes, rather
2307 than something that will normally be rounded down to 0.
2308 Adjust error handling to avoid producing garbage when size_t is not
2309 the same size as long long.
2310
2311 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
2312
2313 * util/mkisofs/write.c (padblock_write): Check return value of
2314 fread.
2315
2316 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2317
2318 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2319 floppy images now.
2320
2321 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2322
2323 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2324
2325 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2326 instead of manual alignment.
2327 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2328 verbose). Avoid attempts to read past end of the device
2329 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2330 but GRUB_DISK_CACHE_SIZE may exceed that).
2331
2332 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2333
2334 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2335 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2336 it to upper layer.
2337
2338 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2341 New constant.
2342 (grub_efi_piwg_device_path): New structure
2343 (grub_efi_piwg_device_path_t): New type.
2344 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2345 (devpath_1): Transform to a structure. All users updated.
2346 (devpath_2): Likewise.
2347 (devpath_3): Likewise.
2348 (devpath_4): Likewise.
2349 (devpath_5): Likewise.
2350
2351 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * loader/efi/appleloader.c: Restored. Update all users.
2354
2355 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2356
2357 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2358
2359 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2360 (struct boot_blocklist): Move from here ...
2361 * include/grub/i386/pc/boot.h [ASM_FILE]
2362 (struct grub_boot_blocklist): ... to here. Update all users.
2363 (setup): Only initialize `start' member of `first_block'
2364 structure. Add assert() calls to verify the other members.
2365
2366 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2367 (generate_image): Fix broken blocklist length initialization.
2368 Add assert() call to verify blocklist `segment' field.
2369
2370 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2371
2372 * loader/efi/appleloader.c: Remove. Update all users.
2373
2374 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2375
2376 * boot/i386/pc/boot.S: Update copyright year.
2377 * boot/i386/pc/cdboot.S: Likewise.
2378 * boot/i386/pc/diskboot.S: Likewise.
2379 * boot/i386/pc/lnxboot.S: Likewise.
2380 * boot/i386/pc/pxeboot.S: Likewise.
2381 * bus/pci.c: Likewise.
2382 * commands/cmp.c: Likewise.
2383 * commands/help.c: Likewise.
2384 * commands/hexdump.c: Likewise.
2385 * commands/i386/pc/halt.c: Likewise.
2386 * commands/i386/pc/play.c: Likewise.
2387 * commands/i386/pc/vbeinfo.c: Likewise.
2388 * commands/ls.c: Likewise.
2389 * commands/test.c: Likewise.
2390 * disk/dmraid_nvidia.c: Likewise.
2391 * disk/i386/pc/biosdisk.c: Likewise.
2392 * disk/ieee1275/nand.c: Likewise.
2393 * disk/ieee1275/ofdisk.c: Likewise.
2394 * disk/lvm.c: Likewise.
2395 * disk/raid.c: Likewise.
2396 * disk/raid6_recover.c: Likewise.
2397 * disk/scsi.c: Likewise.
2398 * fs/affs.c: Likewise.
2399 * fs/cpio.c: Likewise.
2400 * fs/ext2.c: Likewise.
2401 * fs/hfs.c: Likewise.
2402 * fs/iso9660.c: Likewise.
2403 * fs/ntfs.c: Likewise.
2404 * fs/sfs.c: Likewise.
2405 * fs/udf.c: Likewise.
2406 * fs/ufs.c: Likewise.
2407 * fs/xfs.c: Likewise.
2408 * gencmdlist.sh: Likewise.
2409 * genmk.rb: Likewise.
2410 * include/grub/disk.h: Likewise.
2411 * include/grub/efi/api.h: Likewise.
2412 * include/grub/efi/efi.h: Likewise.
2413 * include/grub/efi/pe32.h: Likewise.
2414 * include/grub/elf.h: Likewise.
2415 * include/grub/fs.h: Likewise.
2416 * include/grub/i386/at_keyboard.h: Likewise.
2417 * include/grub/i386/pc/memory.h: Likewise.
2418 * include/grub/i386/pc/vbe.h: Likewise.
2419 * include/grub/i386/pci.h: Likewise.
2420 * include/grub/i386/tsc.h: Likewise.
2421 * include/grub/ieee1275/ieee1275.h: Likewise.
2422 * include/grub/ntfs.h: Likewise.
2423 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2424 * include/grub/sparc64/libgcc.h: Likewise.
2425 * include/grub/symbol.h: Likewise.
2426 * include/grub/types.h: Likewise.
2427 * include/multiboot2.h: Likewise.
2428 * io/gzio.c: Likewise.
2429 * kern/device.c: Likewise.
2430 * kern/disk.c: Likewise.
2431 * kern/efi/efi.c: Likewise.
2432 * kern/efi/mm.c: Likewise.
2433 * kern/elf.c: Likewise.
2434 * kern/file.c: Likewise.
2435 * kern/i386/dl.c: Likewise.
2436 * kern/i386/pc/init.c: Likewise.
2437 * kern/i386/pc/startup.S: Likewise.
2438 * kern/ieee1275/ieee1275.c: Likewise.
2439 * kern/ieee1275/init.c: Likewise.
2440 * kern/main.c: Likewise.
2441 * kern/mm.c: Likewise.
2442 * kern/powerpc/dl.c: Likewise.
2443 * kern/sparc64/dl.c: Likewise.
2444 * kern/x86_64/dl.c: Likewise.
2445 * lib/hexdump.c: Likewise.
2446 * loader/efi/appleloader.c: Likewise.
2447 * loader/i386/ieee1275/linux.c: Likewise.
2448 * loader/i386/pc/chainloader.c: Likewise.
2449 * loader/i386/pc/linux.c: Likewise.
2450 * loader/i386/pc/multiboot2.c: Likewise.
2451 * loader/ieee1275/multiboot2.c: Likewise.
2452 * loader/multiboot2.c: Likewise.
2453 * loader/multiboot_loader.c: Likewise.
2454 * loader/powerpc/ieee1275/linux.c: Likewise.
2455 * normal/completion.c: Likewise.
2456 * normal/menu_entry.c: Likewise.
2457 * partmap/apple.c: Likewise.
2458 * util/grub.d/10_hurd.in: Likewise.
2459 * util/hostfs.c: Likewise.
2460 * video/readers/png.c: Likewise.
2461
2462 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
2463
2464 * include/grub/misc.h (GNUC_PREREQ): New macro.
2465 (ATTRIBUTE_ERROR): New macro.
2466 * include/grub/list.h (grub_bad_type_cast_real): Use
2467 ATTRIBUTE_ERROR.
2468
2469 2010-01-03 Carles Pina i Estany <carles@pina.cat>
2470
2471 * normal/menu_text.c (print_message): Change messages.
2472
2473 2010-01-03 Carles Pina i Estany <carles@pina.cat>
2474
2475 * normal/menu_entry.c (store_completion): Gettextizze.
2476
2477 2010-01-03 Carles Pina i Estany <carles@pina.cat>
2478
2479 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2480
2481 2010-01-03 Carles Pina i Estany <carles@pina.cat>
2482
2483 * po/POTFILES: Sort correctly.
2484
2485 2010-01-03 Carles Pina i Estany <carles@pina.cat>
2486
2487 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2488 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2489 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2490 full stop.
2491 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2492 summary. Gettextizze the strings.
2493 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2494 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2495 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2496 full stop.
2497 (GRUB_MOD_INIT): Remove command name from summary.
2498 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2499 summary.
2500 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2501 * term/i386/pc/serial.c (options): Add full stops.
2502 (GRUB_MOD_INIT): Remove command name from the summary.
2503
2504 2010-01-03 Carles Pina i Estany <carles@pina.cat>
2505
2506 * commands/acpi.c: Gettextizze help strings and/or options. Include
2507 `grub/i18n.h' if needed.
2508 * commands/blocklist.c: Likewise.
2509 * commands/boot.c: Likewise.
2510 * commands/cat.c: Likewise.
2511 * commands/cmp.c: Likewise.
2512 * commands/configfile.c: Likewise.
2513 * commands/crc.c: Likewise.
2514 * commands/date.c: Likewise.
2515 * commands/echo.c: Likewise.
2516 * commands/efi/fixvideo.c: Likewise.
2517 * commands/efi/loadbios.c: Likewise.
2518 * commands/gptsync.c: Likewise.
2519 * commands/halt.c: Likewise.
2520 * commands/handler.c: Likewise.
2521 * commands/hdparm.c: Likewise.
2522 * commands/hexdump.c: Likewise.
2523 * commands/i386/cpuid.c: Likewise.
2524 * commands/i386/pc/drivemap.c: Likewise.
2525 * commands/i386/pc/halt.c: Likewise.
2526 * commands/i386/pc/pxecmd.c: Likewise.
2527 * commands/i386/pc/vbeinfo.c: Likewise.
2528 * commands/i386/pc/vbetest.c: Likewise.
2529 * commands/ieee1275/suspend.c: Likewise.
2530 * commands/keystatus.c: Likewise.
2531 * commands/loadenv.c: Likewise.
2532 * commands/ls.c: Likewise.
2533 * commands/lsmmap.c: Likewise.
2534 * commands/lspci.c: Likewise.
2535 * commands/memrw.c: Likewise.
2536 * commands/minicmd.c: Likewise.
2537 * commands/parttool.c: Likewise.
2538 * commands/password.c: Likewise.
2539 * commands/probe.c: Likewise.
2540 * commands/read.c: Likewise.
2541 * commands/reboot.c: Likewise.
2542 * commands/search.c: Likewise.
2543 * commands/sleep.c: Likewise.
2544 * commands/test.c: Likewise.
2545 * commands/true.c: Likewise.
2546 * commands/usbtest.c: Likewise.
2547 * commands/videotest.c: Likewise.
2548 * commands/xnu_uuid.c: Likewise.
2549 * disk/loopback.c: Likewise.
2550 * hello/hello.c: Likewise.
2551 * loader/i386/bsd.c: Likewise.
2552 * term/i386/pc/serial.c: Likewise.
2553 * po/POTFILES: Add new files.
2554
2555 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
2556
2557 * term/i386/pc/at_keyboard.c
2558 (keyboard_controller_wait_untill_ready): Rename to ...
2559 (keyboard_controller_wait_until_ready): ... this. Update all users.
2560
2561 2010-01-01 Carles Pina i Estany <carles@pina.cat>
2562
2563 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2564 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2565 string using string width.
2566 * normal/menu_text.c (grub_print_message_indented): Use
2567 grub_print_spaces and not print_spaces.
2568 (print_timeout): Likewise.
2569 (print_spaces): Move to...
2570 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2571
2572 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2573
2574 Import from Gnulib.
2575
2576 * gnulib/getdelim.c: New file.
2577 * gnulib/getline.c: Likewise.
2578
2579 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2580
2581 * include/grub/list.h (grub_assert_fail): Removed.
2582 (grub_bad_type_cast_real): New function.
2583 (grub_bad_type_cast): New macro.
2584 (GRUB_AS_LIST): Use grub_bad_type_cast.
2585 (GRUB_AS_LIST_P): Likewise.
2586 (GRUB_AS_NAMED_LIST): Likewise.
2587 (GRUB_AS_NAMED_LIST_P): Likewise.
2588 (GRUB_AS_PRIO_LIST): Likewise.
2589 (GRUB_AS_PRIO_LIST_P): Likewise.
2590 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
2591
2592 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2595 Fix syntax error.
2596
2597 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2598
2599 * configure.ac: Check for TARGET_CFLAGS initialization before we
2600 initialize it ourselves (sigh).
2601 Move a few modifications to TARGET_CFLAGS to be unconditional
2602 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2603 eh_frame)
2604
2605 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2606 * term/i386/pc/at_keyboard.c
2607 (keyboard_controller_wait_untill_ready): Likewise.
2608 (keyboard_controller_led): Rename `led_status' paramter to avoid
2609 name conflict.
2610
2611 2009-12-28 Carles Pina i Estany <carles@pina.cat>
2612
2613 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2614 quotes.
2615
2616 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2619
2620 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * normal/menu_text.c (grub_print_message_indented): Prevent
2623 past-the-end-of-array dereference.
2624
2625 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2628 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2629
2630 2009-12-27 Carles Pina i Estany <carles@pina.cat>
2631
2632 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2633 * normal/main.c (grub_normal_read_line): Remove a space from the
2634 default prompt.
2635
2636 2009-12-27 Carles Pina i Estany <carles@pina.cat>
2637
2638 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2639 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2640 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2641 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2642 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2643 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2644 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2645
2646 2009-12-26 Carles Pina i Estany <carles@pina.cat>
2647
2648 * video/readers/jpeg.c (cmd): Declare.
2649 (grub_cmd_jpegtest): Use `grub_command_t' type.
2650 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2651 Assign to `cmd'.
2652 (GRUB_MOD_FINI): Use `cmd' to unregister.
2653 * video/readers/png.c (cmd): Declare.
2654 (grub_cmd_pngtest): Use `grub_command_t' type.
2655 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2656 Assign to `cmd'.
2657 (GRUB_MOD_FINI): Use `cmd' to unregister.
2658 * video/readers/tga.c (cmd): Declare.
2659 (grub_cmd_tgatest): Use `grub_command_t' type.
2660 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2661 Assign to `cmd'.
2662 (GRUB_MOD_FINI): Use `cmd' to unregister.
2663
2664 2009-12-26 Carles Pina i Estany <carles@pina.cat>
2665
2666 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2667 stops.
2668 * kern/corecmd.c (grub_register_core_commands): Likewise.
2669 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2670 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2671 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2672 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2673 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2674 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2675 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2676 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2677 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2678 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2679 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2680 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2681 * normal/handler.c (insert_handler): Likewise.
2682 * normal/main.c (GRUB_MOD_INIT): Likewise.
2683 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2684
2685 2009-12-26 Carles Pina i Estany <carles@pina.cat>
2686
2687 * commands/help.c (grub_cmd_help): Print the command name before the
2688 summary.
2689 (GRUB_MOD_INIT): Remove command name from the summary.
2690 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
2691 string as summary.
2692 * lib/arg.c (find_long): Print the command name before the summary.
2693 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2694 summary.
2695 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2696 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2697 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2698 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2699 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2700 * commands/date.c (GRUB_MOD_INIT): Likewise.
2701 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2702 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2703 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2704 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2705 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2706 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2707 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2708 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2709 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2710 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2711 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2712 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2713 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2714 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2715 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2716 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2717 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2718 * commands/password.c (GRUB_MOD_INIT): Likewise.
2719 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2720 * commands/read.c (GRUB_MOD_INIT): Likewise.
2721 * commands/search.c (GRUB_MOD_INIT): Likewise.
2722 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2723 * commands/test.c (GRUB_MOD_INIT): Likewise.
2724 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2725 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2726 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2727 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2728 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2729 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2730 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2731 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2732 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2733 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2734 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2735 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2736 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2737 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2738
2739 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Use search command for preliminar UUID search.
2742
2743 * commands/search.c: Split into ...
2744 * commands/search_wrap.c: ...this
2745 * commands/search.c: ...and this.
2746 * commands/search_file.c: New file.
2747 * commands/search_label.c: New file.
2748 * commands/search_uuid.c: New file.
2749 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2750 Add commands/search_wrap.c, commands/search_file.c,
2751 commands/search_label.c and commands/search_uuid.c.
2752 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2753 (search_mod_SOURCES): Set to commands/search_wrap.c.
2754 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2755 search_label.mod.
2756 (search_fs_file_mod_SOURCES): New variable.
2757 (search_fs_file_mod_CFLAGS): Likewise.
2758 (search_fs_file_mod_LDFLAGS): Likewise.
2759 (search_label_mod_SOURCES): Likewise.
2760 (search_label_mod_CFLAGS): Likewise.
2761 (search_label_mod_LDFLAGS): Likewise.
2762 (search_fs_uuid_mod_SOURCES): New variable.
2763 (search_fs_uuid_mod_CFLAGS): Likewise.
2764 (search_fs_uuid_mod_LDFLAGS): Likewise.
2765 (fs_file_mod_SOURCES): Removed.
2766 (fs_file_mod_CFLAGS): Likewise.
2767 (fs_file_mod_LDFLAGS): Likewise.
2768 (fs_uuid_mod_SOURCES): Removed.
2769 (fs_uuid_mod_CFLAGS): Likewise.
2770 (fs_uuid_mod_LDFLAGS): Likewise.
2771 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2772 Set to util/grub-install.in.
2773 * disk/fs_file.c: Removed.
2774 * disk/fs_uuid.c: Likewise.
2775 * include/grub/search.h: New file.
2776 * util/grub-install.in: Handle sparc64.
2777 Create and use load.cfg.
2778 * util/sparc64/ieee1275/grub-install.in: Removed.
2779
2780 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2783 Ignore return status if CF is cleared.
2784 (grub_biosdisk_get_diskinfo_standard): Likewise.
2785
2786 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2787
2788 * term/i386/pc/at_keyboard.c
2789 (keyboard_controller_wait_untill_ready): New function.
2790 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2791 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2792 for keyboard polling, rather than duplicate the same loop. This
2793 saves a few bytes in code size.
2794
2795 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 Support for (pxe[:server[:gateway]]) syntax and
2798 use environment variable for PXE.
2799
2800 * commands/i386/pc/pxecmd.c (options): Removed.
2801 (print_ip): Removed.
2802 (grub_cmd_pxe): Removed
2803 (grub_cmd_pxe_unload): New function.
2804 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2805 (grub_pxe_your_ip): Made static.
2806 (grub_pxe_default_server_ip): Likewise.
2807 (grub_pxe_default_gateway_ip): Likewise.
2808 (grub_pxe_blksize): Likewise.
2809 (parse_ip): New function.
2810 (grub_pxe_open): Support server and gateway specification.
2811 (grub_pxe_close): Free disk->data.
2812 (grub_pxefs_open): Use disk->data.
2813 (grub_pxefs_read): Likewise.
2814 (grub_env_write_readonly): New function.
2815 (set_mac_env): Likewise.
2816 (set_env_limn_ro): Likewise.
2817 (parse_dhcp_vendor): Likewise.
2818 (grub_pxe_detect): Set the environment variables.
2819 (set_ip_env): New function.
2820 (write_ip_env): Likewise.
2821 (grub_env_write_pxe_default_server): Likewise.
2822 (grub_env_write_pxe_default_gateway): Likewise.
2823 (grub_env_write_pxe_blocksize): Likewise.
2824 (GRUB_MOD_INIT(pxe)): Set environment variables.
2825 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2826 (grub_pxe_mac_addr_t): ... this. All users updated.
2827 (grub_pxe_your_ip): Removed.
2828 (grub_pxe_server_ip): Likewise.
2829 (grub_pxe_gateway_ip): Likewise.
2830 (grub_pxe_blksize): Likewise.
2831
2832 2009-12-25 Carles Pina i Estany <carles@pina.cat>
2833
2834 * commands/help.c: Include `<grub/i18n.h>'.
2835 (grub_cmd_help): Gettextizze.
2836 (GRUB_MOD_INIT): Likewise.
2837 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2838 (GRUB_MOD_INIT): Gettextizze.
2839 * commands/search.c: Include `<grub/i18n.h>'.
2840 (options): Gettextizze.
2841 (GRUB_MOD_INIT): Gettextizze.
2842 * lib/arg.c: Include `<grub/i18n.h>'.
2843 (help_options): Gettextizze.
2844 (find_long): Likewise.
2845 (grub_arg_show_help): Likewise.
2846 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2847 (read_command_list): Gettextizze.
2848 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
2849 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
2850
2851 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2852
2853 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2854 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2855 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2856 (led_status): New variable.
2857 (keyboard_controller_led): New function.
2858 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2859 update led status for caps lock, num lock and scroll lock.
2860
2861 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
2862
2863 * util/hostdisk.c (open_device): Fix a comment.
2864
2865 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2866
2867 * util/grub-install.in (host_os): New variable.
2868 * util/i386/efi/grub-install.in (host_os): Likewise.
2869
2870 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2871
2872 * util/mkisofs/write.c (padblock_write): Abort when given an
2873 excedingly large embed image, instead of silently truncating it.
2874
2875 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2876
2877 * include/multiboot.h: Indentation fixes.
2878
2879 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2880
2881 * include/multiboot.h (struct multiboot_aout_symbol_table)
2882 (struct multiboot_elf_section_header_table): New structure
2883 declarations (stolen from GRUB Legacy).
2884 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2885 table information.
2886
2887 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2888 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2889 type aliases.
2890
2891 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2892
2893 * include/multiboot.h: Make comments src2texi-friendly.
2894
2895 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2896
2897 For consistency with [multiboot]/docs/boot.S.
2898
2899 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2900 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2901 (MULTIBOOT_MAGIC2): Rename from this ...
2902 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2903
2904 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2905
2906 * include/multiboot.h: Remove `<grub/types.h>'.
2907 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2908 types. Update all users.
2909
2910 2009-12-25 Carles Pina i Estany <carles@pina.cat>
2911
2912 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2913 `couldn't' and `can not' by `cannot'.
2914 * commands/i386/pc/drivemap.c: Likewise.
2915 * disk/ata.c: Likewise.
2916 * disk/ieee1275/nand.c: Likewise.
2917 * fs/affs.c: Likewise.
2918 * fs/fat.c: Likewise.
2919 * fs/hfs.c: Likewise.
2920 * fs/hfsplus.c: Likewise.
2921 * fs/iso9660.c: Likewise.
2922 * fs/jfs.c: Likewise.
2923 * fs/minix.c: Likewise.
2924 * fs/reiserfs.c: Likewise.
2925 * fs/sfs.c: Likewise.
2926 * fs/udf.c: Likewise.
2927 * fs/ufs.c: Likewise.
2928 * fs/xfs.c: Likewise.
2929 * loader/powerpc/ieee1275/linux.c: Likewise.
2930 * loader/sparc64/ieee1275/linux.c: Likewise.
2931 * util/grub-probe.c: Likewise.
2932 * util/misc.c: Likewise.
2933
2934 2009-12-24 Carles Pina i Estany <carles@pina.cat>
2935
2936 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2937 grub_errno calls.
2938 * commands/acpi.c: Likewise.
2939 * commands/blocklist.c: Likewise.
2940 * commands/efi/loadbios.c: Likewise.
2941 * commands/i386/pc/drivemap.c: Likewise.
2942 * commands/loadenv.c: Likewise.
2943 * commands/memrw.c: Likewise.
2944 * commands/password.c: Likewise.
2945 * commands/videotest.c: Likewise.
2946 * disk/ata.c: Likewise.
2947 * disk/ata_pthru.c: Likewise.
2948 * disk/dmraid_nvidia.c: Likewise.
2949 * disk/ieee1275/nand.c: Likewise.
2950 * disk/ieee1275/ofdisk.c: Likewise.
2951 * disk/loopback.c: Likewise.
2952 * disk/lvm.c: Likewise.
2953 * disk/mdraid_linux.c: Likewise.
2954 * disk/raid.c: Likewise.
2955 * disk/raid6_recover.c: Likewise.
2956 * disk/scsi.c: Likewise.
2957 * efiemu/main.c: Likewise.
2958 * efiemu/mm.c: Likewise.
2959 * efiemu/pnvram.c: Likewise.
2960 * efiemu/symbols.c: Likewise.
2961 * font/font.c: Likewise.
2962 * fs/cpio.c: Likewise.
2963 * fs/hfsplus.c: Likewise.
2964 * fs/iso9660.c: Likewise.
2965 * fs/jfs.c: Likewise.
2966 * fs/minix.c: Likewise.
2967 * fs/ntfs.c: Likewise.
2968 * fs/ntfscomp.c: Likewise.
2969 * fs/reiserfs.c: Likewise.
2970 * fs/ufs.c: Likewise.
2971 * fs/xfs.c: Likewise.
2972 * gettext/gettext.c: Likewise.
2973 * include/grub/auth.h: Likewise.
2974 * kern/elf.c: Likewise.
2975 * kern/file.c: Likewise.
2976 * kern/ieee1275/init.c: Likewise.
2977 * kern/ieee1275/mmap.c: Likewise.
2978 * kern/ieee1275/openfw.c: Likewise.
2979 * kern/powerpc/dl.c: Likewise.
2980 * kern/sparc64/dl.c: Likewise.
2981 * lib/arg.c: Likewise.
2982 * loader/i386/bsd.c: Likewise.
2983 * loader/i386/bsdXX.c: Likewise.
2984 * loader/i386/efi/linux.c: Likewise.
2985 * loader/i386/efi/xnu.c: Likewise.
2986 * loader/i386/ieee1275/linux.c: Likewise.
2987 * loader/i386/linux.c: Likewise.
2988 * loader/i386/multiboot.c: Likewise.
2989 * loader/i386/pc/linux.c: Likewise.
2990 * loader/i386/pc/multiboot2.c: Likewise.
2991 * loader/i386/xnu.c: Likewise.
2992 * loader/ieee1275/multiboot2.c: Likewise.
2993 * loader/macho.c: Likewise.
2994 * loader/machoXX.c: Likewise.
2995 * loader/multiboot2.c: Likewise.
2996 * loader/multiboot_loader.c: Likewise.
2997 * loader/powerpc/ieee1275/linux.c: Likewise.
2998 * loader/sparc64/ieee1275/linux.c: Likewise.
2999 * loader/xnu.c: Likewise.
3000 * loader/xnu_resume.c: Likewise.
3001 * mmap/i386/pc/mmap.c: Likewise.
3002 * normal/menu_viewer.c: Likewise.
3003 * partmap/acorn.c: Likewise.
3004 * partmap/amiga.c: Likewise.
3005 * partmap/apple.c: Likewise.
3006 * script/lexer.c: Likewise.
3007 * term/gfxterm.c: Likewise.
3008 * term/i386/pc/serial.c: Likewise.
3009 * term/i386/pc/vga.c: Likewise.
3010 * term/ieee1275/ofconsole.c: Likewise.
3011 * term/terminfo.c: Likewise.
3012 * video/bitmap.c: Likewise.
3013 * video/efi_gop.c: Likewise.
3014 * video/efi_uga.c: Likewise.
3015 * video/fb/video_fb.c: Likewise.
3016 * video/i386/pc/vbe.c: Likewise.
3017 * video/readers/tga.c: Likewise.
3018 * video/video.c: Likewise.
3019
3020 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
3021
3022 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
3023 * commands/lspci.c: Likewise.
3024 * commands/probe.c: Likewise.
3025 * commands/xnu_uuid.c: Likewise.
3026 * conf/i386-coreboot.rmk: Likewise.
3027 * conf/i386-efi.rmk: Likewise.
3028 * conf/i386-ieee1275.rmk: Likewise.
3029 * conf/i386-pc.rmk: Likewise.
3030 * conf/powerpc-ieee1275.rmk: Likewise.
3031 * conf/sparc64-ieee1275.rmk: Likewise.
3032 * conf/x86_64-efi.rmk: Likewise.
3033 * fs/i386/pc/pxe.c: Likewise.
3034 * gettext/gettext.c: Likewise.
3035 * include/grub/efi/graphics_output.h: Likewise.
3036 * include/grub/i386/pc/memory.h: Likewise.
3037 * kern/env.c: Likewise.
3038 * kern/i386/qemu/startup.S: Likewise.
3039 * lib/i386/pc/biosnum.c: Likewise.
3040 * lib/i386/relocator.c: Likewise.
3041 * lib/i386/relocator_asm.S: Likewise.
3042 * lib/relocator.c: Likewise.
3043 * loader/i386/bsd.c: Likewise.
3044 * loader/i386/multiboot.c: Likewise.
3045 * loader/i386/pc/chainloader.c: Likewise.
3046 * loader/i386/xnu.c: Likewise.
3047 * loader/xnu.c: Likewise.
3048 * normal/main.c: Likewise.
3049 * normal/menu_text.c: Likewise.
3050 * util/getroot.c: Likewise.
3051 * util/grub-mkconfig_lib.in: Likewise.
3052 * util/grub.d/00_header.in: Likewise.
3053 * util/i386/pc/grub-mkimage.c: Likewise.
3054 * util/mkisofs/eltorito.c: Likewise.
3055 * util/mkisofs/exclude.h: Likewise.
3056 * util/mkisofs/hash.c: Likewise.
3057 * util/mkisofs/iso9660.h: Likewise.
3058 * util/mkisofs/joliet.c: Likewise.
3059 * util/mkisofs/mkisofs.c: Likewise.
3060 * util/mkisofs/mkisofs.h: Likewise.
3061 * util/mkisofs/multi.c: Likewise.
3062 * util/mkisofs/name.c: Likewise.
3063 * util/mkisofs/rock.c: Likewise.
3064 * util/mkisofs/tree.c: Likewise.
3065 * util/mkisofs/write.c: Likewise.
3066 * video/efi_gop.c: Likewise.
3067
3068 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
3071 size counting.
3072
3073 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
3074
3075 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3076 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3077
3078 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3081 (GRUB_MOD_INIT(memrw)): Update help line.
3082
3083 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3086 Use grub_extcmd_t. All users updated.
3087 (options): New variable.
3088 (grub_cmd_read): Restructure for readability. Support "-v" option.
3089 (grub_cmd_write): Restructure for readability.
3090
3091 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
3092
3093 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3094
3095 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
3096
3097 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3098 with the actual contents of the correspondending make variable.
3099 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3100 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3101 specifying `*.lst' and `efiemu??.o'
3102
3103 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
3104
3105 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3106 after function name.
3107 Noticed by Rene Engelhard <rene@debian.org>.
3108
3109 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3112 (options): New variable.
3113 (iospace): Likewise.
3114 (grub_lspci_iter): List IO spaces if "-i" was given.
3115 (grub_cmd_lspci): Parse options.
3116 (GRUB_MOD_INIT(lspci)): Use extcmd.
3117 (GRUB_MOD_FINI(lspci)): Likewise.
3118
3119 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
3120
3121 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3122 `function' keyword.
3123 Patch by Tony Mancill <tmancill@debian.org>.
3124
3125 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3128 (grub_uhci_portstatus): Likewise.
3129 (grub_uhci_portstatus): Add necessary delay.
3130 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
3131
3132 2009-12-21 Carles Pina i Estany <carles@pina.cat>
3133
3134 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3135 (GRUB_MOD_INIT): Likewise.
3136 * commands/boot.c (GRUB_MOD_INIT): Likewise.
3137 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3138 * commands/echo.c (options): Fix capitalizations and/or full stops.
3139 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3140 (enable_rom_area): Likewise.
3141 (GRUB_MOD_INIT): Likewise.
3142 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3143 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3144 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3145 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3146 * commands/hexdump.c (options): Likewise.
3147 * commands/i386/cpuid.c (options): Likewise.
3148 (GRUB_MOD_INIT): Likewise.
3149 * commands/i386/pc/drivemap.c (options): Likewise.
3150 (GRUB_MOD_INIT): Likewise.
3151 * commands/i386/pc/halt (options): Likewise.
3152 (GRUB_MOD_INIT): Likewise.
3153 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3154 * commands/i386/pc/pxecmd.c (options): Likewise.
3155 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3156 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3157 * commands/keystatus.c (options): Likewise.
3158 (GRUB_MOD_INIT): Likewise.
3159 * commands/loadenv.c (options): Likewise.
3160 * commands/ls.c (options): Likewise.
3161 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3162 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3163 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3164 * commands/parttool.c (helpmsg): Likewise.
3165 * commands/probe.c (options): Likewise.
3166 * commands/read.c (GRUB_MOD_INIT): Likewise.
3167 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3168 * commands/search.c (options): Likewise.
3169 * commands/sleep.c (options): Likewise.
3170 * commands/test.c (GRUB_MOD_INIT): Likewise.
3171 * commands/true.c (GRUB_MOD_INIT): Likewise.
3172 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3173 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3174 * lib/arg.c (help_options): Likewise.
3175 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3176 `$(XGETTEXT)'.
3177 * po/POTFILES: Add `commands/loadenv.c'.
3178
3179 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
3180
3181 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
3182 instead of specifying them explicit.
3183
3184 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3185
3186 * NEWS: Add grub-probe support for GNU/Hurd.
3187
3188 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3189
3190 * NEWS: gettext was added after 1.97.
3191
3192 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3193
3194 * util/mkisofs/msdos_partition.h: New file (based on
3195 include/grub/msdos_partition.h).
3196 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3197 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3198 (ld_options, main): Recognize --protective-msdos-label.
3199 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3200 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3201 (padblock_write): If `use_protective_msdos_label' is set, patch a
3202 protective DOS-style label in the output image.
3203
3204 * util/grub-mkrescue.in: Use --protective-msdos-label.
3205
3206 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3207
3208 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3209 boot.
3210
3211 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3212
3213 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3214 variables.
3215 (ld_options, main): Recognize `--embedded-boot'.
3216 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3217 declarations.
3218 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3219 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3220 (padblock_write): Likewise. Rewrite to support embedded boot image.
3221
3222 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3223 for BIOS-based disk boot instead of only ElTorito.
3224
3225 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3226
3227 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3228 build (not needed for bootstrap).
3229
3230 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3231
3232 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3233 from i386-pc build (not needed for bootstrap).
3234 Rewrite a pair of strings.
3235
3236 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3237
3238 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3239
3240 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3243
3244 2009-12-21 Andreas Born <futur.andy@googlemail.com>
3245
3246 * kern/env.c (grub_env_context_open): Mark exported variable for
3247 reexport.
3248
3249 2009-12-21 Andreas Born <futur.andy@googlemail.com>
3250
3251 * kern/env.c (grub_env_export): Create nonexistent variables before
3252 exporting.
3253
3254 2009-12-20 Carles Pina i Estany <carles@pina.cat>
3255
3256 * include/grub/auth.h: Include `<grub/i18n.h>'.
3257 (GRUB_GET_PASSWORD): Gettextizze string.
3258 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3259 menu_text.c.
3260 (grub_utf8_to_ucs4_alloc): Fix indentation.
3261 (grub_print_ucs4): Likewise.
3262 (grub_getstringwidth): Likewise.
3263 (print_message_indented): New declaration.
3264 * normal/auth.c: Include `<grub/i18n.h>'.
3265 (grub_auth_check_authentication): Gettexttize string.
3266 * normal/cmdline.c: Include `<grub/i18n.h>'.
3267 (grub_cmdline_get): Gettextizze.
3268 * normal/color.c: Include `<grub/i18n.h>'.
3269 (grub_parse_color_name_pair): Gettexttize strings.
3270 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3271 string (use `print_message_indented').
3272 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3273 `include/grub/normal.h'.
3274 (print_message_indented): Renamed to ...
3275 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3276 used in normal/main.c).
3277 (print_message): Use `grub_print_message_indented' instead of
3278 `print_message_indented'.
3279 (print_timeout): Likewise.
3280 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3281 (grub_normal_print_device_info): Gettexttize strings.
3282 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3283
3284 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3287 of arguments. Return number of tokens and not arguments. All users
3288 updated.
3289
3290 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3293 non-MSDOS paritions.
3294
3295 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * include/grub/types.h (UNUSED): Removed since it conflicts with
3298 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3299 Reported by Grégoire Sutre.
3300
3301 2009-12-19 Carles Pina i Estany <carles@pina.cat>
3302
3303 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3304 (grub_print_ucs4_alloc): Likewise.
3305 (grub_getstringwidth): Likewise.
3306 * normal/main.c (grub_normal_init_page): Gettextize version string.
3307 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3308 (getstringwidth): Renamed to ...
3309 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3310 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3311 (grub_print_ucs4): Remove `static' qualifer (now used in
3312 normal/main.c).
3313 * po/POTFILES: Add normal/main.c.
3314
3315 2009-12-19 Carles Pina i Estany <carles@pina.cat>
3316
3317 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3318 (print_message_indented): Add `margin_left' and `margin_right'
3319 parameters.
3320 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3321 strings.
3322 (print_timeout): Use `print_message_indented' to print the message.
3323 Deletes `second_stage' parameter.
3324 (run_menu): Update `print_timeout' calls.
3325
3326 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Fix console palette on OpenFirmware.
3329
3330 * term/ieee1275/ofconsole.c (MAX): Removed.
3331 (colors): Redone based on VGA palette.
3332 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3333 colors are supported.
3334 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3335
3336 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 Fix potential EfiEmu double prepare.
3339
3340 * efiemu/main.c (prepared): New variable
3341 (grub_efiemu_unload): Set prepare to '0'.
3342 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3343
3344 set_virtual_address_map support.
3345
3346 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3347 prototype.
3348 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3349 prototype.
3350 (grub_efiemu_crc32): Likewise.
3351 (grub_efiemu_crc64): Likewise.
3352 (grub_efiemu_set_virtual_address_map): Likewise.
3353 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3354 New definition.
3355 (grub_autoefi_set_virtual_address_map): Likewise.
3356 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3357 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3358 Restructure flow to accomodate it.
3359 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3360 (grub_efiemu_crc): Recompute CRC32.
3361 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3362 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3363 * efiemu/symbols.c (relocated_handle): New variable.
3364 (grub_efiemu_free_syms): Free relocated_handle.
3365 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3366 (grub_efiemu_write_sym_markers): New function.
3367 (grub_efiemu_set_virtual_address_map): Likewise.
3368
3369 Newer XNU parameters.
3370
3371 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3372 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3373 (grub_xnu_fill_devicetree): New prototype.
3374 (grub_xnu_heap_real_start): New variable.
3375 * loader/xnu.c (get_name_ptr): New function.
3376 (grub_xnu_load_driver): Fill namelen and name.
3377
3378 64-bit xnu support.
3379
3380 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3381 and 'loader/macho64.c'.
3382 * conf/i386-pc.rmk: Likewise.
3383 * conf/x86_64-efi.rmk: Likewise.
3384 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3385 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3386 * include/grub/macho.h (grub_macho_segment64): New structure.
3387 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3388 (grub_macho_size32): ... to this.
3389 (grub_macho32_get_entry_point): Renamed from ...
3390 (grub_macho_get_entry_point32): ... to this.
3391 (grub_macho_contains_macho64): New prototype.
3392 (grub_macho_size64): Likewise.
3393 (grub_macho_get_entry_point64): Likewise.
3394 (grub_macho32_load): Renamed from ...
3395 (grub_macho_load32): ... to this.
3396 (grub_macho32_filesize): Renamed from ...
3397 (grub_macho_filesize32): ... to this.
3398 (grub_macho32_readfile): Renamed from ...
3399 (grub_macho_readfile32): ... to this.
3400 (grub_macho_filesize64): New prototype.
3401 (grub_macho_readfile64): Likewise.
3402 (grub_macho_parse32): Likewise.
3403 (grub_macho_parse64): Likewise.
3404 * loader/macho.c: Split into ...
3405 * loader/machoXX.c: ... and this. Replace 32 with XX.
3406 * loader/macho32.c: New file.
3407 * loader/macho64.c: Likewise.
3408 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3409 (grub_cmd_xnu_kernel): Make 32-bit only.
3410 (grub_cmd_xnu_kernel64): New function.
3411 (grub_xnu_load_driver): Support Mach-O 64.
3412 (grub_cmd_xnu_mkext): Likewise.
3413 * util/grub.d/30_os-prober.in (osx_entry): New function.
3414 Generate entries for 64-bit boot too.
3415
3416 Eliminate ad-hoc tree format in XNU and EfiEmu.
3417
3418 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3419 * efiemu/pnvram.c: Rewritten to use environment variables.
3420 All users updated.
3421
3422 Inline utf16_to_utf8.
3423
3424 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3425 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3426 All users updated.
3427 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3428
3429 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3430 * commands/usbtest.c (grub_usb_get_string): ... move here.
3431 (usb_print_str): Fix error handling.
3432 * include/grub/usb.h (grub_usb_get_string): Remove.
3433
3434 UTF-8 to UTF-16 transformation.
3435
3436 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3437 (charset_mod_SOURCES): New variable.
3438 (charset_mod_CFLAGS): Likewise.
3439 (charset_mod_LDFLAGS): Likewise.
3440 * include/grub/utf.h: New file.
3441 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3442
3443 Support for device properties.
3444
3445 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3446 (grub_xnu_devprop_device_header): Likewise.
3447 (grub_xnu_devprop_device_descriptor): Likewise.
3448 (grub_xnu_devprop_add_device): New prototype.
3449 (grub_xnu_devprop_remove_device): Likewise.
3450 (grub_xnu_devprop_remove_property): Likewise.
3451 (grub_xnu_devprop_add_property_utf8): Likewise.
3452 (grub_xnu_devprop_add_property_utf16): Likewise.
3453 (grub_cpu_xnu_init): Likewise.
3454 (grub_cpu_xnu_fini): Likewise.
3455 (grub_cpu_xnu_unload): Likewise.
3456 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3457 (property_descriptor): Likewise.
3458 (devices): New variable.
3459 (grub_xnu_devprop_remove_property): New function.
3460 (grub_xnu_devprop_add_device): Likewise.
3461 (grub_xnu_devprop_remove_device): Likewise.
3462 (grub_xnu_devprop_add_property): Likewise.
3463 (grub_xnu_devprop_add_property_utf8): Likewise.
3464 (grub_xnu_devprop_add_property_utf16): Likewise.
3465 (hextoval): Likewise.
3466 (grub_cpu_xnu_fill_devprop): Likewise.
3467 (grub_cmd_devprop_load): Likewise.
3468 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3469 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3470 (cmd_devprop_load): New variable.
3471 (grub_cpu_xnu_init): New function.
3472 (grub_cpu_xnu_fini): Likewise.
3473 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3474 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3475 (grub_cmd_xnu_devtree): Likewise.
3476 (hextoval): New function.
3477 (unescape): Likewise.
3478 (grub_xnu_fill_devicetree): Likewise.
3479
3480 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3481 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3482
3483 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 Workaround for broken ATI VBE.
3486
3487 * video/i386/pc/vbe.c (last_set_mode): New variable.
3488 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3489 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3490 (grub_video_vbe_setup): Don't check for reserved flag.
3491
3492 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
3493
3494 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3495 the `find' command.
3496
3497 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 UUID support for HFS.
3500
3501 * fs/hfs.c (grub_hfs_uuid): New function.
3502 (grub_hfs_fs): New value .uuid.
3503 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3504
3505 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
3506
3507 Fix a segfault with parsing unknown long options.
3508
3509 * util/grub-mkrelpath.c (options): Zero terminate it.
3510
3511 2009-12-13 Carles Pina i Estany <carles@pina.cat>
3512
3513 * include/grub/misc.h (grub_puts): New declaration.
3514 (grub_puts_): Likewise.
3515 * kern/misc.c (grub_puts): New definition.
3516 (grub_puts_): Likewise.
3517
3518 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3519
3520 * util/grub-probe.c (probe): Improve error message.
3521
3522 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3523
3524 * loader/i386/multiboot_elfxx.c
3525 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3526 initialization.
3527
3528 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Relocator framework
3531
3532 * loader/i386/xnu_helper.S: Removed. All users updated.
3533 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3534 (relocator_mod_SOURCES): New variable.
3535 (relocator_mod_CFLAGS): Likewise.
3536 (relocator_mod_LDFLAGS): Likewise.
3537 (relocator_mod_ASFLAGS): Likewise.
3538 * conf/x86_64.rmk: Likewise.
3539 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3540 (grub_multiboot_payload_entry_offset): Likewise.
3541 (grub_multiboot_forward_relocator): Likewise.
3542 (grub_multiboot_forward_relocator_end): Likewise.
3543 (grub_multiboot_backward_relocator): Likewise.
3544 (grub_multiboot_backward_relocator_end): Likewise.
3545 (grub_multiboot_payload_eip): New variable.
3546 (grub_multiboot_payload_orig): Likewise.
3547 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3548 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3549 * include/grub/i386/memory.h
3550 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3551 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3552 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3553 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3554 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3555 * include/grub/i386/relocator.h: New file.
3556 * include/grub/x86_64/relocator.h: Likewise.
3557 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3558 (XNU_RELOCATOR): New macro.
3559 (grub_xnu_launcher_start): Remove.
3560 (grub_xnu_launcher_end): Likewise.
3561 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3562 (grub_xnu_heap_real_start): Remove.
3563 (grub_xnu_heap_start): Change to void *. All users updated.
3564 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3565 * lib/i386/relocator.c: New file.
3566 * lib/i386/relocator_asm.S: Likewise.
3567 * lib/i386/relocator_backward.S: Likewise.
3568 * lib/mips/relocator.c: Likewise.
3569 * lib/mips/relocator_asm.S: Likewise.
3570 * lib/relocator.c: Likewise.
3571 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3572 (entry): Removed.
3573 (playground): Likewise.
3574 (grub_multiboot_payload_orig): New variable.
3575 (grub_multiboot_payload_dest): Likewise.
3576 (grub_multiboot_payload_size): Likewise.
3577 (grub_multiboot_payload_eip): Likewise.
3578 (grub_multiboot_payload_esp): Likewise.
3579 (grub_multiboot_boot): Use grub_relocator32_boot.
3580 (grub_multiboot_unload): Free relocators.
3581 (grub_multiboot): Setup stack. Use relocators.
3582 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3583 (grub_multiboot_load_elfXX): Use relocators.
3584 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3585 (grub_multiboot_payload_size): Likewise.
3586 (grub_multiboot_payload_dest): Likewise.
3587 (grub_multiboot_payload_entry_offset): Likewise.
3588 (grub_multiboot_forward_relocator): Likewise.
3589 (grub_multiboot_backward_relocator): Likewise.
3590 (grub_multiboot_real_boot): Likewise.
3591 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3592 (grub_xnu_entry_point): Likewise.
3593 (grub_xnu_arg1): Likewise.
3594 (grub_xnu_stack): Likewise.
3595 (grub_xnu_launch): Removed.
3596 (grub_xnu_boot_resume): New function.
3597 (grub_xnu_boot): Use relocators.
3598 * loader/i386/xnu_helper.S: Removed.
3599 * loader/xnu.c (grub_xnu_heap_start): New variable.
3600 (grub_xnu_heap_size): Likewise.
3601 (grub_xnu_heap_malloc): Use relocators.
3602 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3603
3604 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3607 anything.
3608
3609 2009-12-13 Carles Pina i Estany <carles@pina.cat>
3610
3611 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3612 GRUB_ERR_NONE before calling grub_env_set.
3613
3614 2009-12-12 Robert Millan <rmh@aybabtu.com>
3615
3616 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3617 * genmk.rb (video): New variable.
3618 (CLEANFILES, VIDEOFILES): Add #{video}.
3619 (#{video}): New target rule.
3620 * genvideolist.sh: New file.
3621 * Makefile.in (pkglib_DATA): Add video.lst.
3622 (video.lst): New target rule.
3623 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3624 `video.lst'.
3625 * util/grub.d/30_os-prober.in: Replace `vbe' with
3626 ${GRUB_VIDEO_BACKEND}.
3627
3628 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3629
3630 * THANKS: Add David Miller.
3631
3632 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 libpciaccess support.
3635
3636 * Makefile.in (LIBPCIACCESS): New variable.
3637 (enable_grub_emu_pci): Likewise.
3638 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3639 util/pci.c and commands/lspci.c.
3640 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3641 * configure.ac (grub-emu-pci): New option.
3642 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3643 (grub_pci_device_unmap_range): Likewise.
3644 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3645 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3646 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3647 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3648 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3649 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3650 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3651 * include/grub/pciutils.h: New file.
3652 * util/pci.c: Likewise.
3653
3654 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
3655
3656 * util/misc.c: Don't include <errno.h> twice.
3657
3658 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
3659
3660 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3661 name in an error message.
3662 (grub_biosdisk_rw): Likewise.
3663
3664 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 Eliminate NTFS 4Gib barrier.
3667
3668 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3669 (read_run_data): Likewise.
3670 (grub_ntfs_read_run_list): Likewise.
3671 (grub_ntfs_read_block): Likewise.
3672 (grub_ntfs_iterate_dir): Likewise.
3673 (read_mft): Likewise.
3674 (read_data): Likewise.
3675 Use COM_LOG_LEN.
3676 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3677 to avoid 64-bit division
3678 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3679 (grub_ntfs_rlst): Use grub_disk_addr_t.
3680
3681 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Eliminate grub-fstest 4Gib barrier.
3684
3685 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3686 (read_file): Fix error reporting.
3687
3688 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 Eliminate hexdump 4Gib barrier.
3691
3692 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3693 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3694
3695 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3698 Fixes amarsh bug.
3699
3700 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3701
3702 Remove miscellaneous files in distclean target.
3703
3704 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3705
3706 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
3707
3708 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3709 if they're already set. This resolves the conflict between my
3710 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3711 fixing the --grub-probe option again.
3712 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3713 change on 2009-10-06, so that we now once again source
3714 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3715
3716 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3717
3718 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3719 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3720 `util/devicemap.c'.
3721
3722 2009-12-08 Carles Pina i Estany <carles@pina.cat>
3723
3724 * include/grub/misc.h (grub_printf_): New declaration.
3725 * kern/misc.c (grub_printf_): New definition.
3726 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3727 instead of `grub_printf' and `_'.
3728 * normal/menu_entry.c (store_completion): Likewise.
3729 (run): Likewise.
3730 (grub_menu_entry_run): Likewise.
3731 * normal/menu_text.c (grub_wait_after_message): Likewise.
3732 (notify_booting): Likewise.
3733 (notify_fallback): Likewise.
3734 (notify_execution_failure): Likewise.
3735
3736 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
3737
3738 * configure.ac: Check for vasprintf.
3739 * util/misc.c (asprintf): Move allocation from here ...
3740 (vasprintf): ... to here. New function.
3741 (xasprintf): New function.
3742 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3743 prototypes.
3744 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3745 * util/grub-mkfont.c (write_font): Likewise.
3746 * util/grub-probe.c (probe): Likewise.
3747 * util/hostdisk.c (make_device_name): Likewise.
3748
3749 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
3750
3751 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3752 anything even prefixed with 'cdrom' as a cdrom.
3753
3754 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
3755
3756 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3757 mount points.
3758
3759 2009-12-05 Carles Pina i Estany <carles@pina.cat>
3760
3761 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3762 grub_gettext_msg_list.
3763 (grub_gettext_gettranslation_from_position): Return const char *
3764 and not char *.
3765 (grub_gettext_translate): Add the translated strings into a list,
3766 returns from the list if existing there.
3767 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3768 (grub_gettext_delete_list): Delete the list.
3769 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3770 lang environment variable is changed.
3771 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3772
3773 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Rename kernel.mod to kernel.img.
3776
3777 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3778 (kernel_mod_EXPORTS): Rename to ...
3779 (kernel_img_EXPORTS): ... this.
3780 (kernel_mod_SOURCES): Rename to ...
3781 (kernel_img_SOURCES): ... this.
3782 (kernel_mod_HEADERS): Rename to ...
3783 (kernel_img_HEADERS): ... this. All users updated.
3784 (kernel_mod_CFLAGS): Rename to ...
3785 (kernel_img_CFLAGS): ... this.
3786 (kernel_mod_ASFLAGS): Rename to ...
3787 (kernel_img_ASFLAGS): ... this.
3788 (kernel_mod_LDFLAGS): Rename to ...
3789 (kernel_img_LDFLAGS): ... this.
3790 * conf/x86_64-efi.rmk: Likewise.
3791 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3792 (read_kernel_image): ... this. All users updated.
3793 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3794
3795 2009-12-05 Carles Pina i Estany <carles@pina.cat>
3796
3797 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3798 (print_spaces): New function.
3799 (grub_print_ucs4): New function.
3800 (getstringwidth): New function.
3801 (print_message_indented): New function.
3802 (print_message): Gettexttize strings using print_message_indented.
3803 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3804 width.
3805 (get_entry_number): Gettextize and uses dynamic terminal width.
3806 (notify_booting, notify_fallback, notify_execution_failure):
3807 Gettextize.
3808 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3809 string.
3810 (run): Likewise.
3811 (grub_menu_entry_run): Likewise.
3812 * PO/POTFILES: Add normal/menu_entry.c.
3813
3814 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3817
3818 2009-12-05 Carles Pina i Estany <carles@pina.cat>
3819
3820 * util/grub-install.in: Install gettext .mo files.
3821 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3822
3823 2009-12-05 Carles Pina i Estany <carles@pina.cat>
3824
3825 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3826 grub_dprintf.
3827
3828 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3829
3830 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3831 non-firmware-dependant one in realmode.S takes precedence.
3832
3833 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3834
3835 * commands/halt.c: Replace misc arch-specific headers with
3836 `<grub/misc.h>'.
3837 * commands/reboot.c: Likewise.
3838 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3839 `<grub/misc.h>'.
3840 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3841 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3842 (kernel_img_SOURCES): ... to here.
3843
3844 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3845 * include/grub/i386/pc/init.h: Likewise.
3846 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3847 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3848
3849 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3850
3851 * include/grub/i386/halt.h: Remove.
3852 * include/grub/i386/reboot.h: Likewise.
3853
3854 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3855
3856 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
3857
3858 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3859 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3860 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3861 "progname.h"
3862 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3863 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3864 (usage): Add missing comma in printf.
3865
3866 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3867
3868 Use the same reboot approach on i386 coreboot and qemu as we do on
3869 BIOS.
3870
3871 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3872 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3873 * kern/i386/reboot.c: Remove.
3874 * include/grub/i386/reboot.h (grub_reboot): Export function.
3875 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3876 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3877 0xf000:0xfff0 instead of 0xffff:0x0000.
3878 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3879 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3880
3881 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3882
3883 Fix $srcdir != $objdir build.
3884
3885 * Makefile.in (po/%.po): Rewrite as ...
3886 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3887
3888 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3889
3890 Fix GNU/Hurd grub-install crash.
3891 * util/grub-probe.c (probe): Try to access `path' only when it is not
3892 NULL.
3893
3894 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 Correct module naming.
3897
3898 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3899 (GRUB_MOD_INIT(efi_uga)): ... to this
3900 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3901 (GRUB_MOD_FINI(efi_uga)): ... to this
3902 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3903 (GRUB_MOD_INIT(efi_gop)): ... to this
3904 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3905 (GRUB_MOD_FINI(efi_gop)): ... to this
3906
3907 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3908
3909 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3910 translatable.
3911 (usage): Translate `arg' strings using gettext().
3912 Thanks to Jordi Mallach for the suggestion.
3913
3914 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 GOP support. Based on patch from Bean
3917 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3918
3919 * video/efi_gop.c: New file.
3920 * include/grub/efi/graphics_output.h: Likewise.
3921 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3922 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3923 variables.
3924 * conf/x86_64-efi.rmk: Likewise.
3925
3926 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Rename efi_fb to efi_uga.
3929
3930 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3931 'efi_uga.mod'.
3932 (efi_fb_mod_SOURCES): Rename this ...
3933 (efi_uga_mod_SOURCES): ... to this.
3934 (efi_fb_mod_CFLAGS): Rename this ...
3935 (efi_uga_mod_CFLAGS): ... to this.
3936 (efi_fb_mod_LDFLAGS): Rename this ...
3937 (efi_uga_mod_LDFLAGS): ... to this.
3938 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3939 'efi_uga.mod'.
3940 (efi_fb_mod_SOURCES): Rename this ...
3941 (efi_uga_mod_SOURCES): ... to this.
3942 (efi_fb_mod_CFLAGS): Rename this ...
3943 (efi_uga_mod_CFLAGS): ... to this.
3944 (efi_fb_mod_LDFLAGS): Rename this ...
3945 (efi_uga_mod_LDFLAGS): ... to this.
3946 * video/efi_fb.c: Move this ...
3947 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3948
3949 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3950
3951 * po/README: New file. Explain our PO file workflow.
3952
3953 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3954
3955 * po/ChangeLog: Remove. Move relevant entries back to ...
3956 * ChangeLog: ... here.
3957 * po/ca.po: Remove (now handled by TLP).
3958 * po/id.po: Likewise.
3959 * po/zh_CN.po: Likewise.
3960 * Makefile.in (LINGUAS): Initialize in a way that supports
3961 empty set.
3962
3963 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3964
3965 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3966 reliing on po/LINGUAS.
3967 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3968 (po/%.po): ... this.
3969
3970 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
3971
3972 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3973 (main): Use `program_name' instead of nonexistent `progname'.
3974
3975 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
3976
3977 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3978 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3979
3980 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3981
3982 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3983 commit.
3984 * conf/i386-efi.rmk: Likewise.
3985 * conf/i386-ieee1275.rmk: Likewise.
3986 * conf/powerpc-ieee1275.rmk: Likewise.
3987 * conf/sparc64-ieee1275.rmk: Likewise.
3988 * conf/x86_64-efi.rmk: Likewise.
3989
3990 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
3991
3992 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3993
3994 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
3995
3996 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3997
3998 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3999
4000 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
4001 (grub_mkdevicemap_SOURCES): New variable.
4002 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
4003 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
4004 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
4005 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
4006 (grub_mkdevicemap_SOURCES): Remove.
4007 * conf/i386-efi.rmk: Likewise.
4008 * conf/i386-ieee1275.rmk: Likewise.
4009 * conf/i386-pc.rmk: Likewise.
4010 * conf/powerpc-ieee1275.rmk: Likewise.
4011 * conf/sparc64-ieee1275.rmk: Likewise.
4012 * conf/x86_64-efi.rmk: Likewise.
4013 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
4014 (usage): Fix strings to use `program_name'.
4015 (main): Initialize gettext.
4016 * util/grub-editenv.c: Likewise.
4017 * util/grub-emu.c: Likewise.
4018 * util/grub-fstest.c: Likewise.
4019 * util/grub-mkdevicemap.c: Likewise.
4020 * util/grub-mkfont.c: Likewise.
4021 * util/grub-mkrelpath.c: Likewise.
4022 * util/grub-pe2elf.c: Likewise.
4023 * util/grub-probe.c: Likewise.
4024 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4025 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4026 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4027
4028 * util/misc.c: Include `"progname.h"'.
4029 (progname): Remove variable.
4030 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
4031
4032 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
4033
4034 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
4035 printf and print a newline after the menuentry header line.
4036 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4037
4038 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
4039
4040 autoconf >= 2.60 support $(localedir).
4041
4042 * INSTALL: Note that autoconf 2.60 is required.
4043 * configure.ac (AC_PREREQ): Bump to 2.60.
4044 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
4045 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4046
4047 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
4048
4049 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
4050 aclocal is run.
4051
4052 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4053
4054 * normal/main.c (grub_normal_read_line): Fix off-by-one
4055 buffer overflow.
4056
4057 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4058
4059 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
4060 "parser.grub" in grub_command_execute() call.
4061
4062 2009-11-24 Carles Pina i Estany <carles@pina.cat>
4063
4064 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
4065 * conf/i386-efi.rmk: Likewise.
4066 * conf/i386-ieee1275.rmk: Likewise.
4067 * conf/i386-pc.rmk: Likewise.
4068 * conf/powerpc-ieee1275.rmk: Likewise.
4069 * conf/sparc64-ieee1275.rmk: Likewise.
4070 * conf/x86_64-efi.rmk: Likewise.
4071 * gettext/gettex.c: Include <grub/i18n.h>.
4072 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
4073 here ...
4074 * include/grub/i18n.h: ... to here
4075 * include/grub/i18n.h: ... to here.
4076 * kern/misc.c: Include <grub/i18n.h>
4077 (grub_gettext_dummy): Move above user.
4078
4079 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4080
4081 * util/Makefile.in (install-local): Convert a `for' into a normal
4082 shell expansion.
4083
4084 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4085
4086 * autogen.sh: Add automake call.
4087 * config.guess: Remove.
4088 * config.sub: Likewise.
4089 * install-sh: Likewise.
4090
4091 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4092
4093 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4094
4095 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4096
4097 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4098 function to a normal shell `for'.
4099
4100 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4101
4102 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4103
4104 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4105
4106 * util/grub-mkrelpath.c: New file.
4107 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4108 (grub_mkrelpath_SOURCES): New variable.
4109 * include/grub/util/misc.h: New function prototype.
4110 * util/misc.c (make_system_path_relative_to_its_root): New function.
4111
4112 * util/grub-mkconfig_lib.in (bindir): New variable.
4113 (grub_mkrelpath): Likewise.
4114 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4115
4116 * util/probe.c (probe): Make the file path relative to its root.
4117 Change a info message to use the GRUB path. Enable again the
4118 check if we can read the file with GRUB facilities.
4119
4120 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4121 to its root.
4122
4123 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4124
4125 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4126 platform.
4127
4128 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4129
4130 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4131 strncmp().
4132
4133 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
4134
4135 * util/getroot.c (grub_util_is_dmraid): New function.
4136 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4137 devices as normal ones, not as LVM.
4138
4139 2009-11-23 Carles Pina i Estany <carles@pina.cat>
4140
4141 * conf/common.rmk: Add grub-gettext_lib target and updates
4142 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4143 LDFLAGS.
4144 * gettext/gettext.c: New file. (Reads mo files).
4145 * include/grub/file.h (grub_file_pread): New prototype.
4146 * include/grub/i18n.h (_): New prototype.
4147 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4148 prototypes.
4149 * kern/misc.c (grub_gettext_dummy): New function.
4150 * normal/menu_text.c: Include <grub/i18n.h>.
4151 * normal/menu_text.c (print_timeout): Gettexttize string.
4152 * normal/menu_text.c (print_message): Gettexttize string.
4153 * po/POTFILES: Add `normal/menu_text.c'.
4154 * po/ca.po: Add new translations.
4155 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4156 gettext module and defines locale_dir and lang in grub.cfg.
4157 * NEWS: Add gettext support.
4158
4159 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4160
4161 * util/hostdisk.c: Include `<grub/i18n.h>'.
4162 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4163 (make_device_name): Rewrite using asprintf.
4164 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4165 (find_system_device): If a device is not found, generate one just
4166 by reusing the OS path name.
4167 (read_device_map): Make it permissible for device.map not to exist.
4168
4169 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4170
4171 * script/sh/execute.c: Move from here ...
4172 * script/execute.c: ... to here. Update all users.
4173 * script/sh/function.c: Move from here ...
4174 * script/function.c: ... to here. Update all users.
4175 * script/sh/lexer.c: Move from here ...
4176 * script/lexer.c: ... to here. Update all users.
4177 * script/sh/main.c: Move from here ...
4178 * script/main.c: ... to here. Update all users.
4179 * script/sh/parser.y: Move from here ...
4180 * script/parser.y: ... to here. Update all users.
4181 * script/sh/script.c: Move from here ...
4182 * script/script.c: ... to here. Update all users.
4183
4184 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4185
4186 * configure.ac: Detect all `emu' platforms. Define
4187 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4188 --enable-grub-emu logic. Disable include/grub/machine
4189 symlink on `emu' platforms.
4190
4191 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4192 * gensymlist.sh.in: Likewise.
4193
4194 * include/grub/i386/coreboot/machine.h: Remove file.
4195 * include/grub/i386/efi/machine.h: Likewise.
4196 * include/grub/i386/ieee1275/machine.h: Likewise.
4197 * include/grub/i386/pc/machine.h: Likewise.
4198 * include/grub/i386/qemu/machine.h: Likewise.
4199 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4200 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4201 * include/grub/x86_64/efi/machine.h: Likewise.
4202
4203 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4204 * commands/halt.c: Likewise.
4205 * commands/reboot.c: Likewise.
4206 * include/grub/autoefi.h: Likewise.
4207 * include/grub/i386/at_keyboard.h: Likewise.
4208 * include/grub/i386/kernel.h: Likewise.
4209 * include/grub/i386/loader.h: Likewise.
4210 * include/grub/i386/pc/memory.h: Likewise.
4211 * kern/dl.c: Likewise.
4212 * kern/i386/coreboot/init.c: Likewise.
4213 * loader/i386/bsd.c: Likewise.
4214 * loader/i386/linux.c: Likewise.
4215 * loader/multiboot_loader.c: Likewise.
4216 * term/i386/pc/serial.c: Likewise.
4217 * term/usb_keyboard.c: Likewise.
4218
4219 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4220 `<grub/machine/machine.h>'
4221 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4222 * util/misc.c: Remove `<grub/machine/machine.h>' and
4223 `<grub/machine/time.h>'.
4224
4225 * Makefile.in (enable_grub_emu): Remove variable.
4226 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4227
4228 * conf/any-emu.rmk: New file.
4229 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4230 (grub_emu_init.c): Move from here ...
4231 * conf/any-emu.rmk: ... to here.
4232
4233 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4234 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4235 * conf/any-emu.rmk: ... to here.
4236
4237 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4238
4239 * include/grub/parser.h (grub_parser_register): Document need
4240 of `name' parameter.
4241 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4242 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4243 "sh" to "grub".
4244
4245 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4246
4247 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4248 `$(XGETTEXT)'.
4249 * include/grub/i18n.h (N_): New macro.
4250 * util/mkisofs/mkisofs.h: Likewise.
4251 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4252 around N_().
4253 (usage): Use gettext() to translate help strings when printing them.
4254
4255 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4256
4257 Based on patch from Bean
4258 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4259
4260 * video/efi_fb.c: New file.
4261 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4262 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4263 variables.
4264 * conf/x86_64-efi.rmk: Likewise.
4265
4266 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4267
4268 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4269 * util/i386/pc/grub-setup.c: Likewise.
4270
4271 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4272
4273 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4274 <hurd/fs.h>
4275 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4276 file_get_storage_info to implement grub_guess_root_device.
4277
4278 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
4279
4280 * Makefile.in (target): Use make's builtin $(shell) function
4281 instead of calling directly $(SHELL) to create the locale directories,
4282 inside the $(foreach) function.
4283
4284 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
4285
4286 * util/grub-mkrescue.in: Print an error and usage if output option
4287 has not been given.
4288
4289 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
4290
4291 Patch from Loïc Minier <loic.minier@ubuntu.com>.
4292 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4293 root and /boot are on different devices.
4294
4295 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4296
4297 Fix build for srcdir != objdir.
4298
4299 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4300 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4301 $(srcdir).
4302 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4303 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4304 reference for input.
4305
4306 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4307
4308 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4309 or hardlinking it). Remove -J option, Joliet is not compatible with
4310 multiple source directories.
4311
4312 2009-11-21 Carles Pina i Estany <carles@pina.cat>
4313 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4314
4315 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4316 (process_input_dir): New function. Process an arbitrary input
4317 directory.
4318 Misc adjustments to support both "override mode" and system-wide mode.
4319
4320 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
4321
4322 * configure.ac (UNIFONT_BDF): Rename to ...
4323 (FONT_SOURCE): ... this. Update all users.
4324
4325 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
4326
4327 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4328 to the list of unifont files to look for.
4329
4330 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4331
4332 Patch from Joe Auricchio <jauricchio@gmail.com>
4333 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4334 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4335 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4336
4337 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
4338
4339 * Makefile.in (install-local): Add a missing backslash.
4340
4341 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
4342
4343 * include/grub/x86_64/io.h: New file.
4344
4345 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4346
4347 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4348 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4349 Include `"progname.h"'.
4350 (main): Initialize gettext.
4351 * util/i386/pc/grub-setup.c: Gettexttize.
4352 * util/i386/pc/grub-mkimage.c: Likewise.
4353
4354 * Makefile.in (po/*.po): Redefine as ...
4355 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4356
4357 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4358
4359 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4360
4361 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4362 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4363 (program_name): Remove.
4364 (main): Initialize gettext support.
4365 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4366 Include `<libintl.h>'.
4367 (_): New macro.
4368
4369 * util/mkisofs/eltorito.c: Gettexttize.
4370 * util/mkisofs/joliet.c: Likewise.
4371 * util/mkisofs/mkisofs.c: Likewise.
4372 * util/mkisofs/multi.c: Likewise.
4373 * util/mkisofs/rock.c: Likewise.
4374 * util/mkisofs/tree.c: Likewise.
4375 * util/mkisofs/write.c: Likewise.
4376
4377 * po/POTFILES: Update with new files.
4378
4379 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4380
4381 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4382 * util/mkisofs/iso9660.h: Likewise.
4383 * util/mkisofs/joliet.c: Likewise.
4384 * util/mkisofs/mkisofs.c: Likewise.
4385 * util/mkisofs/mkisofs.h: Likewise.
4386 * util/mkisofs/rock.c: Likewise.
4387 * util/mkisofs/tree.c: Likewise.
4388 * util/mkisofs/write.c: Likewise.
4389
4390 * util/mkisofs/eltorito.c (rcsid): Remove.
4391 * util/mkisofs/hash.c: Likewise.
4392 * util/mkisofs/joliet.c: Likewise.
4393 * util/mkisofs/name.c: Likewise.
4394 * util/mkisofs/rock.c: Likewise.
4395 * util/mkisofs/tree.c: Likewise.
4396 * util/mkisofs/write.c: Likewise.
4397
4398 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4399
4400 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4401 instead of static allocation.
4402 * util/mkisofs/match.h: Likewise.
4403
4404 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4405
4406 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4407 and `util/grub.d/10_linux.in'.
4408 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4409 translatable Shell files.
4410
4411 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4412
4413 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4414
4415 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4416
4417 * INSTALL: Document Automake is needed for bootstrap.
4418 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
4419 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4420 Add gettext initialization.
4421 (kfreebsd_entry): Make menuentry output translatable.
4422
4423 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4424
4425 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4426 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4427 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4428 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4429 (LINGUAS): Auto-generate using `po/LINGUAS'.
4430 * po/LINGUAS: New file.
4431
4432 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4433
4434 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4435 other things).
4436 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4437 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4438 bindtextdomain() calls for gettext initialization.
4439
4440 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4441
4442 * gnulib/progname.c: New file (imported from Gnulib).
4443 * gnulib/progname.h: Likewise.
4444 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4445 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4446 (usage): Replace `progname' with `program_name'.
4447 (main): Use set_program_name() for program name initialization.
4448
4449 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4450
4451 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4452 from here ...
4453 * Makefile.in (CPPFLAGS): ... to here.
4454
4455 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4456
4457 * aclocal.m4: Move from here ...
4458 * acinclude.m4: ... to here.
4459 * autogen.sh: Add call to `aclocal'.
4460 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4461
4462 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4463
4464 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4465 (LINGUAS): New variable.
4466 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4467 (install-local): Install MO files.
4468 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4469 * include/grub/i18n.h: New file.
4470 * po/POTFILES: New file.
4471 * po/ca.po: New file.
4472 * util/grub.d/10_linux.in (bindir): New variable.
4473 Add gettext initialization.
4474 (linux_entry): Make menuentry output translatable.
4475 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4476 (usage): Make --help output translatable.
4477 (main): Initialize gettext.
4478
4479 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4480
4481 * import_gcry.py: New file (written by Vladimir with minor
4482 adjustments).
4483 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4484 ciphers.
4485 * INSTALL: Document that Python is required for bootstrap.
4486
4487 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4488
4489 Import ciphers from libgcrypt 1.4.4.
4490
4491 * lib/libgcrypt/cipher/ChangeLog
4492 * lib/libgcrypt/cipher/ac.c
4493 * lib/libgcrypt/cipher/arcfour.c
4494 * lib/libgcrypt/cipher/bithelp.h
4495 * lib/libgcrypt/cipher/blowfish.c
4496 * lib/libgcrypt/cipher/camellia-glue.c
4497 * lib/libgcrypt/cipher/camellia.c
4498 * lib/libgcrypt/cipher/camellia.h
4499 * lib/libgcrypt/cipher/cast5.c
4500 * lib/libgcrypt/cipher/cipher.c
4501 * lib/libgcrypt/cipher/crc.c
4502 * lib/libgcrypt/cipher/des.c
4503 * lib/libgcrypt/cipher/dsa.c
4504 * lib/libgcrypt/cipher/ecc.c
4505 * lib/libgcrypt/cipher/elgamal.c
4506 * lib/libgcrypt/cipher/hash-common.c
4507 * lib/libgcrypt/cipher/hash-common.h
4508 * lib/libgcrypt/cipher/hmac-tests.c
4509 * lib/libgcrypt/cipher/md.c
4510 * lib/libgcrypt/cipher/md4.c
4511 * lib/libgcrypt/cipher/md5.c
4512 * lib/libgcrypt/cipher/primegen.c
4513 * lib/libgcrypt/cipher/pubkey.c
4514 * lib/libgcrypt/cipher/rfc2268.c
4515 * lib/libgcrypt/cipher/rijndael-tables.h
4516 * lib/libgcrypt/cipher/rijndael.c
4517 * lib/libgcrypt/cipher/rmd.h
4518 * lib/libgcrypt/cipher/rmd160.c
4519 * lib/libgcrypt/cipher/rsa.c
4520 * lib/libgcrypt/cipher/seed.c
4521 * lib/libgcrypt/cipher/serpent.c
4522 * lib/libgcrypt/cipher/sha1.c
4523 * lib/libgcrypt/cipher/sha256.c
4524 * lib/libgcrypt/cipher/sha512.c
4525 * lib/libgcrypt/cipher/tiger.c
4526 * lib/libgcrypt/cipher/twofish.c
4527 * lib/libgcrypt/cipher/whirlpool.c
4528
4529 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4530
4531 Fix build for systems without error().
4532
4533 * gnulib/error.c: New file (imported from Gnulib).
4534 * gnulib/error.h: Likewise.
4535 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4536 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4537 (this variable is now used by error()).
4538
4539 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
4540
4541 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4542 instead of relying that char is signed.
4543
4544 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4547 blocksize different from specified.
4548 (grub_pxefs_read): Likewise.
4549
4550 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
4551
4552 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4553
4554 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4555 (grub_ata_readwrite): Likewise. Update 2 format strings.
4556 (grub_atapi_read): Likewise.
4557
4558 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4559 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4560 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4561 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4562 (ata_mod_LDFLAGS): Move from here ...
4563 * conf/i386.rmk: ... to here ...
4564 * conf/x86_64-efi.rmk: ... and here.
4565 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4566 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4567
4568 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4569
4570 Relicense multiboot.h, with RMS' blessing.
4571
4572 * include/multiboot.h: Change to X11 license.
4573
4574 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4575
4576 Support --version in grub-mkisofs.
4577
4578 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4579 (OPTION_VERSION): New macro.
4580 (ld_options): Recognize --version.
4581 (usage): Move `program_name' from here ...
4582 (program_name): ... to here. Add `static' qualifier.
4583 (main): Recognize `OPTION_VERSION'.
4584
4585 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
4586
4587 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4588 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4589
4590 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4591
4592 Fix help2man generation for mkisofs.
4593
4594 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4595 (usage): Send output to stdout (rather than stderr).
4596
4597 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4598
4599 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4600 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4601 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4602 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4603 (bin_SCRIPTS): Add `grub-mkfloppy'.
4604 (grub_mkfloppy_SOURCES): New variable.
4605
4606 * util/grub-mkrescue.in: New file.
4607 * util/i386/pc/grub-mkfloppy.in: New file.
4608
4609 * util/i386/coreboot/grub-mkrescue.in: Remove.
4610 * util/i386/pc/grub-mkrescue.in: Remove.
4611
4612 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4613
4614 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4615 from here ...
4616 * include/multiboot.h (struct multiboot_header): ... to here. Update
4617 all users.
4618 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4619 from here ...
4620 * include/multiboot.h (struct multiboot_info): ... to here. Update
4621 all users.
4622 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4623 from here ...
4624 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4625 Update all users.
4626 * include/grub/multiboot.h (struct grub_mod_list): Move
4627 from here ...
4628 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4629 Update all users.
4630
4631 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4632
4633 * include/multiboot2.h (multiboot_word): Rename from this ...
4634 (multiboot2_word): ... to this. Update all users.
4635 (multiboot_header): Rename from this ...
4636 (multiboot2_header): ... to this. Update all users.
4637 (multiboot_tag_header): Rename from this ...
4638 (multiboot2_tag_header): ... to this. Update all users.
4639 (multiboot_tag_start): Rename from this ...
4640 (multiboot2_tag_start): ... to this. Update all users.
4641 (multiboot_tag_name): Rename from this ...
4642 (multiboot2_tag_name): ... to this. Update all users.
4643 (multiboot_tag_module): Rename from this ...
4644 (multiboot2_tag_module): ... to this. Update all users.
4645 (multiboot_tag_memory): Rename from this ...
4646 (multiboot2_tag_memory): ... to this. Update all users.
4647 (multiboot_tag_unused): Rename from this ...
4648 (multiboot2_tag_unused): ... to this. Update all users.
4649 (multiboot_tag_end): Rename from this ...
4650 (multiboot2_tag_end): ... to this. Update all users.
4651
4652 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4653
4654 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4655 this platform we should support Multiboot1 first.
4656
4657 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4658 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4659 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4660
4661 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4662
4663 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4664 of write calls (converting them to fwrite() if they aren't already).
4665 (get_torito_desc): Likewise.
4666 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4667
4668 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4669
4670 * util/i386/pc/grub-install.in: Move from here ...
4671 * util/grub-install.in: ... to here. Update all users.
4672
4673 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
4674
4675 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4676
4677 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4678
4679 Support for El Torito without floppy emulation.
4680
4681 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4682 (init_boot_catalog): Improve error handling.
4683 (get_torito_desc): Don't use floppy emulation unless requested by
4684 user. Patch boot information table when requested via
4685 `-boot-info-table'.
4686 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4687 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4688 (use_boot_info_table): New variables.
4689 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4690 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4691 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4692 `--eltorito-emul-floppy'.
4693 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4694 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4695 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4696 (use_boot_info_table, get_731): New prototypes.
4697 * util/mkisofs/write.c (get_731): New function.
4698
4699 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
4700
4701 Fix the generation of the man page.
4702
4703 * util/pc/i386/grub-install.in: Source
4704 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4705
4706 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4707
4708 Large file support for grub-mkisofs.
4709
4710 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4711 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4712 (session_start): Upgrade type to `uint64_t'. Update all users.
4713 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4714 (struct directory_entry): Upgrade type of `starting_block' and
4715 `size' to `uint64_t'. Update all users.
4716 (struct deferred): Remove unused structure.
4717 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4718 Update all users.
4719 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4720 file is larger than `UINT32_MAX'.
4721 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4722 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4723 return value.
4724 (struct deferred_write): Upgrade type of `extent' and `size' to
4725 `uint64_t'. Update all users.
4726 (last_extent_written): Upgrade type to `uint64_t'. Update all
4727 users.
4728 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4729 Update all users. Upgrade type of `remain' to `int64_t' and
4730 `use' to `size_t'. Use error() to handle fread() errors.
4731 (write_files): Rely on write_one_file() rather than calling
4732 xfwrite() directly.
4733
4734 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
4735
4736 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4737
4738 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4739
4740 * util/mkisofs/fnmatch.c: Remove.
4741 * util/mkisofs/getopt1.c: Likewise.
4742 * util/mkisofs/getopt.c: Likewise.
4743 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4744 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4745 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4746 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4747 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4748
4749 * configure.ac: Detect `mingw32msvc' host_os.
4750 Check for lstat(), getuid() and getgid().
4751
4752 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4753 instances of `u_char' with `uint8_t'.
4754
4755 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4756 [!HAVE_GETUID] (getuid): New function (stub).
4757 [!HAVE_GETGID] (getgid): Likewise.
4758 [!HAVE_LSTAT] (lstat): Likewise.
4759 [!S_IROTH] (S_IROTH): New macro (dummy).
4760 [!S_IRGRP] (S_IRGRP): Likewise.
4761
4762 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4763
4764 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4765 conditional expression).
4766
4767 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4768
4769 Import from Gnulib.
4770
4771 * gnulib/fnmatch.c: New file.
4772 * gnulib/fnmatch.h: Likewise.
4773 * gnulib/fnmatch_loop.c: Likewise.
4774 * gnulib/getopt.c: Likewise.
4775 * gnulib/getopt.h: Likewise.
4776 * gnulib/getopt1.c: Likewise.
4777 * gnulib/getopt_int.h: Likewise.
4778 * gnulib/gettext.h: Likewise.
4779
4780 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4781
4782 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4783 * normal/handler.c (read_handler_list): Likewise.
4784
4785 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4786
4787 Misc cleanup.
4788
4789 * kern/command.c (grub_register_command_prio): Use
4790 grub_zalloc() instead of explicitly zeroing data.
4791 * kern/list.c: Include `<grub/mm.h>'.
4792 (grub_named_list_find): Replace `0' with `NULL'.
4793 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4794 (fs_module_list): Change type to `grub_named_list_t'. Update all
4795 users.
4796 * normal/dyncmd.c (read_command_list): Add space between function
4797 call and parenthesis.
4798 * normal/handler.c (read_handler_list): Likewise.
4799
4800 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4801
4802 * normal/auth.c (punishment_delay): Moved from here ...
4803 (grub_auth_strcmp): ... to here (inside function).
4804
4805 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4806
4807 * include/grub/list.h (struct grub_named_list): Remove `const'
4808 qualifier from `name'.
4809 (struct grub_prio_list): Likewise.
4810
4811 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4812
4813 * normal/auth.c: Include `<grub/time.h>'.
4814 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4815
4816 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4817
4818 * normal/auth.c (punishment_delay): New variable.
4819 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4820 (grub_auth_check_authentication): Punish failed login attempts with
4821 an incremental (2^N) delay.
4822
4823 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4824
4825 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4826 path with $(srcdir).
4827
4828 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4831
4832 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4833
4834 * util/i386/coreboot/grub-mkrescue.in: New file.
4835 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4836 variables.
4837
4838 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4839 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4840 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4841 requirements.
4842 * util/mkisofs/defaults.h: New file.
4843 * util/mkisofs/eltorito.c: Likewise.
4844 * util/mkisofs/exclude.h: Likewise.
4845 * util/mkisofs/fnmatch.c: Likewise.
4846 * util/mkisofs/getopt.c: Likewise.
4847 * util/mkisofs/getopt1.c: Likewise.
4848 * util/mkisofs/hash.c: Likewise.
4849 * util/mkisofs/include/fctldefs.h: Likewise.
4850 * util/mkisofs/include/mconfig.h: Likewise.
4851 * util/mkisofs/include/prototyp.h: Likewise.
4852 * util/mkisofs/include/statdefs.h: Likewise.
4853 * util/mkisofs/iso9660.h: Likewise.
4854 * util/mkisofs/joliet.c: Likewise.
4855 * util/mkisofs/match.c: Likewise.
4856 * util/mkisofs/match.h: Likewise.
4857 * util/mkisofs/mkisofs.c: Likewise.
4858 * util/mkisofs/mkisofs.h: Likewise.
4859 * util/mkisofs/multi.c: Likewise.
4860 * util/mkisofs/name.c: Likewise.
4861 * util/mkisofs/rock.c: Likewise.
4862 * util/mkisofs/tree.c: Likewise.
4863 * util/mkisofs/write.c: Likewise.
4864
4865 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4868 being insecure.
4869
4870 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4871
4872 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4873 `grub-mkimage' (and use $0 when possible).
4874
4875 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4876
4877 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4878 error message for excessively large memory map.
4879
4880 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4881
4882 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4883 executable bit.
4884
4885 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4886
4887 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4888 message for coreboot users.
4889
4890 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4891
4892 Fix build with GNU gold.
4893
4894 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4895 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4896 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4897 link addresses.
4898 * aclocal.m4: Likewise.
4899
4900 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
4901
4902 * configure.ac (AC_PREREQ): Bump to 2.59d.
4903 * INSTALL: Make it more clear when Autoconf and Ruby are
4904 needed and when to run `./autogen.sh'.
4905
4906 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4907
4908 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4909 OSes.
4910
4911 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4912
4913 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4914
4915 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4916
4917 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4918 giving it to GNU Mach.
4919
4920 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4921
4922 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4923 GNU partition number to get internal GRUB partition number.
4924
4925 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4926
4927 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4928 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4929
4930 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4931
4932 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4933 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4934 case.
4935
4936 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
4937
4938 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4939
4940 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4941
4942 Fix build problem.
4943
4944 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4945 `-isystem=$(srcdir)/include'.
4946
4947 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4948
4949 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4950 checked (grub-install doesn't currently rely on it).
4951
4952 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4953
4954 Revert SVN r2660.
4955
4956 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4957 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4958 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4959 * conf/i386-ieee1275.rmk: Likewise.
4960 * conf/i386-pc.rmk: Likewise.
4961 * conf/powerpc-ieee1275.rmk: Likewise.
4962 * conf/sparc64-ieee1275.rmk: Likewise.
4963 * conf/x86_64-efi.rmk: Likewise.
4964
4965 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4966
4967 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4968
4969 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4970
4971 * include/grub/misc.h: Stop checking for APPLE_CC.
4972
4973 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4974
4975 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4976 doesn't cause an infinite call loop.
4977
4978 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
4979
4980 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4981 strings.
4982
4983 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4984
4985 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4986 variable.
4987 * Makefile.in: Likewise.
4988
4989 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4990
4991 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4992
4993 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4994
4995 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4996
4997 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4998
4999 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
5000
5001 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5002
5003 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
5004 from here ...
5005 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
5006
5007 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5008
5009 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
5010 in $(MAKEINFO) invocation. This makes it clear in output that
5011 errors are being ignored.
5012
5013 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5014
5015 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
5016 from here ...
5017 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5018 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
5019 * conf/i386-ieee1275.rmk: Likewise.
5020 * conf/i386-pc.rmk: Likewise.
5021 * conf/powerpc-ieee1275.rmk: Likewise.
5022 * conf/sparc64-ieee1275.rmk: Likewise.
5023 * conf/x86_64-efi.rmk: Likewise.
5024
5025 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
5026
5027 * util/grub-editenv.c (main): If only a command is given, use
5028 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
5029 (usage): FILENAME is now optional and has a default.
5030
5031 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
5032
5033 Improve grub-mkconfig performance when there are several menu
5034 entries on a single filesystem.
5035
5036 * util/grub.d/10_linux.in (linux_entry): Cache the output of
5037 prepare_grub_to_access_device.
5038 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5039 * util/grub.d/30_os-prober.in: Likewise.
5040
5041 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5042
5043 * util/grub.d/10_freebsd.in: Remove.
5044 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
5045 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
5046
5047 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5048
5049 * docs/grub.cfg: Fix example usage of *BSD loaders.
5050
5051 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5052
5053 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
5054 grub_util_error() call.
5055
5056 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5057
5058 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
5059 `reserved_first_sector' member.
5060 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
5061 `reserved_first_sector' to 1.
5062 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
5063 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
5064 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
5065 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
5066 filesystems which begin at first sector.
5067 (options): New option --skip-fs-probe.
5068 (main): Handle --skip-fs-probe and pass it to setup().
5069
5070 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5071
5072 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
5073 (memset): Fix function prototype.
5074
5075 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5076 2009-10-25 Vasily Averin <vvs@parallels.com>
5077
5078 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5079 `dirent.direntlen == 0'.
5080
5081 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5082
5083 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5084 `cpio'.
5085 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5086
5087 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5088
5089 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5090 `__trampoline_setup' and `__ucmpdi2'.
5091 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5092 that libgcc provides.
5093
5094 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5095
5096 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5097 * include/grub/sparc64/libgcc.h (memset): Likewise.
5098 * include/grub/misc.h (memset, memcmp): New function prototypes.
5099
5100 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5101
5102 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5103 `cpio'.
5104 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5105
5106 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5107
5108 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5109 * docs/grub.cfg: Compensate for recent change in multiboot
5110 loader (since 2009-08-14 it won't pass filename to payload).
5111 * util/grub.d/10_hurd.in: Likewise.
5112
5113 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
5114
5115 * config.guess: Update to latest version from config git
5116 repository.
5117 * config.sub: Likewise.
5118
5119 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5120
5121 Fix build on sparc64.
5122
5123 * configure.ac: Perform checks for libgcc symbols before
5124 adding `-nostdlib' to LDFLAGS.
5125
5126 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Let user specify OpenBSD root device.
5129
5130 * loader/i386/bsd.c (openbsd_root): New variable.
5131 (openbsd_opts): New option 'root'.
5132 (OPENBSD_ROOT_ARG): New macro.
5133 (grub_openbsd_boot): Use 'openbsd_root'.
5134 (grub_cmd_openbsd): Fill 'openbsd_root'.
5135
5136 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5137
5138 * NEWS: Misc adjustments.
5139
5140 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5143
5144 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5145
5146 * configure.ac: Bump version to 1.97.
5147
5148 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
5149
5150 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5151 -mno-3dnow on x86 architectures. Some toolchains enable these
5152 features by default, but they rely on registers that aren't enabled
5153 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5154
5155 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5156
5157 Make entry text a bit more readable.
5158
5159 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5160
5161 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5164
5165 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5168 operations.
5169
5170 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * configure.ac: Add missing dollar.
5173
5174 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5177
5178 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5179 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5180 exports.
5181 * include/grub/sparc64/libgcc.h: Likewise. Use
5182 preprocessor conditionals.
5183
5184 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5185
5186 * conf/common.rmk (grub-dumpbios): Remove rule.
5187 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5188 * util/grub-dumpbios.in: Remove file.
5189
5190 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5191
5192 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5193 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5194
5195 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5196 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5197 users.
5198
5199 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5200 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5201 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5202 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5203 users.
5204
5205 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5206
5207 * term/tparm.c: Switch to GPLv3.
5208
5209 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5210
5211 * include/grub/i386/cpuid.h: Add header protection.
5212
5213 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5214
5215 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5216
5217 * include/grub/i386/cpuid.h: New file.
5218 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5219 (has_longmode): Rename to ...
5220 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5221 `static' attribute.
5222 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5223 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5224 on a CPU that doesn't implement AMD64 instruction set.
5225
5226 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
5227
5228 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5229 that version.texi is rebuilt on version number changes.
5230
5231 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
5232
5233 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5234 Fixes bug #27602.
5235
5236 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
5237
5238 * util/i386/pc/grub-install.in: Source
5239 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5240 that the --grub-probe option will work.
5241 * util/sparc64/ieee1275/grub-install.in: Likewise.
5242
5243 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5244
5245 * configure.ac: Bump version to 1.97~beta4.
5246
5247 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5248
5249 Resync grub-mkdevicemap in x86_64-efi.
5250
5251 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5252 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5253 `util/devicemap.c'.
5254
5255 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
5256
5257 * util/grub-editenv.c (create_envblk_file): Write new block with a
5258 .new suffix and then rename it into place, to ensure atomic
5259 creation.
5260
5261 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5262
5263 Do not automatically install headers.
5264
5265 * Makefile.in (include_DATA): Remove. Update all users.
5266
5267 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5268
5269 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5270 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5271
5272 * util/osdetect.lua: Remove.
5273 * script/lua/lauxlib.c: Likewise.
5274 * script/lua/ldebug.c: Likewise.
5275 * script/lua/grub_main.c: Likewise.
5276 * script/lua/lauxlib.h: Likewise.
5277 * script/lua/ldebug.h: Likewise.
5278 * script/lua/ltablib.c: Likewise.
5279 * script/lua/liolib.c: Likewise.
5280 * script/lua/lstrlib.c: Likewise.
5281 * script/lua/lualib.h: Likewise.
5282 * script/lua/ldo.c: Likewise.
5283 * script/lua/ldump.c: Likewise.
5284 * script/lua/ldo.h: Likewise.
5285 * script/lua/loslib.c: Likewise.
5286 * script/lua/lundump.c: Likewise.
5287 * script/lua/grub_lib.c: Likewise.
5288 * script/lua/ldblib.c: Likewise.
5289 * script/lua/lundump.h: Likewise.
5290 * script/lua/lmem.c: Likewise.
5291 * script/lua/grub_lib.h: Likewise.
5292 * script/lua/lmathlib.c: Likewise.
5293 * script/lua/lstate.c: Likewise.
5294 * script/lua/ltm.c: Likewise.
5295 * script/lua/lvm.c: Likewise.
5296 * script/lua/lmem.h: Likewise.
5297 * script/lua/lstate.h: Likewise.
5298 * script/lua/ltm.h: Likewise.
5299 * script/lua/ltable.c: Likewise.
5300 * script/lua/lvm.h: Likewise.
5301 * script/lua/llex.c: Likewise.
5302 * script/lua/lgc.c: Likewise.
5303 * script/lua/grub_lua.h: Likewise.
5304 * script/lua/loadlib.c: Likewise.
5305 * script/lua/lfunc.c: Likewise.
5306 * script/lua/lopcodes.c: Likewise.
5307 * script/lua/lparser.c: Likewise.
5308 * script/lua/ltable.h: Likewise.
5309 * script/lua/llex.h: Likewise.
5310 * script/lua/lgc.h: Likewise.
5311 * script/lua/lfunc.h: Likewise.
5312 * script/lua/lbaselib.c: Likewise.
5313 * script/lua/lopcodes.h: Likewise.
5314 * script/lua/lparser.h: Likewise.
5315 * script/lua/lzio.c: Likewise.
5316 * script/lua/linit.c: Likewise.
5317 * script/lua/lobject.c: Likewise.
5318 * script/lua/llimits.h: Likewise.
5319 * script/lua/lstring.c: Likewise.
5320 * script/lua/lzio.h: Likewise.
5321 * script/lua/lapi.c: Likewise.
5322 * script/lua/lcode.c: Likewise.
5323 * script/lua/lua.h: Likewise.
5324 * script/lua/lobject.h: Likewise.
5325 * script/lua/lstring.h: Likewise.
5326 * script/lua/lapi.h: Likewise.
5327 * script/lua/lcode.h: Likewise.
5328 * script/lua/luaconf.h: Likewise.
5329
5330 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
5331
5332 * docs/grub.texi (Command-line and menu entry commands): Document
5333 date and echo commands.
5334
5335 2009-09-24 Pavel Roskin <proski@gnu.org>
5336
5337 * include/grub/kernel.h (struct grub_module_header): Remove
5338 `grub_module_header_types'. Make `type' unsigned. Make `size'
5339 32-bit on all platforms.
5340 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5341 8-bit field. Use grub_host_to_target32() for `size'.
5342 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5343 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5344 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5345
5346 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5347
5348 Fix "lost keypress" bug in at_keyboard.
5349
5350 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5351 Checks for readyness of input buffer (without flushing it).
5352 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5353 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5354
5355 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5356
5357 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5358 size check within GRUB_MACHINE_PCBIOS section.
5359
5360 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5361
5362 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5363 return value.
5364 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5365 KEYBOARD_ISREADY check.
5366 (grub_at_keyboard_checkkey): Rename to ...
5367 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5368 Remove gratuitous cast.
5369
5370 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
5371
5372 * configure.ac: Call AC_PROG_MKDIR_P.
5373 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5374 version.texi in $(builddir) rather than $(srcdir).
5375 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5376 to makeinfo's @include search path.
5377
5378 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
5379
5380 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5381
5382 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
5383
5384 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5385 for `*.dpkg-new'.
5386
5387 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
5388
5389 Build info documentation. Some code borrowed from Automake.
5390
5391 * configure.ac: Check for makeinfo.
5392 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5393 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5394 docs/version.texi.
5395 (MOSTLYCLEANFILES): Add vti.tmp.
5396 (docs/version.texi, docs/stamp-vti): Update automatically.
5397 (docs/grub.info): Build info documentation. Use --force and ignore
5398 errors for now.
5399 (all-local): Add $(INFOS).
5400 (install-local): Install info files.
5401 (uninstall): Uninstall info files.
5402 * docs/version.texi: Remove from revision control. This file is
5403 automatically generated on build now.
5404 * gendistlist.sh: Add `*.info'.
5405
5406 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
5407
5408 * kern/term.c: Fix indentation.
5409
5410 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
5411
5412 * util/hostdisk.c: Fix a comment.
5413
5414 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5415
5416 Fix regression introduced in r2539.
5417
5418 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5419 to 0xA1.
5420
5421 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
5422
5423 * util/grub.d/30_os-prober.in: Don't throw away stderr from
5424 os-prober. Under normal operation, it does not print anything to
5425 stderr; if it does, we need to debug it, and throwing away stderr
5426 makes that excessively difficult.
5427
5428 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5431
5432 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5433
5434 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5435 AC_LANG_PROGRAM from autoconf.
5436 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5437 prototypes (fixes warning).
5438
5439 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5440 `--disable-werror' was used.
5441
5442 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5443
5444 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5445 uninitialized `lastaddr'.
5446
5447 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
5450
5451 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
5452
5453 * commands/test.c (get_fileinfo): Return immediately if
5454 grub_fs_probe fails.
5455
5456 2009-09-14 José Martínez <xosemp@gmail.com>
5457
5458 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5459
5460 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
5461
5462 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5463 output.
5464
5465 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5466
5467 * configure.ac: Remove --enable-grub-pe2elf. Only build
5468 grub-pe2elf when needed by the build system itself.
5469 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5470
5471 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5472
5473 * configure.ac: Bump version to 1.97~beta3.
5474 * docs/version.texi: Likewise.
5475
5476 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5477
5478 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5479 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5480 from here ...
5481 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5482 (grub_linux_setup_video): ... to here (with some adjustments).
5483
5484 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5485
5486 Fix memory corruption issue (spotted by Colin Watson).
5487
5488 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5489 causing returned size to be stored in an incorrect memory location.
5490 Fix use of uninitialized value when storing the returned size.
5491
5492 2009-09-12 Yves Blusseau <blusseau@zetam.org>
5493
5494 Change clean rules to properly remove files
5495
5496 * genmk.rb: add new clean rules
5497 * Makefile.in (clean): add the new targets
5498 (mostlyclean): likewise
5499
5500 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
5501
5502 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5503 to grub_uint64_t.
5504 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5505 non-resident files.
5506
5507 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
5508
5509 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5510 part of bug #27349.
5511
5512 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
5513
5514 * util/grub-mkconfig.in: Make the created config mode 400 and
5515 print a warning if it fails.
5516
5517 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5518
5519 * util/grub.d/40_custom.in: Ask user to type custom entries below
5520 comment, rather than below 'exec tail' line.
5521
5522 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
5523
5524 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5525 visible in grub.cfg.
5526
5527 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
5528
5529 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5530 file.
5531
5532 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
5533
5534 * docs/grub.cfg: Add an example menu entry for memtest86+.
5535
5536 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
5537
5538 * config.guess: Update to latest version from config git.
5539 * config.sub: Likewise.
5540
5541 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
5542
5543 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5544 unknown-command case. Fixes bug #27320.
5545
5546 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
5547
5548 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5549 `help' if the command exists.
5550
5551 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5552
5553 * INSTALL: Require GCC 4.1.3 or later.
5554
5555 2009-09-06 Yves Blusseau <blusseau@zetam.org>
5556
5557 * Makefile.in (RMKFILES): add i386-qemu.rmk
5558 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5559 $(srcdir)/stamp-h.in
5560
5561 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5562
5563 * util/grub-probe.c (probe): Comment out buggy codepath, which
5564 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5565 should be re-enabled after 1.97.
5566
5567 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
5568
5569 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5570 find searches for.
5571
5572 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5575 unnecessary calls to grub_error.
5576
5577 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
5578
5579 * NEWS: Mention `keystatus' and Unicode fonts.
5580
5581 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5582
5583 * configure.ac: Bump version to 1.97~beta2.
5584 * docs/version.texi: Likewise.
5585
5586 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
5587
5588 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5589 containing unwind information in some cases where it previously did
5590 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5591 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5592 discussion.
5593
5594 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5595
5596 Embedding loadenv module into grub-emu
5597
5598 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5599 commands/loadenv.c
5600 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5601 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5602 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5604 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5605 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5606
5607 2009-09-03 Magnus Granberg <zorry@ume.nu>
5608
5609 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5610 include -fPIE in the default specs.
5611 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5612 to TARGET_CFLAGS.
5613
5614 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
5615
5616 * INSTALL: Note that GNU Bison 2.3 or later is required.
5617
5618 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * kern/i386/pc/startup.S: Fix typo.
5621
5622 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5625 according to GCS.
5626
5627 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
5628
5629 * docs/grub.texi (Naming convention): Describe one-based partition
5630 numbering.
5631 (Device syntax): Likewise.
5632 (File name syntax): Likewise.
5633 (Block list syntax): Likewise.
5634 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5635 menu.lst.
5636 (File name syntax): Likewise.
5637 (Command-line and menu entry commands): Document acpi, blocklist,
5638 crc, export, insmod, keystatus, ls, set, and unset commands.
5639
5640 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
5641
5642 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5643 to avoid implying that only one of --shift, --ctrl, or --alt may be
5644 used.
5645
5646 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5649 rather than comparing against S_IFREG, which will almost never work.
5650
5651 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5654 (write_blocklists): Likewise.
5655
5656 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
5657
5658 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5659 argument to grub_printf.
5660
5661 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
5662
5663 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
5664 non GNU test.
5665
5666 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * kern/file.c (grub_file_read): Spelling fix
5669
5670 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5673 loading of headers in some cases.
5674
5675 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5676
5677 * configure.ac: Bump version to 1.97~beta1.
5678 * docs/version.texi: Likewise.
5679
5680 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * include/grub/i386/xnu.h: Add license header.
5683 include grub/err.h explicitly.
5684
5685 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5686
5687 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5688 to `ufs' in the vfs.root.mountfrom kernel parameter.
5689
5690 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5691
5692 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5693
5694 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5695 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5696
5697 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5698 `ARRAY_SIZE' macro.
5699
5700 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * kern/file.c (grub_file_read): Check offset.
5703 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5704 * fs/jfs.c (grub_jfs_read_file): Likewise.
5705 * fs/ntfs.c (grub_ntfs_read): Likewise.
5706 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5707 * fs/minix.c (grub_minix_read_file): Correct offset check.
5708 * fs/ufs.c (grub_ufs_read_file): Likewise.
5709
5710 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
5711
5712 * term/i386/pc/console.c (bios_data_area): Cast
5713 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5714
5715 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 1-bit optimised blitters.
5718
5719 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5720 prototype.
5721 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5722 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5723 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5724 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5725 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5726 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5727 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5728 function.
5729 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5730 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5731 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5732 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5733 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5734 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5735 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5736 when possible.
5737 * video/video.c (grub_video_get_blit_format): Return
5738 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5739
5740 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
5741
5742 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5743 the first argument to grub_printf.
5744
5745 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
5746 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5747
5748 Add `getkeystatus' terminal method. Add a new `keystatus' command
5749 to query it.
5750
5751 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5752 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5753 modifier key bitmasks.
5754 (struct grub_term_input): Add `getkeystatus' member.
5755 (grub_getkeystatus): Add prototype.
5756 * kern/term.c (grub_getkeystatus): New function.
5757
5758 * include/grub/i386/pc/memory.h
5759 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5760 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5761 Data Area layout.
5762 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5763 (grub_console_term_input): Set `getkeystatus' member.
5764 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5765 constants.
5766 (grub_usb_keyboard_getreport): Likewise.
5767 (grub_usb_keyboard_checkkey): Likewise.
5768 (grub_usb_keyboard_getkeystatus): New function.
5769 (grub_usb_keyboard_term): Set `getkeystatus' member.
5770
5771 * commands/keystatus.c: New file.
5772 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5773 (keystatus_mod_SOURCES): New variable.
5774 (keystatus_mod_CFLAGS): Likewise.
5775 (keystatus_mod_LDFLAGS): Likewise.
5776 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5777 commands/keystatus.c.
5778 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5779 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5780 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5782 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5784
5785 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Split befs.mod and afs.mod into *_be.mod and *.mod
5788
5789 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5790 (grub_fstest_SOURCES): Likewise.
5791 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5792 (afs_be_mod_SOURCES): New variable.
5793 (afs_be_mod_CFLAGS): Likewise.
5794 (afs_be_mod_LDFLAGS): Likewise.
5795 (befs_be_mod_SOURCES): Likewise.
5796 (befs_be_mod_CFLAGS): Likewise.
5797 (befs_be_mod_LDFLAGS): Likewise.
5798 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5799 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5801 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5802 (grub_emu_SOURCES): Likewise.
5803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5804 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5805 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5806 * fs/afs_be.c: New file.
5807 * fs/befs_be.c: New file.
5808 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5809 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5810 (U16): Replaced with ...
5811 (grub_afs_to_cpu16): ...this. All users updated.
5812 (U32): Replaced with ...
5813 (grub_afs_to_cpu32): ...this. All users updated.
5814 (U64): Replaced with ...
5815 (grub_afs_to_cpu64): ...this. All users updated.
5816 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5817 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
5818 (grub_afs_validate_sblock): Check only one endianness.
5819 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5820 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5821 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5822 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5823 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5824 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5825 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5826 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5827
5828 2009-08-26 Bean <bean123ch@gmail.com>
5829
5830 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5831 64-bit number.
5832 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5833 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5834 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5835
5836 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 NetBSD memory map support.
5839
5840 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5841 (grub_netbsd_btinfo_mmap_header): New structure.
5842 (grub_netbsd_btinfo_mmap_entry): Likewise.
5843 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5844
5845 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 Enable bsd.mod on coreboot.
5848
5849 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5850 (bsd_mod_SOURCES): New variable.
5851 (bsd_mod_CFLAGS): Likewise.
5852 (bsd_mod_LDFLAGS): Likewise.
5853 (bsd_mod_ASFLAGS): Likewise.
5854 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5855 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5856
5857 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 Cleanup NetBSD root support.
5860
5861 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5862 grub_bsd_get_device.
5863 Fix typo.
5864
5865 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
5866
5867 * util/grub.d/00_header.in: Move check for the video backend of
5868 gfxterm from here ...
5869 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5870 a suitable video backend.
5871
5872 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 Fix breakage in grub-setup.
5875
5876 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5877 "msdos_partition_map".
5878
5879 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 Fix breakage in normal/auth.c.
5882
5883 * normal/auth.c (grub_iswordseparator): New function.
5884
5885 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Authentication support.
5888
5889 * commands/password.c: New file.
5890 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5891 (password_mod_SOURCES): New variable.
5892 (password_mod_CFLAGS): Likewise.
5893 (password_mod_LDFLAGS): Likewise.
5894 (normal_mod_SOURCES): Add normal/auth.c.
5895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5896 normal/auth.c.
5897 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5898 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5899 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5901 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5902 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5903 * include/grub/auth.h: New file.
5904 * include/grub/err.h (grub_err_t): New enum value
5905 GRUB_ERR_ACCESS_DENIED.
5906 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5907 'users'.
5908 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5909 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5910 users updated.
5911 * normal/auth.c: New file.
5912 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5913 (grub_cmdline_run): Don't allow to go to command line without
5914 authentication.
5915 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5916 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5917 menuentry without superuser rights.
5918 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5919 user isn't a superuser.
5920
5921 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Save space by inlining misc.c functions.
5924
5925 * kern/misc.c (grub_iswordseparator): Made static.
5926 * kern/misc.c (grub_strcat): Moved from here ...
5927 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5928 * kern/misc.c (grub_strncat): Moved from here ...
5929 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5930 * kern/misc.c (grub_strcasecmp): Moved from here ...
5931 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5932 * kern/misc.c (grub_strncasecmp): Moved from here ...
5933 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5934 * kern/misc.c (grub_isalpha): Moved from here ...
5935 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5936 * kern/misc.c (grub_isdigit): Moved from here ...
5937 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5938 * kern/misc.c (grub_isgraph): Moved from here ...
5939 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5940 * kern/misc.c (grub_tolower): Moved from here ...
5941 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5942
5943 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * script/sh/function.c (grub_script_function_find): Cut error message
5946 not to flood terminal.
5947 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5948 limit.
5949 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5950
5951 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
5952
5953 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5954 `report' grub_uint8_t *.
5955 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5956 Use a 50-millisecond timeout rather than just repeating
5957 grub_usb_keyboard_getreport 50 times.
5958 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5959
5960 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Rename *_partition_map to part_*
5963
5964 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5965 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5966 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5967 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5968 All users updated.
5969 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5970 All users updated.
5971 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5972 * util/grub-probe.c (probe_partmap): Don't transform partition name
5973 to get module name.
5974
5975 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 Fix OpenBSD and NetBSD support.
5978
5979 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5980 memory address conflict.
5981 (OPENBSD_MMAP_ACPI): New definition.
5982 (OPENBSD_MMAP_NVS): Likewise.
5983 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5984 and OPENBSD_MMAP_NVS.
5985 Add memory map terminator
5986 Explicit cast when calling grub_unix_real_boot.
5987 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
5988
5989 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 Let user specify NetBSD root device.
5992
5993 * loader/i386/bsd.c (netbsd_root): New variable.
5994 (netbsd_opts): New option 'root'.
5995 (NETBSD_ROOT_ARG): New macro.
5996 (grub_netbsd_boot): Use 'netbsd_root'.
5997 (grub_bsd_unload): Free 'netbsd_root'.
5998 (grub_cmd_netbsd): Fill 'netbsd_root'.
5999
6000 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Support for 64-bit NetBSD.
6003
6004 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
6005 point when booting non-FreeBSD.
6006
6007 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 Support --no-smp and --no-acpi for NetBSD.
6010
6011 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
6012 (NETBSD_AB_NOACPI): Likewise.
6013 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
6014 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
6015
6016 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
6019 errors.
6020 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
6021 errors. Call grub_error when needed.
6022
6023 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * commands/search.c (search_fs): Try searching without autoload first.
6026 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6027 filesystem module explicitly for faster booting.
6028
6029 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
6030
6031 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
6032
6033 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
6034
6035 * util/grub.d/30_os-prober.in: Disable os-prober if
6036 `GRUB_DISABLE_OS_PROBER' was set to true.
6037
6038 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 * partmap/pc.c: Rename to ...
6041 * partmap/msdos.c: ... this. Update all users.
6042 (grub_pc_partition_map): Rename to ...
6043 (grub_msdos_partition_map): ... this. Update all users.
6044
6045 * parttool/pcpart.c: Rename to ...
6046 * parttool/msdospart.c: ... this. Update all users.
6047
6048 * include/grub/pc_partition.h: Rename to ...
6049 * include/grub/msdos_partition.h: ... this. Update all users.
6050 (grub_pc_partition_bsd_entry): Rename to ...
6051 (grub_msdos_partition_bsd_entry): ... this. Update all users.
6052 (grub_pc_partition_disk_label): Rename to ...
6053 (grub_msdos_partition_disk_label): ... this. Update all users.
6054 (grub_pc_partition_entry): Rename to ...
6055 (grub_msdos_partition_entry): ... this. Update all users.
6056 (grub_pc_partition_mbr): Rename to ...
6057 (grub_msdos_partition_mbr): ... this. Update all users.
6058 (grub_pc_partition): Rename to ...
6059 (grub_msdos_partition): ... this. Update all users.
6060 (grub_pc_partition_is_empty): Rename to ...
6061 (grub_msdos_partition_is_empty): ... this. Update all users.
6062 (grub_pc_partition_is_extended): Rename to ...
6063 (grub_msdos_partition_is_extended): ... this. Update all users.
6064 (grub_pc_partition_is_bsd): Rename to ...
6065 (grub_msdos_partition_is_bsd): ... this. Update all users.
6066
6067 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
6068 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
6069 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
6070 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
6071 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
6072 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
6073 (gpt_mod_LDFLAGS): Rename to ...
6074 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
6075 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6076 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6077 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6078 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6079 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6080 (part_gpt_mod_LDFLAGS): ... this.
6081 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6082 `pcpart.mod' to `msdospart.mod'.
6083 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6084 to ...
6085 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6086 (msdospart_mod_LDFLAGS): ... this.
6087
6088 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6091 (openbsd_opts): Likewise.
6092 (netbsd_opts): Likewise.
6093 (freebsd_flags): Added 0 terminator.
6094 (openbsd_flags): Likewise.
6095 (netbsd_flags): Likewise.
6096 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6097 (grub_cmd_freebsd): Transformed into extended command.
6098 (grub_cmd_openbsd): Likewise.
6099 (grub_cmd_netbsd): Likewise.
6100 (cmd_freebsd): Changed type to grub_extcmd_t.
6101 (cmd_openbsd): Likewise.
6102 (cmd_netbsd): Likewise.
6103 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6104 grub_cmd_openbsd as extended commands.
6105 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6106 cmd_netbsd and cmd_openbsd
6107
6108 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6111
6112 2009-08-21 Pavel Roskin <proski@gnu.org>
6113
6114 * Makefile.in (install-local): When checking if a file is in the
6115 build directory, use "test -e" to detect symlinks.
6116
6117 * Makefile.in (install-local): Remove all files in
6118 $(DESTDIR)$(pkglibdir) before installing new files there.
6119
6120 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
6121
6122 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6123 grub-mkelfimage.
6124
6125 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
6126
6127 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6128 explicitly specified by the user.
6129
6130 2009-08-18 Pavel Roskin <proski@gnu.org>
6131
6132 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6133 grub_uint8_t pointer for data.
6134 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6135 Likewise.
6136 * video/fb/fbutil.c: Remove unnecessary casts.
6137
6138 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
6139
6140 VBE cleanup.
6141
6142 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6143 (grub_vbe_set_video_mode): Save active mode info
6144 only after setting the mode.
6145 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6146 second argument.
6147
6148 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
6149
6150 Rename variables for clarity.
6151
6152 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6153 (active_vbe_mode_info): ... this. All users updated.
6154 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6155 All users updated.
6156 (initial_mode): Rename to ...
6157 (initial_vbe_mode): ... this. All users updated.
6158 (mode_in_use): Rename to ..
6159 (vbe_mode_in_use): ... this. All users updated.
6160 (mode_list): Rename to ..
6161 (vbe_mode_list): ... this. All users updated.
6162 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6163 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6164 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6165 'mode_list_size' to 'vbe_mode_list_size'.
6166 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6167 'best_mode_info' to 'best_vbe_mode_info' and
6168 'best_mode' to 'best_vbe_mode'
6169
6170 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
6171
6172 Remove duplicate grub_video_fb_get_video_ptr.
6173
6174 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6175 (grub_video_fb_get_video_ptr): ... this.
6176 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6177 * video/fb/fbutil.c: Add comment about addressing.
6178 (get_data_ptr): Rename to ...
6179 (grub_video_fb_get_video_ptr): ... this. All users updated.
6180 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6181
6182 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6183
6184 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6185 grub_dprintf() that was just added.
6186
6187 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6188
6189 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6190 (DEFAULT_VIDEO_MODE): Remove macros.
6191 (grub_linux_boot): Remove assumption that Linux has FB support,
6192 and use "text" as default video mode.
6193
6194 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6197 grub_dprintf.
6198 * fs/fat.c (grub_fat_read_data): Likewise.
6199
6200 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6203 payload.
6204 (grub_module): Likewise.
6205
6206 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6209 mbi->cmdline but free playground.
6210
6211 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Handle group offset on UFS1.
6214
6215 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6216 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6217
6218 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 Split ufs.mod into ufs1.mod and ufs2.mod.
6221
6222 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6223 (grub_fstest_SOURCES): Likewise.
6224 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6225 (ufs_mod_SOURCES): Remove.
6226 (ufs_mod_CFLAGS): Likewise.
6227 (ufs_mod_LDFLAGS): Likewise.
6228 (ufs1_mod_SOURCES): New variable.
6229 (ufs1_mod_CFLAGS): Likewise.
6230 (ufs1_mod_LDFLAGS): Likewise.
6231 (ufs2_mod_SOURCES): New variable.
6232 (ufs2_mod_CFLAGS): Likewise.
6233 (ufs2_mod_LDFLAGS): Likewise.
6234 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6235 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6236 Likewise.
6237 (grub_emu_SOURCES): Likewise.
6238 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6239 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6240 (grub_setup_SOURCES): Likewise.
6241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6242 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6243 (grub_setup_SOURCES): Likewise.
6244 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6245 Likewise.
6246 * fs/ufs2.c: New file.
6247 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6248
6249 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 Framebuffer split.
6252
6253 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6254 subsystem at the end.
6255 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6256 (video_fb_mod_SOURCES): New variable.
6257 (video_fb_mod_CFLAGS): Likewise.
6258 (video_fb_mod_LDFLAGS): Likewise.
6259 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6260 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6261 * video/i386/pc/vbeblit.c: Moved from here ...
6262 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6263 * video/i386/pc/vbefill.c: Moved from here ...
6264 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6265 * video/i386/pc/vbeutil.c: Moved from here ...
6266 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6267 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6268 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6269 * include/grub/i386/pc/vbefill.h: Moved from here ...
6270 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6271 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6272 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6273 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6274 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6275 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6276 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6277 (grub_video_adapter): Added 'get_info_and_fini'.
6278 (grub_video_get_info_and_fini): New prototype.
6279 (grub_video_set_mode): make modestring const char *.
6280 * loader/i386/linux.c (grub_linux_setup_video): Use
6281 grub_video_get_info_and_fini.
6282 (grub_linux_boot): Move modesetting just before booting.
6283 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6284 grub_video_get_info_and_fini.
6285 * video/i386/pc/vbe.c: Moved framebuffer part ...
6286 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6287 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6288 grub_video_fbstd_colors and grub_video_fb_set_palette.
6289 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6290 grub_video_fb_init.
6291 (grub_video_vbe_fini): Use grub_video_fb_fini.
6292 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6293 render_target and use grub_video_fb_set_active_render_target and
6294 grub_video_fb_set_palette.
6295 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6296 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6297 (grub_video_vbe_adapter): Use framebuffer.
6298 * video/video.c (grub_video_get_info_and_fini): New function.
6299 (grub_video_set_mode): Make modestring const char *.
6300 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6301 values are already initialised.
6302
6303 2009-08-14 Pavel Roskin <proski@gnu.org>
6304
6305 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6306 ABS and APPLE_CC.
6307 * boot/i386/pc/diskboot.S: Likewise.
6308 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6309 sectors allow compilation on MacOSX.
6310 * conf/i386-pc.rmk: Enable unconditional compilation of
6311 lnxboot.img.
6312
6313 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
6314
6315 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6316 * util/grub.d/00_header.in: Enter interruptible sleep if
6317 GRUB_HIDDEN_TIMEOUT is set.
6318
6319 2009-08-13 Yves Blusseau <blusseau@zetam.org>
6320
6321 * include/grub/symbol.h: Add the LOCAL macro.
6322 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6323 starting with "L_".
6324
6325 2009-08-13 Pavel Roskin <proski@gnu.org>
6326
6327 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6328 any modern compilers we support.
6329
6330 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6331 Use local labels starting with "L_" so that Apple assembler
6332 knows they are local.
6333
6334 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6335
6336 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6337 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6338 (bsd_kernel_types): ... this enum.
6339
6340 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6341 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6342 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6343
6344 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6345 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6346 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6347 messages.
6348
6349 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6350
6351 * util/grub-dumpdevtree: Moved from here ...
6352 * util/i386/efi/grub-dumpdevtree: ... to here.
6353 (hexify): New function. Converts a string to its hex version.
6354 Generate hex versions of "efi" and "device-properties" by calling
6355 hexify() on the ASCII strings rather than by hardcoding numbers.
6356
6357 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6358
6359 * fs/jfs.c: Update copyright year.
6360
6361 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
6362
6363 * util/grub.d/00_header.in: Fix a comment.
6364 * util/grub.d/10_linux.in: Likewise.
6365 * util/grub.d/10_windows.in: Likewise.
6366 * util/grub.d/10_hurd.in: Likewise.
6367
6368 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
6369
6370 * util/grub-mkconfig.in: Allow the user to specify the used font
6371 with GRUB_FONT.
6372
6373 2009-08-08 Pavel Roskin <proski@gnu.org>
6374
6375 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6376 available, xfs.mod needs it now.
6377
6378 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6379 the "g" modifier in sed when the intention is to strip something
6380 once. This fixes comparison of kernels with multiple dashes.
6381
6382 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6383 on it. Add missing space before closing bracket. Fix
6384 misleading formatting.
6385
6386 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6387
6388 * docs/grub.texi: Major overhaul. Remove all sections that are
6389 specific to GRUB Legacy, or mostly composed of Legacy-specific
6390 information.
6391
6392 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6393
6394 * docs/version.texi: New file. Provides version information for
6395 grub.texi.
6396
6397 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6398
6399 * docs/grub.texi: Update CVS information to SVN.
6400 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6401
6402 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
6403
6404 * util/grub-mkconfig.in: Remove a wrong `fi'.
6405
6406 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
6407
6408 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6409 (grub_jfs_uuid): New function.
6410 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6411
6412 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
6413
6414 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6415 of it to ...
6416 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6417 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6418
6419 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6420
6421 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6422 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6423 Update all users.
6424
6425 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6426 not just "vmlinu[zx]".
6427 Moved from here ...
6428 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6429 all users.
6430
6431 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6432 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6433 all users.
6434
6435 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6436
6437 * util/grub.d/10_freebsd.in: Use an absolute device path for
6438 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6439
6440 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
6441
6442 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6443 handling of multiple abstraction modules.
6444
6445 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6446
6447 Fix a bug resulting in black screen when loading Linux using a
6448 packed video mode.
6449
6450 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6451 function.
6452
6453 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6454 (grub_vbe_bios_getset_dac_palette_width): New function.
6455 (grub_vbe_bios_get_dac_palette_width)
6456 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6457 grub_vbe_bios_getset_dac_palette_width()).
6458
6459 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6460 check for return status.
6461 (grub_vbe_get_video_mode_info): When getting information for a packed
6462 mode (<= 8 bpp), obtain DAC palette width using
6463 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6464 {red,green,blue}_mark_size.
6465
6466 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
6467
6468 * commands/search.c (options): Fix help output to match actual code.
6469
6470 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6473 of homegrown code.
6474
6475 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6478 on XFS or ReiserFS.
6479
6480 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 Support Apple partition map with sector size different from 512 bytes.
6483
6484 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6485 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6486 and 'apart.partmap_size'.
6487
6488 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6489 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6490
6491 Fix cpuid command.
6492
6493 * commands/i386/cpuid.c (options): New variable.
6494 (grub_cmd_cpuid): Return real error.
6495 (GRUB_MOD_INIT(cpuid)): Declare options.
6496
6497 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6500 valid.
6501
6502 2009-07-31 Bean <bean123ch@gmail.com>
6503
6504 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6505 log2_inode.
6506 (grub_fshelp_node): Move inode field to the end.
6507 (grub_xfs_data): Remove inode field.
6508 (grub_xfs_inode_block): Calculate inode size using sblock.
6509 (grub_xfs_inode_offset): Likewise.
6510 (grub_xfs_read_inode): Calculate inode size using sblock.
6511 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6512 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6513 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6514 to match inode size.
6515 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6516 not accessible when data is null.
6517 (grub_xfs_open): Likewise.
6518
6519 2009-07-31 Bean <bean123ch@gmail.com>
6520
6521 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6522 Don't change pv->disk if it's already set.
6523
6524 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6525 (grub_raid_register): ... here.
6526 (grub_raid_rescan): Removed.
6527
6528 * include/grub/raid.h (grub_raid_rescan): Removed.
6529
6530 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6531 (fstest): Replace grub_raid_rescan with module fini function followed
6532 by init function.
6533
6534 * util/grub-probe.c: Add include file <grub/raid.h>.
6535 (probe_raid_level): New function.
6536 (probe): Detect abstraction by walking the disk device, support two
6537 level of abstraction (LVM on RAID) when detecting partition map.
6538
6539 2009-07-31 Pavel Roskin <proski@gnu.org>
6540
6541 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6542 to grub_zalloc(), it was erroneous.
6543 Reported by Bean <bean123ch@gmail.com>
6544
6545 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
6548 embedding zone, not only the first one.
6549
6550 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
6551
6552 * term/gfxterm.c (clear_char): New function.
6553 (grub_virtual_screen_setup): Use clear_char.
6554 (scroll_up): Likewise.
6555 (grub_virtual_screen_cls): Likewise.
6556
6557 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
6558
6559 * util/deviceiter.c (get_acceleraid_disk_name): New static
6560 function.
6561 (grub_util_iterate_devices): Handle Accelraid devices.
6562 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6563
6564 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6565
6566 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6567 separator for the suggested gfxpayload string (';' collides with the
6568 parser and needs escaping).
6569
6570 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6573 Clear direction flag before jumping to OS.
6574 (grub_multiboot2_real_boot): Likewise.
6575
6576 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
6577
6578 * util/i386/pc/grub-install: Fix parsing of --disk-module
6579 option.
6580
6581 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
6582
6583 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6584 when embedding.
6585
6586 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
6587
6588 * util/grub-mkconfig.in (package_version): New variable.
6589 Use it do display the version.
6590
6591 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
6592
6593 * kern/file.c (grub_file_open): Revert to previous check with
6594 grub_errno.
6595
6596 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6599 from help line. It's out of sync with code.
6600
6601 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6604 entries on failed boot.
6605
6606 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
6607
6608 * kern/file.c (grub_file_open): Fix an error check.
6609
6610 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6613 partition map couldn't be identified.
6614
6615 2009-07-23 Pavel Roskin <proski@gnu.org>
6616
6617 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6618 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6619 case of little endian words becomes just an optimization.
6620 Respect const modifier.
6621 (md5_final): Use code that doesn't depend on endianness.
6622
6623 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6624 to avoid loss of upper bits if align is unsigned and shorter
6625 than addr.
6626
6627 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 UUID support for UFS
6630
6631 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6632 (grub_ufs_uuid): New function.
6633 (grub_ufs_fs): add .uuid
6634
6635 2009-07-21 Pavel Roskin <proski@gnu.org>
6636
6637 * kern/dl.c (grub_dl_check_header): Make static.
6638
6639 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
6640
6641 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6642 add drivemap for Vista. It breaks Windows 7.
6643
6644 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6647 128 bytes
6648
6649 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 Add BFS support
6652
6653 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6654 (grub_fstest_SOURCES): Likewise.
6655 (pkglib_MODULES): Add befs.mod.
6656 (befs_mod_SOURCES): New variable.
6657 (befs_mod_CFLAGS): Likewise.
6658 (befs_mod_LDFLAGS): Likewise.
6659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6660 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6661 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6662 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6663 (grub_setup_SOURCES): Likewise.
6664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6665 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6666 (grub_setup_SOURCES): Likewise.
6667 * fs/befs.c: New file.
6668 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6669 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6670 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6671 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6672 (B_KEY_INDEX_ALIGN): New declaration.
6673 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6674 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6675 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6676 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6677 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6678 (grub_afs_mount) [MODE_BFS]: Likewise.
6679 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6680 (grub_afs_fs): Use GRUB_AFS_FSNAME
6681 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6682 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6683 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6684 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6685
6686 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6687
6688 * util/getroot.c (find_root_device): Add support for MacOSX.
6689 * util/hostdisk.c: Likewise.
6690
6691 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * font/font.c (find_glyph): Check whether a font is present to avoid
6694 segmentation fault.
6695
6696 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
6697
6698 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6699
6700 2009-07-20 Pavel Roskin <proski@gnu.org>
6701
6702 * configure.ac: Trim excessively wordy excuses.
6703
6704 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 Add symlink, mtime and label support to AtheFS.
6707
6708 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6709 (grub_afs_iterate_dir): Handle symlinks.
6710 (grub_afs_open): Use grub_afs_read_symlink.
6711 (grub_afs_dir): Likewise.
6712 Pass mtime.
6713 (grub_afs_label): New function.
6714 (grub_afs_fs): Add grub_afs_label.
6715 (grub_afs_read_symlink): New function.
6716
6717 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 Fix AtheFS support.
6720
6721 * fs/afs.c: Fix comments style.
6722 (grub_afs_blockrun): Declare as packed.
6723 (grub_afs_datastream): Likewise.
6724 (grub_afs_bnode): Likewise.
6725 (grub_afs_btree): Likewise.
6726 (grub_afs_sblock): Likewise.
6727 Declare `name' as char.
6728 (grub_afs_inode): Declare as packed.
6729 Change void *vnode to grub_uint32_t unused.
6730 (grub_afs_iterate_dir): Check that key_size is positive.
6731 (grub_afs_mount): Don't read superblock twice.
6732 (grub_afs_dir): Don't free node in case of error,
6733 grub_fshelp_find_file already handles this.
6734 (grub_afs_open): Likewise.
6735
6736 2009-07-19 Pavel Roskin <proski@gnu.org>
6737
6738 * Makefile.in: Remove LIBLZO and enable_lzo.
6739 * conf/i386-pc.rmk: Remove lzo support.
6740 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6741 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6742 support.
6743 * kern/i386/pc/lzo1x.S: Remove.
6744 * kern/i386/pc/startup.S: Remove lzo support.
6745 * util/i386/pc/grub-mkimage.c: Likewise.
6746
6747 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6750 * fs/xfs.c (grub_xfs_dir): Likewise.
6751 * fs/afs.c (grub_afs_dir): Likewise.
6752 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6753 (grub_iso9660_open): Likewise.
6754 * fs/jfs.c (grub_jfs_open): Likewise.
6755 * fs/ext2.c (grub_ext2_dir): Likewise.
6756 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6757 * script/sh/lexer.c (grub_script_yylex): Likewise.
6758
6759 2009-07-16 Pavel Roskin <proski@gnu.org>
6760
6761 * configure.ac: Never add "-c" to CFLAGS.
6762
6763 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6764
6765 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6766 grub_cv_cc_efiemu should be used.
6767
6768 * configure.ac: Typo fixes.
6769
6770 * kern/mm.c (grub_zalloc): New function.
6771 (grub_debug_zalloc): Likewise.
6772 * include/grub/mm.h: Declare grub_zalloc() and
6773 grub_debug_zalloc().
6774 * util/misc.c (grub_zalloc): New function.
6775 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6776 instead of grub_malloc(), remove unneeded initializations.
6777 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6778 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6779 * commands/parttool.c (grub_cmd_parttool): Likewise.
6780 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6781 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6782 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6783 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6784 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6785 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6786 (grub_cmd_efiemu_pnvram): Likewise.
6787 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6788 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6789 (grub_iso9660_iterate_dir): Likewise.
6790 * fs/jfs.c (grub_jfs_opendir): Likewise.
6791 * fs/ntfs.c (list_file): Likewise.
6792 (grub_ntfs_mount): Likewise.
6793 * kern/disk.c (grub_disk_open): Likewise.
6794 * kern/dl.c (grub_dl_load_core): Likewise.
6795 * kern/elf.c (grub_elf_file): Likewise.
6796 * kern/env.c (grub_env_context_open): Likewise.
6797 (grub_env_set): Likewise.
6798 (grub_env_set_data_slot): Likewise.
6799 * kern/file.c (grub_file_open): Likewise.
6800 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6801 * loader/i386/multiboot.c (grub_module): Likewise.
6802 * loader/xnu.c (grub_xnu_create_key): Likewise.
6803 (grub_xnu_create_value): Likewise.
6804 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6805 (read_config_file): Likewise.
6806 * normal/menu_entry.c (make_screen): Likewise.
6807 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6808 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6809 * script/sh/script.c (grub_script_parse): Likewise.
6810 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6811 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6812 * video/readers/png.c (grub_png_output_byte): Likewise.
6813 (grub_video_reader_png): Likewise.
6814
6815 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Enable all targets that can be built by default
6818
6819 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
6820 grub-mkfont and grub-fstest if they can be built
6821
6822 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 Fix hang and segmentation fault in grub-emu-usb
6825
6826 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6827 * util/usb.c (grub_libusb_devices): likewise
6828 (grub_libusb_init): rename to ...
6829 (GRUB_MOD_INIT (libusb)):...this
6830 (grub_libusb_fini): rename to ..
6831 (GRUB_MOD_FINI (libusb)):...this
6832 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6833 * include/grub/disk.h (grub_raid_init): removed, it's useless
6834 (grub_raid_fini): likewise
6835 (grub_lvm_init): likewise
6836 (grub_lvm_fini): likewise
6837 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6838 by grub_init_all
6839
6840 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 Fix libusb
6843
6844 * Makefile.in (LIBUSB): new macro
6845 * genmk.rb (Utility/print_tail): new method
6846 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6847 (top level): call util.print_tail at the end.
6848
6849 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 Make FreeBSD accept zpool.cache
6852
6853 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6854 type is /boot/zfs/zpool.cache
6855
6856 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Fix 64-bit efiemu
6859
6860 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6861 correct wrong typedef
6862 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6863
6864 2009-07-15 Pavel Roskin <proski@gnu.org>
6865
6866 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6867 * kern/disk.c (struct grub_disk_cache): Likewise.
6868
6869 * commands/probe.c (options): Typo fix.
6870
6871 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6872 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6873 accordingly.
6874 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6875
6876 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6877 the end of "Error" to make the message more readable.
6878
6879 * boot/i386/pc/boot.S (kernel_segment): Remove.
6880 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6881 for destination.
6882
6883 * boot/i386/pc/boot.S (boot_version): Remove.
6884 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6885 Remove.
6886
6887 * include/grub/i386/pc/boot.h: Sort all offsets.
6888 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6889 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6890 * boot/i386/pc/boot.S: Assert location of every offset listed in
6891 include/grub/i386/pc/boot.h.
6892
6893 2009-07-13 Pavel Roskin <proski@gnu.org>
6894
6895 * include/grub/i386/coreboot/machine.h: Rename
6896 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6897 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6898 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6899
6900 * kern/dl.c: Force native word size to suppress warnings when
6901 compiling grub-emu.
6902
6903 * kern/device.c (grub_device_iterate): Change struct part_ent to
6904 hold the name, not a pointer to it. Use one grub_malloc() per
6905 partition, not two. Free partition_name if grub_malloc() fails.
6906 Set ents to NULL only before grub_partition_iterate() is called.
6907
6908 2009-07-11 Bean <bean123ch@gmail.com>
6909
6910 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6911 childname.
6912
6913 2009-07-10 Bean <bean123ch@gmail.com>
6914 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6915
6916 * kern/ieee1275/openfw.c (grub_children_iterate)
6917 (grub_devalias_iterate): Fix size evaluation for property or path
6918 strings, which was broken since r2132.
6919
6920 2009-07-07 Pavel Roskin <proski@gnu.org>
6921
6922 * commands/search.c (search_file): Merge into ...
6923 (search_fs): ... this. Accept search type as argument.
6924 (grub_cmd_search): Pass search type to search_fs().
6925
6926 * include/grub/util/console.h: New file.
6927 * util/console.c: Use it instead of grub/machine/console.h.
6928 * util/grub-emu.c: Likewise.
6929
6930 * lib/arg.c (find_long_option): Remove.
6931 (find_long): Add `len' argument, make `s' const char *.
6932 (grub_arg_parse): Parse long options in place, not in a
6933 temporary buffer.
6934
6935 2009-07-06 Pavel Roskin <proski@gnu.org>
6936
6937 * commands/search.c (search_fs): Fix potential NULL pointer
6938 dereference.
6939
6940 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6941 function pointer.
6942
6943 2009-07-06 Daniel Mierswa <impulze@impulze.org>
6944
6945 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6946 comparison.
6947
6948 2009-07-05 Pavel Roskin <proski@gnu.org>
6949
6950 * include/grub/i386/linux.h (struct linux_kernel_params):
6951 Restore padding3, it's still needed.
6952
6953 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6954 FreeBSD.
6955 * util/osdetect.lua: Likewise.
6956
6957 2009-07-05 Bean <bean123ch@gmail.com>
6958
6959 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6960
6961 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6962 (grub_lua_getenv): Likewise.
6963 (grub_lua_setenv): Likewise.
6964 (save_errno): New function.
6965 (push_result): Likewise.
6966 (grub_lua_enum_device): Likewise.
6967 (grub_lua_enum_file): Likewise.
6968 (grub_lua_file_open): Likewise.
6969 (grub_lua_file_close): Likewise.
6970 (grub_lua_file_seek): Likewise.
6971 (grub_lua_file_read): Likewise.
6972 (grub_lua_file_getline): Likewise.
6973 (grub_lua_file_getsize): Likewise.
6974 (grub_lua_file_getpos): Likewise.
6975 (grub_lua_file_eof): Likewise.
6976 (grub_lua_file_exist): Likewise.
6977 (grub_lua_add_menu): Likewise.
6978
6979 * script/lua/grub_lua.h (isupper): New inline function.
6980 (islower): Likewise.
6981 (ispunct): Likewise.
6982 (isxdigit): Likewise.
6983 (strcspn): Change to normal function.
6984 (strpbkr): New function declaration.
6985 (memchr): Likewise.
6986
6987 * script/lua/grub_main.c (scan_str): New function.
6988 (strcspn): Likewise.
6989 (strpbrk): Likewise.
6990 (memchr): Likewise.
6991
6992 * script/lua/linit.c (lualibs): Enable the string library.
6993
6994 * util/osdetect.lua: New file.
6995
6996 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6997
6998 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6999 `capabilities' member.
7000
7001 2009-07-02 Pavel Roskin <proski@gnu.org>
7002
7003 * genparttoollist.sh: Add missing newline at the end.
7004
7005 2009-07-01 Pavel Roskin <proski@gnu.org>
7006
7007 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
7008
7009 * util/hostdisk.c (open_device): Remove `const' from
7010 `sysctl_size', as sysctlbyname() can change it (in this case it
7011 doesn't actually happen).
7012
7013 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
7014 using signed long int constants.
7015
7016 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
7017 constant to avoid a warning on FreeBSD.
7018
7019 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
7020 where it's needed.
7021
7022 * Makefile.in: Install include/grub/machine symlink.
7023
7024 * Makefile.in: When installing symlinks, use "cp -fR", which
7025 works on FreeBSD and MacOSX.
7026 From Yves Blusseau <cl7m42e02@sneakemail.com>
7027
7028 * kern/dl.c (grub_dl_resolve_symbol): Make static.
7029 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
7030
7031 * util/misc.c: Move grub_reboot() and grub_halt() ...
7032 * util/grub-emu.c: ... here. Make main_env static.
7033 * include/grub/util/misc.h: Remove main_env.
7034
7035 * kern/mm.c: Use correct format to print size_t.
7036
7037 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
7038 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
7039 * kern/powerpc/dl.c: Likewise.
7040 * kern/sparc64/dl.c: Likewise.
7041 * kern/x86_64/dl.c: Likewise.
7042
7043 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7044
7045 Fix grub-emu build on sparc64-ieee1275.
7046
7047 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
7048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
7049
7050 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7051
7052 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
7053 (grub_reboot, grub_halt): New functions.
7054
7055 * util/i386/pc/misc.c: Delete. Update all users.
7056 * util/sparc64/ieee1275/misc.c: Likewise.
7057 * util/powerpc/ieee1275/misc.c: Likewise.
7058
7059 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7060
7061 * conf/i386.rmk (setjmp_mod_SOURCES)
7062 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
7063 * conf/common.rmk (setjmp_mod_SOURCES)
7064 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
7065 to use $(target_cpu).
7066 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
7067 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
7068 * conf/powerpc-ieee1275.rmk: Likewise.
7069 * conf/sparc64-ieee1275.rmk: Likewise.
7070
7071 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
7072 $(target_cpu) for kern/$(target_cpu)/dl.c.
7073 * conf/i386-efi.rmk: Likewise.
7074 * conf/i386-ieee1275.rmk: Likewise.
7075 * conf/x86_64-efi.rmk: Likewise.
7076 * conf/i386-coreboot.rmk: Likewise.
7077 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7078 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7079 kern/$(target_cpu)/cache.S.
7080 * conf/sparc64-ieee1275.rmk: Likewise.
7081
7082 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7083
7084 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7085 type to `grub_uint8_t', and adjust `padding9' accordingly.
7086
7087 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7088
7089 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7090
7091 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7092 assembly in final jump, using register constraints.
7093
7094 (grub_linux_boot): For text mode, initialize `have_vga' using
7095 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7096
7097 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7098 right before the final jump.
7099
7100 Set `video_mode' to 0x3.
7101
7102 Document initialization of `video_page', `video_mode' and
7103 `video_ega_bx'.
7104
7105 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7106
7107 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7108 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
7109 and set GRUB_LINUX_FLAG_QUIET appropriately.
7110
7111 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7112
7113 Fix build on Debian / sparc.
7114
7115 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7116
7117 2009-06-28 Pavel Roskin <proski@gnu.org>
7118
7119 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7120 fix a warning.
7121
7122 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7123
7124 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7125
7126 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7127 `err'.
7128
7129 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7130
7131 Revert r2338.
7132
7133 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7134 file can't be opened. grub_file_open() is already supposed to set
7135 grub_errno / grub_errmsg appropriately.
7136 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7137
7138 2009-06-27 Pavel Roskin <proski@gnu.org>
7139 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7140
7141 * include/grub/dl.h: Include grub/elf.h.
7142 (struct grub_dl): Add symtab field.
7143 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7144 GRUB_MODULES_MACHINE_READONLY.
7145 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7146 of the header for read-only modules.
7147 (grub_dl_unload): Free mod->symtab for read-only modules.
7148 * kern/i386/dl.c: Use mod->symtab.
7149 * kern/powerpc/dl.c: Likewise.
7150 * kern/sparc64/dl.c: Likewise.
7151 * kern/x86_64/dl.c: Likewise.
7152
7153 * conf/i386-qemu.rmk: New file.
7154 * kern/i386/qemu/startup.S: Likewise.
7155 * kern/i386/qemu/mmap.c: Likewise.
7156 * boot/i386/qemu/boot.S: Likewise.
7157 * include/grub/i386/qemu/time.h: Likewise.
7158 * include/grub/i386/qemu/serial.h: Likewise.
7159 * include/grub/i386/qemu/kernel.h: Likewise.
7160 * include/grub/i386/qemu/console.h: Likewise.
7161 * include/grub/i386/qemu/boot.h: Likewise.
7162 * include/grub/i386/qemu/init.h: Likewise.
7163 * include/grub/i386/qemu/machine.h: Likewise.
7164 * include/grub/i386/qemu/loader.h: Likewise.
7165 * include/grub/i386/qemu/memory.h: Likewise.
7166
7167 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7168 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7169 [qemu] (pkglib_IMAGES): Add `boot.img'.
7170 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7171 [qemu] (boot_img_FORMAT): New variables.
7172 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7173 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7174 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7175 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7176 [qemu] (kernel_img_FORMAT): New variables.
7177
7178 * configure.ac: Recognise `i386-qemu'.
7179
7180 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7181 (for no compression).
7182 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7183 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7184 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7185 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7186 ifdefs).
7187
7188 2009-06-27 Pavel Roskin <proski@gnu.org>
7189
7190 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7191 read.
7192 * efiemu/prepare32.c: Likewise.
7193 * efiemu/prepare64.c: Likewise.
7194
7195 2009-06-26 Pavel Roskin <proski@gnu.org>
7196
7197 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7198 * include/grub/elf.h: Define symbols without "32" or "64" based
7199 on GRUB_TARGET_WORDSIZE.
7200 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7201 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7202 ELF definitions.
7203 * efiemu/loadcore64.c: Likewise.
7204 * loader/i386/bsd32.c: Likewise.
7205 * loader/i386/bsd64.c: Likewise.
7206 * kern/dl.c: Remove own ELF definitions.
7207 * util/i386/efi/grub-mkimage.c: Likewise.
7208
7209 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7210
7211 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7212 segment 0x0 unconditionally, because the reference generated by
7213 GAS is an absolute address.
7214
7215 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7216
7217 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7218 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7219
7220 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7221
7222 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7223 indexes. Check for -f explicitly.
7224 (search_file): Improve error message.
7225 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
7226
7227 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7228
7229 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7230 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7231
7232 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7233
7234 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7235 * conf/i386-ieee1275.rmk: Likewise.
7236 * conf/i386-coreboot.rmk: Likewise.
7237
7238 * kern/i386/pc/startup.S (grub_stop): Remove function.
7239 * kern/i386/ieee1275/startup.S: Likewise.
7240 * kern/i386/coreboot/startup.S: Likewise.
7241 * kern/i386/misc.S (grub_stop): New function.
7242
7243 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7244
7245 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7246 * kern/i386/realmode.S (real_to_prot): ... to here.
7247
7248 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7249
7250 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7251 with `kernel.img'.
7252 (kernel_elf_SOURCES): Rename to ...
7253 (kernel_img_SOURCES): ... this.
7254 (kernel_elf_HEADERS): Rename to ...
7255 (kernel_img_HEADERS): ... this. Update all users.
7256 (kernel_elf_ASFLAGS): Rename to ...
7257 (kernel_img_ASFLAGS): ... this.
7258 (kernel_elf_CFLAGS): Rename to ...
7259 (kernel_img_CFLAGS): ... this.
7260 (kernel_elf_LDFLAGS): Rename to ...
7261 (kernel_img_LDFLAGS): ... this.
7262 * conf/i386-coreboot.rmk: Likewise.
7263 * conf/powerpc-ieee1275.rmk: Likewise.
7264
7265 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7266 with "kernel.img".
7267
7268 2009-06-21 Pavel Roskin <proski@gnu.org>
7269
7270 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7271 to match nested functions.
7272 * loader/sparc64/ieee1275/linux.c: Likewise.
7273
7274 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7275
7276 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7277
7278 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7279 all i386 platforms.
7280
7281 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7282
7283 Fix asm file handling on ELF, and remove workarounds.
7284
7285 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
7286 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
7287 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7288 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7289
7290 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Load BSD ELF modules
7293
7294 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7295 and loader/i386/bsd64.c
7296 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7297 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7298 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7299 (grub_freebsd_load_elfmodule32): New declaration
7300 (grub_freebsd_load_elfmoduleobj64): Likewise
7301 (grub_freebsd_load_elf_meta32): Likewise
7302 (grub_freebsd_load_elf_meta64): Likewise
7303 (grub_freebsd_add_meta): Likewise
7304 (grub_freebsd_add_meta_module): Likewise
7305 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7306 (grub_freebsd_add_meta_module): Likewise and move module-specific
7307 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7308 (grub_cmd_freebsd): Add elf-kernel specific parts
7309 based on grub_freebsd_add_meta_module
7310 (grub_cmd_freebsd_module): Add type parsing moved from
7311 grub_freebsd_add_meta_module
7312 (grub_cmd_freebsd_module_elf): New function
7313 (cmd_freebsd_module_elf): New variable
7314 (GRUB_MOD_INIT): Register freebsd_module_elf
7315 * loader/i386/bsd32.c: New file
7316 * loader/i386/bsd64.c: Likewise
7317 * loader/i386/bsdXX.c: Likewise
7318 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7319 (grub_elf64_load): Likewise
7320 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7321 All users updated
7322 (grub_elf64_load_hook_t): Likewise
7323
7324 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
7325
7326 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7327 variable.
7328 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7329 don't write a menu entry for recovery mode.
7330
7331 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7332
7333 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7334 after it's no longer needed.
7335
7336 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7337
7338 * include/grub/i386/loader.h (grub_linux_prot_size)
7339 (grub_linux_tmp_addr, grub_linux_real_addr)
7340 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7341 GRUB_MACHINE_PCBIOS.
7342 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7343 common grub_util_info() call to ...
7344 (generate_image): ... here.
7345 Fix use of uninitialized memory, comparison of signed with
7346 unsigned integers and memory leak.
7347 Remove bogus module address message.
7348
7349 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7352 grub_raid_register
7353 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7354
7355 2009-06-19 Pavel Roskin <proski@gnu.org>
7356
7357 * configure.ac: Remove stray AC_MSG_CHECKING.
7358
7359 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * disk/scsi.c (grub_scsi_open): use continue instead of big if
7362
7363 2009-06-18 Pavel Roskin <proski@gnu.org>
7364
7365 * conf/common.rmk: Add fs_file.mod.
7366 * disk/fs_file.c: New file.
7367 * include/grub/disk.h (enum grub_disk_dev_id): Add
7368 GRUB_DISK_DEVICE_FILE_ID.
7369
7370 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 Fix build with Apple's toolchain. Part 2
7373
7374 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7375 a fake start
7376
7377 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 Fix build with Apple's toolchain. Part 1
7380
7381 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7382 for long calls
7383 * configure.ac: remove a leftover AC_MSG_RESULT
7384 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
7385 Apple's toolchain
7386
7387 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 Fix warnings
7390
7391 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7392 (decomp_block): initialize ch
7393 use grub_memcpy instead of memcpy
7394
7395 2009-06-17 Pavel Roskin <proski@gnu.org>
7396
7397 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7398 version, use declarations needed to use vga_text as the startup
7399 console.
7400
7401 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7402 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7403 the kernel.
7404 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7405 and grub_at_keyboard_fini(), it's done on module load and
7406 unload.
7407
7408 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
7409
7410 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7411 file can't be found.
7412 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7413
7414 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 Fix newline handling
7417
7418 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
7419 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
7420 (grub_script_yylex): don't segfault on unterminated script
7421 newline terminates command and variable
7422
7423 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 avoid double grub_adjust_range call. Bug reported by David Simner
7426
7427 * kern/disk.c (grub_disk_write): change to raw disk access before
7428 calling disk_read
7429
7430 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
7431
7432 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7433 spaces, for the benefit of help2man.
7434 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7435
7436 2009-06-16 Pavel Roskin <proski@gnu.org>
7437
7438 * kern/i386/halt.c: Include grub/machine/init.h.
7439 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7440
7441 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
7442
7443 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7444 drivemap menuentry.
7445
7446 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7447
7448 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7449 `echo' command.
7450
7451 2009-06-16 Pavel Roskin <proski@gnu.org>
7452
7453 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7454 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7455 save %dx, we only need %dl and we never change it.
7456 * boot/i386/pc/cdboot.S: Don't set the root drive.
7457 * boot/i386/pc/pxeboot.S: Likewise.
7458 * include/grub/i386/pc/boot.h: Remove
7459 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7460 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7461 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7462 * kern/i386/pc/init.c (make_install_device): Remove references
7463 to grub_root_drive.
7464 * kern/i386/pc/startup.S: Likewise.
7465 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7466
7467 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 xnu_uuid command
7470
7471 * commands/xnu_uuid.c: new file
7472 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7473 (xnu_uuid_mod_SOURCES): new variable
7474 (xnu_uuid_mod_CFLAGS): likewise
7475 (xnu_uuid_mod_LDFLAGS): likewise
7476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7477 * conf/i386-ieee1275.rmk: likewise
7478 * conf/i386-pc.rmk: likewise
7479 * conf/powerpc-ieee1275.rmk: likewise
7480 * conf/sparc64-ieee1275.rmk: likewise
7481 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7482
7483 2009-06-16 Pavel Roskin <proski@gnu.org>
7484
7485 * configure.ac: Avoid '==' in test command, it's not portable.
7486
7487 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 Probe command
7490
7491 * commands/probe.c: new file
7492 * conf/common.rmk (pkglib_MODULES): add probe.mod
7493 (probe_mod_SOURCES): new variable
7494 (probe_mod_CFLAGS): likewise
7495 (probe_mod_LDFLAGS): likewise
7496 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7497 * conf/i386-ieee1275.rmk: likewise
7498 * conf/i386-pc.rmk: likewise
7499 * conf/powerpc-ieee1275.rmk: likewise
7500 * conf/sparc64-ieee1275.rmk: likewise
7501
7502 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Fix handling of string like \"hello\" and "a
7505 b"
7506
7507 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7508 (grub_script_yylex): fix parsing of quoting, escaping and newline
7509
7510 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
7513 handling
7514
7515 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
7516
7517 * util/grub-mkconfig.in: Fix parsing of --output option.
7518
7519 2009-06-12 Pavel Roskin <proski@gnu.org>
7520
7521 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7522 genmk.rb don't need to be generated or installed.
7523
7524 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * commands/i386/pc/drivemap_int13h.S: add more comments
7527
7528 2009-06-11 Pavel Roskin <proski@gnu.org>
7529
7530 * Makefile.in (uninstall): Uninstall manuals.
7531
7532 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7533 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7534 and update-grub_lib in two places.
7535 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7536
7537 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7538 a compiler warning.
7539
7540 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7541 `entry_lo' to fix variable shadowing.
7542
7543 2009-06-11 Christian Franke <franke@computer.org>
7544
7545 * kern/misc.c (__enable_execute_stack): Add missing return type
7546 to prevent gcc warning.
7547
7548 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
7549
7550 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7551
7552 2009-06-11 Pavel Roskin <proski@gnu.org>
7553
7554 * Makefile.in: Don't rely on any scripts being executable.
7555 Always use $(SHELL) to run shell scripts.
7556
7557 * configure.ac: Always define ___main if using -nostdlib. This
7558 fixes tests on Cygwin.
7559
7560 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7561
7562 UDF fix
7563
7564 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
7565 is in bytes and not in blocks
7566
7567 2009-06-11 Pavel Roskin <proski@gnu.org>
7568
7569 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7570 warning.
7571
7572 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
7573
7574 * util/grub.d/30_os-prober.in: Fix a comment. Source
7575 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7576 to set the root device. Place drivemap command in the generated
7577 chain entry.
7578
7579 2009-06-11 Pavel Roskin <proski@gnu.org>
7580
7581 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7582 have long been resolved.
7583
7584 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
7585
7586 * util/grub.d/10_linux.in: Capitalise "Linux".
7587
7588 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7589
7590 2009-06-11 Pavel Roskin <proski@gnu.org>
7591
7592 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7593 fix a gcc warning and ensure that the function won't ever exit.
7594
7595 * kern/i386/ieee1275/init.c: Add missing prototype for
7596 grub_stop_floppy().
7597
7598 * loader/ieee1275/multiboot2.c [__i386__]: Include
7599 grub/cpu/multiboot.h.
7600
7601 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7602 casts to short - they are not portable and cause warnings. Fix
7603 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7604
7605 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 Drivemap fixes
7608
7609 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7610 new function
7611 (grub_get_root_biosnumber_saved): new variable
7612 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7613 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
7614 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
7615 %dx after the call if necessary
7616 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7617 (boot_mod_SOURCES): remove
7618 (boot_mod_CFLAGS): remove
7619 (boot_mod_LDFLAGS): remove
7620 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7621 (boot_mod_SOURCES): new variable
7622 (boot_mod_CFLAGS): likewise
7623 (boot_mod_LDFLAGS): likewise
7624 * conf/i386-efi.rmk: likewise
7625 * conf/i386-ieee1275.rmk: likewise
7626 * conf/i386-pc.rmk: likewise
7627 * conf/powerpc-ieee1275.rmk: likewise
7628 * conf/sparc64-ieee1275.rmk: likewise
7629 * conf/x86_64-efi.rmk: likewise
7630 * include/grub/i386/pc/biosnum.h: new file
7631 * lib/i386/pc/biosnum.c: likewise
7632 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7633 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7634 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
7635
7636 2009-06-10 Pavel Roskin <proski@gnu.org>
7637
7638 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7639 Use separate variables. Read only the file size at the end, but
7640 not the checksum that we don't use.
7641
7642 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7643 Adjust all callers.
7644
7645 * kern/ieee1275/openfw.c: Remove libc includes.
7646 * kern/ieee1275/cmain.c: Likewise.
7647 * include/grub/ieee1275/ieee1275.h: Likewise.
7648
7649 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7650 compiler warnings.
7651
7652 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
7653
7654 * Makefile.in: Remove all trailing whitespace.
7655 * conf/i386-pc.rmk: Likewise.
7656 * conf/powerpc-ieee1275.rmk: Likewise.
7657 * conf/sparc64-ieee1275.rmk: Likewise.
7658 * docs/grub.texi: Likewise.
7659 * docs/texinfo.tex: Likewise.
7660 * disk/fs_uuid.c: Likewise.
7661 * disk/lvm.c: Likewise.
7662 * disk/scsi.c: Likewise.
7663 * disk/ata.c: Likewise.
7664 * disk/ieee1275/ofdisk.c: Likewise.
7665 * disk/i386/pc/biosdisk.c: Likewise.
7666 * disk/host.c: Likewise.
7667 * disk/raid.c: Likewise.
7668 * disk/efi/efidisk.c: Likewise.
7669 * disk/usbms.c: Likewise.
7670 * disk/memdisk.c: Likewise.
7671 * disk/loopback.c: Likewise.
7672 * kern/powerpc/dl.c: Likewise.
7673 * kern/device.c: Likewise.
7674 * kern/dl.c: Likewise.
7675 * kern/sparc64/dl.c: Likewise.
7676 * kern/ieee1275/ieee1275.c: Likewise.
7677 * kern/term.c: Likewise.
7678 * kern/fs.c: Likewise.
7679 * kern/i386/dl.c: Likewise.
7680 * kern/i386/pc/startup.S: Likewise.
7681 * kern/i386/pc/init.c: Likewise.
7682 * kern/i386/pc/mmap.c: Likewise.
7683 * kern/i386/pc/lzo1x.S: Likewise.
7684 * kern/i386/ieee1275/init.c: Likewise.
7685 * kern/i386/realmode.S: Likewise.
7686 * kern/i386/tsc.c: Likewise.
7687 * kern/partition.c: Likewise.
7688 * kern/corecmd.c: Likewise.
7689 * kern/file.c: Likewise.
7690 * kern/efi/efi.c: Likewise.
7691 * kern/efi/init.c: Likewise.
7692 * kern/efi/mm.c: Likewise.
7693 * kern/main.c: Likewise.
7694 * kern/err.c: Likewise.
7695 * kern/env.c: Likewise.
7696 * kern/disk.c: Likewise.
7697 * kern/generic/millisleep.c: Likewise.
7698 * kern/generic/rtc_get_time_ms.c: Likewise.
7699 * kern/misc.c: Likewise.
7700 * kern/parser.c: Likewise.
7701 * genmk.rb: Likewise.
7702 * configure.ac: Likewise.
7703 * boot/i386/pc/diskboot.S: Likewise.
7704 * boot/i386/pc/pxeboot.S: Likewise.
7705 * boot/i386/pc/boot.S: Likewise.
7706 * boot/i386/pc/lnxboot.S: Likewise.
7707 * boot/i386/pc/cdboot.S: Likewise.
7708 * parttool/pcpart.c: Likewise.
7709 * video/readers/tga.c: Likewise.
7710 * video/video.c: Likewise.
7711 * video/bitmap.c: Likewise.
7712 * lib/envblk.c: Likewise.
7713 * lib/i386/setjmp.S: Likewise.
7714 * fs/xfs.c: Likewise.
7715 * fs/afs.c: Likewise.
7716 * fs/fat.c: Likewise.
7717 * fs/ntfs.c: Likewise.
7718 * fs/udf.c: Likewise.
7719 * fs/affs.c: Likewise.
7720 * fs/iso9660.c: Likewise.
7721 * fs/hfs.c: Likewise.
7722 * fs/fshelp.c: Likewise.
7723 * fs/ext2.c: Likewise.
7724 * fs/jfs.c: Likewise.
7725 * fs/reiserfs.c: Likewise.
7726 * fs/hfsplus.c: Likewise.
7727 * fs/minix.c: Likewise.
7728 * fs/cpio.c: Likewise.
7729 * fs/sfs.c: Likewise.
7730 * fs/ufs.c: Likewise.
7731 * efiemu/prepare.c: Likewise.
7732 * efiemu/loadcore_common.c: Likewise.
7733 * efiemu/runtime/efiemu.sh: Likewise.
7734 * efiemu/runtime/efiemu.S: Likewise.
7735 * efiemu/runtime/efiemu.c: Likewise.
7736 * efiemu/pnvram.c: Likewise.
7737 * efiemu/main.c: Likewise.
7738 * efiemu/i386/pc/cfgtables.c: Likewise.
7739 * efiemu/i386/loadcore64.c: Likewise.
7740 * efiemu/i386/loadcore32.c: Likewise.
7741 * efiemu/loadcore.c: Likewise.
7742 * efiemu/symbols.c: Likewise.
7743 * efiemu/mm.c: Likewise.
7744 * include/grub/autoefi.h: Likewise.
7745 * include/grub/datetime.h: Likewise.
7746 * include/grub/term.h: Likewise.
7747 * include/grub/hfs.h: Likewise.
7748 * include/grub/lvm.h: Likewise.
7749 * include/grub/i386/tsc.h: Likewise.
7750 * include/grub/i386/linux.h: Likewise.
7751 * include/grub/i386/xnu.h: Likewise.
7752 * include/grub/i386/efiemu.h: Likewise.
7753 * include/grub/i386/pc/biosdisk.h: Likewise.
7754 * include/grub/i386/pc/memory.h: Likewise.
7755 * include/grub/i386/pc/vbe.h: Likewise.
7756 * include/grub/parttool.h: Likewise.
7757 * include/grub/video.h: Likewise.
7758 * include/grub/memory.h: Likewise.
7759 * include/grub/fs.h: Likewise.
7760 * include/grub/partition.h: Likewise.
7761 * include/grub/xnu.h: Likewise.
7762 * include/grub/efi/api.h: Likewise.
7763 * include/grub/efi/pe32.h: Likewise.
7764 * include/grub/efi/memory.h: Likewise.
7765 * include/grub/multiboot.h: Likewise.
7766 * include/grub/usbdesc.h: Likewise.
7767 * include/grub/multiboot2.h: Likewise.
7768 * include/grub/acpi.h: Likewise.
7769 * include/grub/efiemu/efiemu.h: Likewise.
7770 * include/grub/disk.h: Likewise.
7771 * include/grub/ieee1275/ieee1275.h: Likewise.
7772 * include/grub/net.h: Likewise.
7773 * include/grub/machoload.h: Likewise.
7774 * include/grub/macho.h: Likewise.
7775 * include/multiboot.h: Likewise.
7776 * genmoddep.awk: Likewise.
7777 * normal/main.c: Likewise.
7778 * normal/menu_entry.c: Likewise.
7779 * normal/menu_viewer.c: Likewise.
7780 * normal/completion.c: Likewise.
7781 * normal/cmdline.c: Likewise.
7782 * normal/misc.c: Likewise.
7783 * normal/datetime.c: Likewise.
7784 * bus/usb/usbtrans.c: Likewise.
7785 * bus/usb/ohci.c: Likewise.
7786 * bus/usb/uhci.c: Likewise.
7787 * bus/usb/usb.c: Likewise.
7788 * mmap/efi/mmap.c: Likewise.
7789 * mmap/i386/pc/mmap_helper.S: Likewise.
7790 * mmap/i386/pc/mmap.c: Likewise.
7791 * mmap/i386/mmap.c: Likewise.
7792 * mmap/i386/uppermem.c: Likewise.
7793 * mmap/mmap.c: Likewise.
7794 * commands/acpi.c: Likewise.
7795 * commands/echo.c: Likewise.
7796 * commands/blocklist.c: Likewise.
7797 * commands/loadenv.c: Likewise.
7798 * commands/usbtest.c: Likewise.
7799 * commands/boot.c: Likewise.
7800 * commands/parttool.c: Likewise.
7801 * commands/search.c: Likewise.
7802 * commands/cat.c: Likewise.
7803 * commands/i386/pc/play.c: Likewise.
7804 * commands/i386/pc/drivemap.c: Likewise.
7805 * commands/i386/pc/vbeinfo.c: Likewise.
7806 * commands/i386/pc/acpi.c: Likewise.
7807 * commands/i386/pc/vbetest.c: Likewise.
7808 * commands/ls.c: Likewise.
7809 * commands/cmp.c: Likewise.
7810 * commands/test.c: Likewise.
7811 * commands/efi/acpi.c: Likewise.
7812 * commands/gptsync.c: Likewise.
7813 * commands/help.c: Likewise.
7814 * partmap/amiga.c: Likewise.
7815 * partmap/apple.c: Likewise.
7816 * partmap/acorn.c: Likewise.
7817 * partmap/pc.c: Likewise.
7818 * partmap/sun.c: Likewise.
7819 * partmap/gpt.c: Likewise.
7820 * script/sh/lexer.c: Likewise.
7821 * script/sh/function.c: Likewise.
7822 * font/font.c: Likewise.
7823 * font/font_cmd.c: Likewise.
7824 * loader/powerpc/ieee1275/linux.c: Likewise.
7825 * loader/efi/chainloader.c: Likewise.
7826 * loader/multiboot_loader.c: Likewise.
7827 * loader/macho.c: Likewise.
7828 * loader/i386/multiboot.c: Likewise.
7829 * loader/i386/linux.c: Likewise.
7830 * loader/i386/pc/linux.c: Likewise.
7831 * loader/i386/pc/multiboot2.c: Likewise.
7832 * loader/i386/pc/chainloader.c: Likewise.
7833 * loader/i386/pc/xnu.c: Likewise.
7834 * loader/i386/bsd_trampoline.S: Likewise.
7835 * loader/i386/efi/linux.c: Likewise.
7836 * loader/i386/multiboot_elfxx.c: Likewise.
7837 * loader/i386/bsd_helper.S: Likewise.
7838 * loader/i386/bsd.c: Likewise.
7839 * loader/i386/linux_trampoline.S: Likewise.
7840 * loader/i386/xnu_helper.S: Likewise.
7841 * loader/i386/xnu.c: Likewise.
7842 * loader/i386/bsd_pagetable.c: Likewise.
7843 * loader/i386/multiboot_helper.S: Likewise.
7844 * loader/xnu.c: Likewise.
7845 * loader/xnu_resume.c: Likewise.
7846 * io/gzio.c: Likewise.
7847 * term/efi/console.c: Likewise.
7848 * term/terminfo.c: Likewise.
7849 * term/ieee1275/ofconsole.c: Likewise.
7850 * term/i386/pc/serial.c: Likewise.
7851 * term/i386/pc/vesafb.c: Likewise.
7852 * term/i386/pc/vga.c: Likewise.
7853 * term/usb_keyboard.c: Likewise.
7854 * term/gfxterm.c: Likewise.
7855 * aclocal.m4: Likewise.
7856 * util/lvm.c: Likewise.
7857 * util/grub.d/30_os-prober.in: Likewise.
7858 * util/grub.d/10_hurd.in: Likewise.
7859 * util/console.c: Likewise.
7860 * util/grub-macho2img.c: Likewise.
7861 * util/grub-probe.c: Likewise.
7862 * util/hostfs.c: Likewise.
7863 * util/i386/pc/grub-mkimage.c: Likewise.
7864 * util/i386/pc/grub-setup.c: Likewise.
7865 * util/i386/efi/grub-mkimage.c: Likewise.
7866 * util/grub-mkconfig.in: Likewise.
7867 * util/raid.c: Likewise.
7868 * util/resolve.c: Likewise.
7869 * util/grub-mkdevicemap.c: Likewise.
7870 * util/grub-emu.c: Likewise.
7871 * util/getroot.c: Likewise.
7872 * util/hostdisk.c: Likewise.
7873 * util/usb.c: Likewise.
7874 * util/grub-editenv.c: Likewise.
7875 * util/misc.c: Likewise.
7876
7877 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
7878
7879 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7880 `genparttoollist.sh'.
7881 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7882 Add `*.sh' to the list find searches for and change `mdate.sh'
7883 to `mdate-sh'.
7884
7885 2009-06-10 Pavel Roskin <proski@gnu.org>
7886
7887 * include/grub/multiboot2.h: Provide compatibility defines for
7888 multiboot2.h.
7889 * include/multiboot2.h: Include stdint.h only if needed, using
7890 angle brackets.
7891 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7892 grub/multiboot2.h.
7893 * loader/ieee1275/multiboot2.c: Likewise.
7894 * loader/multiboot2.c: Likewise.
7895 * loader/multiboot_loader.c: Likewise.
7896
7897 * configure.ac: Use -nostdlib when probing for the target. It
7898 should not be required to have libc for the target.
7899
7900 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7901 they fail without libc headers for the target.
7902 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7903 exports.
7904 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7905 preprocessor conditionals.
7906
7907 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7908 build system doesn't need to be aware of the tar.c internals.
7909
7910 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
7911
7912 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
7913
7914 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7915
7916 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7917 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7918
7919 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
7920
7921 * util/i386/pc/grub-install.in: Change the error message if UUIDs
7922 aren't available if ata.mod gets used.
7923
7924 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
7925
7926 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
7927 initialising controller.
7928 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7929
7930 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
7931
7932 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7933 to choose between ata and biosdisk module on i386-pc.
7934
7935 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
7936
7937 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7938 Subclass and Programming Interface fields in terms of the 3 byte
7939 Class Code register.
7940 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7941
7942 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7943 interface is OHCI. Add grub_dprintf for symmetry with
7944 bus/usb/uhci.c.
7945 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7946 interface is UHCI. Add interf variable for programming
7947 interface. Print interface with class/subclass.
7948
7949 * bus/usb/ohci.c: Set interf with correct field.
7950
7951 * bus/usb/uhci.c: Remove unneeded doubled lines.
7952 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7953 Remove whitespace inside comment.
7954
7955 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7956
7957 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7958 as fallback an equivalent option without depth.
7959
7960 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 Not fail if unable to retrieve C/H/S on LBA disks
7963
7964 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
7965 if unable to retrieve C/H/S on LBA disks
7966
7967 2009-06-08 Pavel Roskin <proski@gnu.org>
7968
7969 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7970 about aliasing.
7971
7972 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
7973
7974 * Makefile.in (uninstall): Remove all $lib_DATA files.
7975
7976 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 Bugfix: install on partitionless device
7979
7980 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7981 is a whole disk
7982
7983 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
7984
7985 * Makefile.in (uninstall): Remove all $include_DATA files.
7986
7987 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
7988
7989 * commands/true.c: New file. Implement the true and false commands.
7990 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7991 (true_mod_SOURCES): New variable.
7992 (true_mod_CFLAGS): Likewise.
7993 (true_mod_LDFLAGS): Likewise.
7994
7995 2009-06-05 Colin D Bennett <colin@gibibit.com>
7996
7997 Optimized font character lookup using binary search instead of linear
7998 search. Fonts now are required to have the character index ordered by
7999 code point.
8000
8001 * font/font.c (load_font_index): Verify that fonts have ordered
8002 character indices.
8003 (find_glyph): Use binary search instead of linear search to find a
8004 character in a font.
8005
8006 2009-06-05 Michael Scherer <misc@mandriva.org>
8007
8008 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
8009 uses case sensitive btree.
8010 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
8011 only for case insensitive filesystems.
8012
8013 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
8016 * conf/common.rmk (search_mod_CFLAGS): likewise
8017
8018 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
8021 compensate a compiler bug
8022
8023 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
8026 instead of '\b'
8027
8028 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 Definitions for creating asm symbols with Apple's CC
8031
8032 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
8033 [APPLE_CC] (VARIABLE): likewise
8034
8035 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Disable lnxboot.img when compiled
8038 with Apple's CC
8039
8040 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
8041 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
8042 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
8043 [! APPLE_CC] (CODE_LENG): skip
8044 [! APPLE_CC] (setup_sects): likewise
8045 [! APPLE_CC]: skip filling
8046
8047 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Address in trampolines based on 32-bit registers when compiled
8050 with Apple's CC
8051
8052 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
8053 for addresses
8054 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
8055
8056 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 Avoid aliases when compiling with Apple's CC for PCBIOS machine
8059
8060 * kern/misc.c [APPLE_CC] (memcpy): new function
8061 [APPLE_CC] (memmove): likewise
8062 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
8063 (memcpy): define alias conditionally on !APPLE_CC
8064 (memset): likewise
8065 (abort): likewise
8066 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
8067 APPLE_CC are defined
8068 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
8069 (grub_assert_fail): make prototype conditional
8070
8071 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
8074
8075 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8076 grub-macho2img
8077 (CLEANFILES): add grub-macho2img
8078 (grub_macho2img_SOURCES): new variable
8079 * kern/i386/pc/startup.S (bss_start): new variable
8080 (bss_end): likewise
8081 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8082 * util/grub-macho2img.c: new file
8083
8084 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 Use objconv when compiling with Apple's CC
8087
8088 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8089 (efiemu64.o): likewise
8090 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8091 when compiling with Apple's CC
8092 (efiemu64_s.o): likewise
8093 * configure.ac: check for objconv when compiling with Apple's CC
8094 * genmk.rb: use objconv for modules when compiled with Apple's CC
8095
8096 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 Define segment as well as section when compiling with
8099 Apple's CC
8100
8101 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8102 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8103 (efiemu_convert_pointer): likewise
8104 (efiemu_set_virtual_address_map): likewise
8105 (efiemu_convert_pointer): likewise
8106 (efiemu_getcrc32): likewise
8107 (init_crc32_table): likewise
8108 (reflect): likewise
8109 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8110 (GRUB_MOD_DEP): likewise
8111
8112 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 Allow a compilation without -mcmodel=large
8115
8116 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8117 when compiled without -mcmodel=large
8118 (filter_memory_map): remove memory post 4 GiB when compiled
8119 without -mcmodel=large
8120 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
8121 TARGET_CFLAGS when -mcmodel=large isn't supported
8122
8123 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 Remove nested functions in efiemu core
8126
8127 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
8128
8129 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8132
8133 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8134 temporary storage
8135 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8136 using Apple's CC
8137 (grub_cpu_is_tsc_supported): likewise
8138 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
8139
8140 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 Absolute addressing through constant with Apple's cc
8143
8144 * kern/i386/pc/startup.S: Define necessary constants
8145 and address through it when using ABS with Apple's CC
8146 * boot/i386/pc/diskboot.S: likewise
8147 * boot/i386/pc/boot.S: likewise
8148 * boot/i386/pc/lnxboot.S: likewise
8149 * boot/i386/pc/cdboot.S: likewise
8150 * mmap/i386/pc/mmap_helper.S: likewise
8151 * commands/i386/pc/drivemap_int13h.S: likewise
8152
8153 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 Check if compiler is apple cc
8156
8157 * Makefile.in (ASFLAGS): new variable
8158 (TARGET_ASFLAGS): likewise
8159 (TARGET_MODULE_FORMAT): likewise
8160 (TARGET_APPLE_CC): likewise
8161 (OBJCONV): likewise
8162 (TARGET_IMG_CFLAGS): likewise
8163 (TARGET_CPPFLAGS): add includedir
8164 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8165 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8166 Check for linker script only if compiler isn't Apple's CC
8167 (TARGET_MODULE_FORMAT): set
8168 (TARGET_APPLE_CC): likewise
8169 (TARGET_ASFLAGS): likewise
8170 (ASFLAGS): likewise
8171 Check for objcopy only if compiler isn't Apple's CC
8172 Check for BSS symbol only if compiler isn't Apple's CC
8173 * genmk.rb: adapt nm options if we use Apple's utils
8174 * aclocal.m4 (grub_apple_cc): new test
8175 (grub_apple_target_cc): likewise
8176
8177 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 Simplify sed expressions and improve awk
8180
8181 * Makefile.in (install-local): simplify sed expression
8182 * gencmdlist.sh: likewise
8183 * genmoddep.awk: avoid adding module as a dependency of itself
8184
8185 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Add missing start symbols
8188
8189 * boot/i386/pc/boot.S: add start
8190 * boot/i386/pc/pxeboot.S: likewise
8191
8192 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 Fix wrong assumptions with grub-mkimage on EFI
8195
8196 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
8197 (relocate_addresses): consider both r_addend and value at offset
8198 (make_mods_section): zerofill modinfo and header
8199 (convert_elf): write prefix here
8200
8201 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 Use .asciz instead of .string
8204
8205 * i386/pc/diskboot.S: use .asciz instead of .string
8206 * i386/pc/boot.S: likewise
8207 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8208 (GRUB_MOD_NAME): likewise
8209
8210 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 gfxpayload support
8213
8214 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8215 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8216 (grub_video_setup): remove
8217 (grub_video_set_mode): new prototype
8218 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8219 (vid_mode): remove
8220 (linux_vesafb_res): compile only on PCBIOS
8221 (grub_linux_boot): support gfxpayload
8222 * loader/i386/pc/xnu.c (video_hook): new function
8223 (grub_xnu_set_video): support gfxpayload
8224 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8225 (DEFAULT_VIDEO_HEIGHT): likewise
8226 (DEFAULT_VIDEO_FLAGS): likewise
8227 (DEFAULT_VIDEO_MODE): new definition
8228 (video_hook): new function
8229 (grub_gfxterm_init): use grub_video_set_mode
8230 * util/grub.d/30_os-prober.in: remove explicit modesetting before
8231 loading xnu
8232 * video/video.c (grub_video_setup): removed
8233 (grub_video_set_mode): new function based on grub_gfxterm_init and
8234 grub_video_setup
8235
8236 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 Avoid calling biosdisk in drivemap
8239
8240 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8241 (revparse_biosdisk): likewise
8242 (list_mappings): derive name from id directly
8243 (grub_cmd_drivemap): use tryparse_diskstring
8244
8245 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 Script fixes
8248
8249 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8250 (grub_lexer_param): add tokenonhold
8251 (grub_script_create_cmdline): remove cmdline. All callers updated
8252 (grub_script_function_create): make functionname
8253 grub_script_arg. All callers updated
8254 (grub_script_execute_argument_to_string): new prototype
8255 * kern/parser.c (state_transitions): reorder
8256 (grub_parser_cmdline_state): fix a bug and make more compact
8257 * script/sh/execute.c (grub_script_execute_argument_to_string):
8258 make global
8259 (grub_script_execute_cmdline): use new format
8260 * script/sh/function.c (grub_script_function_create): make functionname
8261 grub_script_arg. All callers updated
8262 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
8263 (grub_script_yylex): remove
8264 (grub_script_yylex2): renamed to ...
8265 (grub_script_yylex): ...renamed
8266 parse the expressions like a${b}c
8267 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8268 (GRUB_PARSER_TOKEN_VAR): remove
8269 (GRUB_PARSER_TOKEN_NAME): likewise
8270 ("if"): declare as typeless
8271 ("while"): likewise
8272 ("function"): likewise
8273 ("else"): likewise
8274 ("then"): likewise
8275 ("fi"): likewise
8276 (text): remove
8277 (argument): likewise
8278 (script): accept empty scripts and make exit on error
8279 (arguments): use GRUB_PARSER_TOKEN_ARG
8280 (function): likewise
8281 (command): move error handling to script
8282 (menuentry): move grub_script_lexer_ref before
8283 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
8284 argument. All callers updated
8285
8286 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8287
8288 Prevent GRUB from probing floppies during boot.
8289
8290 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8291 * commands/search.c (options): Add --no-floppy.
8292 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8293 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8294 --no-floppy when searching for UUIDs.
8295
8296 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8297
8298 Simplify the code duplication in commands/search.c.
8299
8300 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8301 (search_fs): ... this. Update all users.
8302
8303 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
8304
8305 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8306
8307 2009-05-28 Pavel Roskin <proski@gnu.org>
8308
8309 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8310 Remove the original symlink explicitly.
8311
8312 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8313 just one slash. That's how grub_fshelp_find_file() does it.
8314
8315 2009-05-26 Pavel Roskin <proski@gnu.org>
8316
8317 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8318 to `str'.
8319
8320 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8321 possibly unused.
8322
8323 2009-05-25 Christian Franke <franke@computer.org>
8324
8325 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8326 register.
8327 (grub_atapi_identify): Add wait after drive select.
8328 (grub_ata_identify): Do more strict status register check before
8329 calling grub_atapi_identify (). Suppress error message if status
8330 register is 0x00 after command failure. Add status register
8331 check after PIO read to avoid bogus identify due to stuck DRQ.
8332 Thanks to Pavel Roskin for testing.
8333 (grub_device_initialize): Remove unsafe status register check.
8334 Thanks to 'phcoder' for problem report and patch.
8335 Prevent sign extension in debug message.
8336
8337 2009-05-23 Colin D Bennett <colin@gibibit.com>
8338
8339 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8340 definition file, and functions defined in `normal/menu.c' have had
8341 their prototypes moved to `include/grub/menu.h' for consistency.
8342
8343 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8344 from normal.h.
8345 (grub_menu_get_entry): Likewise.
8346 (grub_menu_get_timeout): Likewise.
8347 (grub_menu_set_timeout): Likewise.
8348 (grub_menu_execute_entry): Likewise.
8349 (grub_menu_execute_with_fallback): Likewise.
8350 (grub_menu_entry_run): Likewise.
8351
8352 * include/grub/normal.h: Re-ordered and grouped function
8353 prototypes by file that the function is defined in.
8354 (grub_menu_execute_callback): Removed; moved to menu.h.
8355 (grub_menu_get_entry): Likewise.
8356 (grub_menu_get_timeout): Likewise.
8357 (grub_menu_set_timeout): Likewise.
8358 (grub_menu_execute_entry): Likewise.
8359 (grub_menu_execute_with_fallback): Likewise.
8360 (grub_menu_entry_run): Likewise.
8361 (grub_menu_addentry): Renamed from this ...
8362 (grub_normal_add_menu_entry): ... to this.
8363
8364 * normal/main.c (grub_menu_addentry): Renamed from this ...
8365 (grub_normal_add_menu_entry): ... to this.
8366
8367 * script/sh/execute.c (grub_script_execute_menuentry): Update
8368 reference to renamed grub_menu_addentry function.
8369
8370 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
8371
8372 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8373
8374 2009-05-22 Pavel Roskin <proski@gnu.org>
8375
8376 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8377 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8378 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8379 compiling for the i386 targets, but not for the utilities.
8380
8381 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8382 to grub_uint8_t.
8383 (grub_root_drive): Likewise.
8384 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8385 remove alignment.
8386 (grub_root_drive): Change size to byte.
8387 (grub_start_addr): Remove.
8388 (grub_end_addr): Likewise.
8389 (grub_apm_bios_info): Likewise.
8390
8391 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
8392
8393 * normal/i386: Remove.
8394 * normal/powerpc: Likewise.
8395 * normal/sparc64: Likewise.
8396 * normal/x86_64: Likewise.
8397
8398 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
8401 * loader/i386/linux_trampoline.S: Fix indentation
8402 * loader/i386/xnu_helper.S: Likewise
8403
8404 2009-05-18 Colin D Bennett <colin@gibibit.com>
8405
8406 Display error messages when parsing a Lua statement fails.
8407 Previously, executing a syntactically invalid statement like
8408 ")foo" or "bar;" would silently fail.
8409
8410 * script/lua/grub_main.c (handle_lua_error): New function.
8411 (grub_lua_parse_line): Improved reporting of Lua parser and
8412 execution errors.
8413
8414 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Remove -Werror which causes build to fail on some systems
8417
8418 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8419 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8420 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
8421
8422 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 trampoline for linux on 64-bit platform
8425
8426 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8427 loader/i386/efi/linux_trampoline.S
8428 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
8429 declaration
8430 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8431 here
8432 * loader/i386/linux_trampoline.S: moved here
8433 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8434 trampoline
8435 (jumpvector): removed
8436 (grub_linux_trampoline_start): new declaration
8437 (grub_linux_trampoline_end): likewise
8438 (grub_linux_boot): use trampoline when on 64-bit platform
8439 * loader/i386/linux.c: likewise
8440
8441 2009-05-16 Pavel Roskin <proski@gnu.org>
8442
8443 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8444 const to avoid a warning.
8445 (grub_lua_setenv): Likewise.
8446 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8447 lmsg to fix a warning.
8448
8449 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
8450
8451 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
8452 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8453 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8454 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8455 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8456 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8457 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8458 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8459
8460 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
8461
8462 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8463
8464 2009-05-16 Bean <bean123ch@gmail.com>
8465
8466 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8467 (lua_mod_SOURCES): New variable.
8468 (lua_mod_CFLAGS): Likewise.
8469 (lua_mod_LDFLAGS): Likewise.
8470
8471 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8472 (setjmp_mod_SOURCES): New variable.
8473 (setjmp_mod_CFLAGS): Likewise.
8474 (setjmp_LDFLAGS): Likewise.
8475
8476 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8477 (setjmp_mod_SOURCES): New variable.
8478 (setjmp_mod_CFLAGS): Likewise.
8479 (setjmp_LDFLAGS): Likewise.
8480
8481 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8482 (setjmp_mod_SOURCES): New variable.
8483 (setjmp_mod_CFLAGS): Likewise.
8484 (setjmp_LDFLAGS): Likewise.
8485
8486 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8487 (setjmp_mod_SOURCES): New variable.
8488 (setjmp_mod_CFLAGS): Likewise.
8489 (setjmp_LDFLAGS): Likewise.
8490
8491 * normal/i386/setjmp.S: Moved from here ...
8492 * lib/i386/setjmp.S: ... Moved here
8493 * normal/x86_64/setjmp.S: Moved from here ...
8494 * lib/x86_64/setjmp.S: ... Moved here
8495 * normal/powerpc/setjmp.S: Moved from here ...
8496 * lib/powerpc/setjmp.S: ... Moved here
8497 * normal/sparc64/setjmp.S: Moved from here ...
8498 * lib/sparc64/setjmp.S: ... Moved here
8499
8500 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8501 returns_twice in mingw.
8502
8503 * script/lua/grub_lib.c: New file.
8504 * script/lua/grub_lib.h: Likewise.
8505 * script/lua/grub_lua.h: Likewise.
8506 * script/lua/grub_main.c: Likewise.
8507 * script/lua/lapi.c: Likewise.
8508 * script/lua/lapi.h: Likewise.
8509 * script/lua/lauxlib.c: Likewise.
8510 * script/lua/lauxlib.h: Likewise.
8511 * script/lua/lbaselib.c: Likewise.
8512 * script/lua/lcode.c: Likewise.
8513 * script/lua/lcode.h: Likewise.
8514 * script/lua/ldblib.c: Likewise.
8515 * script/lua/ldebug.c: Likewise.
8516 * script/lua/ldebug.h: Likewise.
8517 * script/lua/ldo.c: Likewise.
8518 * script/lua/ldo.h: Likewise.
8519 * script/lua/ldump.c: Likewise.
8520 * script/lua/lfunc.c: Likewise.
8521 * script/lua/lfunc.h: Likewise.
8522 * script/lua/lgc.c: Likewise.
8523 * script/lua/lgc.h: Likewise.
8524 * script/lua/linit.c: Likewise.
8525 * script/lua/liolib.c: Likewise.
8526 * script/lua/llex.c: Likewise.
8527 * script/lua/llex.h: Likewise.
8528 * script/lua/llimits.h: Likewise.
8529 * script/lua/lmathlib.c: Likewise.
8530 * script/lua/lmem.c: Likewise.
8531 * script/lua/lmem.h: Likewise.
8532 * script/lua/loadlib.c: Likewise.
8533 * script/lua/lobject.c: Likewise.
8534 * script/lua/lobject.h: Likewise.
8535 * script/lua/lopcodes.c: Likewise.
8536 * script/lua/lopcodes.h: Likewise.
8537 * script/lua/loslib.c: Likewise.
8538 * script/lua/lparser.c: Likewise.
8539 * script/lua/lparser.h: Likewise.
8540 * script/lua/lstate.c: Likewise.
8541 * script/lua/lstate.h: Likewise.
8542 * script/lua/lstring.c: Likewise.
8543 * script/lua/lstring.h: Likewise.
8544 * script/lua/lstrlib.c: Likewise.
8545 * script/lua/ltable.c: Likewise.
8546 * script/lua/ltable.h: Likewise.
8547 * script/lua/ltablib.c: Likewise.
8548 * script/lua/ltm.c: Likewise.
8549 * script/lua/ltm.h: Likewise.
8550 * script/lua/lua.h: Likewise.
8551 * script/lua/luaconf.h: Likewise.
8552 * script/lua/lualib.h: Likewise.
8553 * script/lua/lundump.c: Likewise.
8554 * script/lua/lundump.h: Likewise.
8555 * script/lua/lvm.c: Likewise.
8556 * script/lua/lvm.h: Likewise.
8557 * script/lua/lzio.c: Likewise.
8558 * script/lua/lzio.h: Likewise.
8559
8560 2009-05-16 Bean <bean123ch@gmail.com>
8561
8562 * include/grub/kernel.h (grub_module_header_types): Add type
8563 OBJ_TYPE_CONFIG.
8564
8565 * kern/main.c (grub_load_config): New function.
8566 (grub_main): Call grub_load_config to read boot config.
8567
8568 * grub-mkimage (generate_image): New parameter config_path.
8569 (options): New option --config.
8570 (main): Parse --config option, and pass it to generate_image.
8571
8572 2009-05-14 Christian Franke <franke@computer.org>
8573
8574 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8575 This fixes build on Cygwin.
8576
8577 2009-05-14 Pavel Roskin <proski@gnu.org>
8578
8579 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8580 jump. This saves two bytes, so the typical case of 2 swapped
8581 drives would fit 32 bytes.
8582
8583 2009-05-13 Pavel Roskin <proski@gnu.org>
8584
8585 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8586 grub_uint32_t to avoid a warning.
8587
8588 * loader/i386/linux.c (allocate_pages): When assigning
8589 real_mode_mem, cast through grub_size_t to fix a warning. The
8590 code already makes sure that the value would fit a pointer.
8591 (grub_linux_setup_video): Cast render_target->data to
8592 grub_size_t to fix a warning.
8593
8594 2009-05-13 Javier Martín <lordhabbit@gmail.com>
8595
8596 * commands/i386/pc/drivemap.c: New file - implement drivemap
8597 command.
8598 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8599 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8600
8601 2009-05-13 Pavel Roskin <proski@gnu.org>
8602
8603 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8604 embedding_area_exists.
8605
8606 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8607
8608 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8609 it easier to understand / work with.
8610 Improve warning messages for cases where there's no embedding area,
8611 or when it is too small (or core.img too large).
8612
8613 2009-05-13 Pavel Roskin <proski@gnu.org>
8614
8615 * loader/i386/pc/multiboot2.c: Add necessary includes for
8616 grub_multiboot2_real_boot().
8617
8618 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8619 PX record is always little-endian. We only need the lower 2
8620 bytes of the mode.
8621
8622 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8623 facilitate code reuse.
8624 (grub_cpio_mount): Use "struct head", not a char buffer. This
8625 fixes a warning reported by gcc 4.4.
8626
8627 * kernel/disk.c (grub_disk_read): Use void pointer for the
8628 buffer.
8629 (grub_disk_write): Use const void pointer for the buffer.
8630 Adjust all callers. Remove unnecessary casts.
8631
8632 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8633
8634 * util/i386/pc/grub-install.in: Update copyright year.
8635
8636 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 gptsync
8639
8640 * commands/gptsync.c: new file
8641 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8642 (gptsync_mod_SOURCES): new variable
8643 (gptsync_mod_CFLAGS): likewise
8644 (gptsync_mod_LDFLAGS): likewise
8645 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
8646 new definition
8647 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8648 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8649 * conf/i386-ieee1275.rmk: likewise
8650 * conf/i386-pc.rmk: likewise
8651 * conf/powerpc-ieee1275.rmk: likewise
8652
8653 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 Fixed grub-emu
8656
8657 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8658 (grub_dl_ref): likewise
8659
8660 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8661
8662 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8663 split in two functions (one for msdos and one for gpt).
8664
8665 2009-05-08 Pavel Roskin <proski@gnu.org>
8666
8667 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8668 not modified.
8669
8670 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8671 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8672 Initialize them with -1. Add sanity check for bad1. Eliminate
8673 nerr variable.
8674
8675 2009-05-08 David S. Miller <davem@davemloft.net>
8676
8677 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8678
8679 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8680
8681 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
8682 existence.
8683
8684 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
8685
8686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
8687 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
8688
8689 2009-05-05 David S. Miller <davem@davemloft.net>
8690
8691 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8692
8693 2009-05-05 Pavel Roskin <proski@gnu.org>
8694
8695 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8696 of grub_dl_ref() and grub_dl_unref().
8697 * commands/parttool.c: Remove preprocessor conditionals around
8698 grub_dl_ref() and grub_dl_unref().
8699 * fs/affs.c: Likewise.
8700 * fs/afs.c: Likewise.
8701 * fs/cpio.c: Likewise.
8702 * fs/ext2.c: Likewise.
8703 * fs/fat.c: Likewise.
8704 * fs/hfs.c: Likewise.
8705 * fs/hfsplus.c: Likewise.
8706 * fs/iso9660.c: Likewise.
8707 * fs/jfs.c: Likewise.
8708 * fs/minix.c: Likewise.
8709 * fs/ntfs.c: Likewise.
8710 * fs/reiserfs.c: Likewise.
8711 * fs/sfs.c: Likewise.
8712 * fs/udf.c: Likewise.
8713 * fs/ufs.c: Likewise.
8714 * fs/xfs.c: Likewise.
8715 * include/grub/dl.h: Likewise.
8716 * loader/xnu.c: Likewise.
8717
8718 2009-05-04 Pavel Roskin <proski@gnu.org>
8719
8720 * commands/acpi.c: Remove unused variable my_mod.
8721 * partmap/amiga.c: Likewise.
8722 * partmap/apple.c: Likewise.
8723 * partmap/gpt.c: Likewise.
8724 * partmap/pc.c: Likewise.
8725 * partmap/sun.c: Likewise.
8726 * term/gfxterm.c: Likewise.
8727 * term/i386/pc/vesafb.c: Likewise.
8728 * term/i386/pc/vga.c: Likewise.
8729
8730 2009-05-04 David S. Miller <davem@davemloft.net>
8731
8732 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8733 pointer args to grub_ieee1275_get_property().
8734
8735 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8736
8737 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8738 devices, and do not traverse down under controller nodes.
8739
8740 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8741 (grub_ofdisk_open): Use it to un-escape "," characters.
8742 * kern/disk.c (find_part_sep): New.
8743 (grub_disk_open): Use it to find the first non-escaped ','
8744 character in the disk name.
8745 * util/ieee1275/devicemap.c (escape_of_path): New.
8746 (grub_util_emit_devicemap_entry): Use it.
8747 * util/sparc64/ieee1275/grub-install.in: Update script to
8748 strip partition specifiers properly by not triggering on
8749 '\' escaped ',' characters.
8750
8751 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8752
8753 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8754 to 0x300.
8755 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8756 resolutions.
8757 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8758 on documentation from Wikipedia).
8759
8760 2009-05-04 Pavel Roskin <proski@gnu.org>
8761
8762 * disk/ata.c: Spelling fixes.
8763 * disk/raid.c: Likewise.
8764 * disk/usbms.c: Likewise.
8765 * disk/dmraid_nvidia.c: Likewise.
8766 * kern/ieee1275/openfw.c: Likewise.
8767 * kern/ieee1275/init.c: Likewise.
8768 * kern/ieee1275/cmain.c: Likewise.
8769 * boot/i386/pc/cdboot.S: Likewise.
8770 * video/readers/png.c: Likewise.
8771 * video/i386/pc/vbe.c: Likewise.
8772 * fs/udf.c: Likewise.
8773 * fs/hfs.c: Likewise.
8774 * fs/reiserfs.c: Likewise.
8775 * efiemu/runtime/efiemu.c: Likewise.
8776 * efiemu/main.c: Likewise.
8777 * efiemu/mm.c: Likewise.
8778 * include/grub/elf.h: Likewise.
8779 * include/grub/xnu.h: Likewise.
8780 * include/grub/usbdesc.h: Likewise.
8781 * include/grub/usb.h: Likewise.
8782 * include/grub/script_sh.h: Likewise.
8783 * include/grub/lib/LzmaEnc.h: Likewise.
8784 * include/grub/efiemu/efiemu.h: Likewise.
8785 * include/grub/command.h: Likewise.
8786 * normal/menu.c: Likewise.
8787 * normal/main.c: Likewise.
8788 * normal/datetime.c: Likewise.
8789 * bus/usb/uhci.c: Likewise.
8790 * mmap/i386/uppermem.c: Likewise.
8791 * mmap/mmap.c: Likewise.
8792 * commands/acpi.c: Likewise.
8793 * commands/test.c: Likewise.
8794 * partmap/apple.c: Likewise.
8795 * font/font.c: Likewise.
8796 * loader/sparc64/ieee1275/linux.c: Likewise.
8797 * loader/macho.c: Likewise.
8798 * loader/i386/bsd_trampoline.S: Likewise.
8799 * loader/i386/bsd.c: Likewise.
8800 * loader/xnu.c: Likewise.
8801 * term/i386/pc/vesafb.c: Likewise.
8802 * term/usb_keyboard.c: Likewise.
8803 * util/resolve.c: Likewise.
8804 * util/getroot.c: Likewise.
8805
8806 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
8807
8808 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8809
8810 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8811
8812 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8813 build error.
8814
8815 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8816
8817 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8818 parameter only available on BIOS.
8819
8820 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 Removed wrong semicolon in declaration
8823
8824 * grub/misc.h (grub_dprintf): remove semicolon
8825
8826 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8827
8828 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8829 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8830 is done by grub_cmd_linux() now).
8831 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8832 restore video to text mode.
8833 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8834 indicates lack of "vga=" parameter. "vga=0" is mapped to
8835 `GRUB_LINUX_VID_MODE_NORMAL'.
8836
8837 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
8838
8839 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8840 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8841 and `normal/script.c'. Add `kern/rescue_reader.c',
8842 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
8843 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8844 `grub_script.tab.c'.
8845
8846 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8847 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8849 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8850 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8851
8852 * Makefile.in: Remove duplicated 2008 in Copyright line.
8853
8854 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8855
8856 * util/misc.c (grub_util_warn): New function. Emits a warning
8857 unconditionally.
8858 * include/grub/util/misc.h (grub_util_warn): New declaration.
8859
8860 * util/i386/pc/grub-install.in: Understand --force and pass it down
8861 to grub-setup.
8862
8863 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8864 down to setup().
8865 (setup): Improve error messages and add warnings when requested to
8866 install in odd layouts. Refuse to install using blocklists unless
8867 --force was set.
8868
8869 2009-05-04 martin f. krafft <madduck@madduck.net>
8870
8871 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8872
8873 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Updated copyright year
8876
8877 * fs/hfsplus.c: updated copyright year
8878
8879 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 HFS+ UUID
8882
8883 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
8884 in the space previously used by unused3
8885 (grub_hfsplus_uuid): new function
8886 (grub_hfsplus_fs): added uuid field
8887
8888 2009-05-03 Pavel Roskin <proski@gnu.org>
8889
8890 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8891 suppress warnings. It's no longer needed.
8892 * disk/host.c: Likewise.
8893 * disk/ata_pthru.c: Likewise.
8894 * disk/loopback.c: Likewise.
8895 * hook/datehook.c: Likewise.
8896 * parttool/pcpart.c: Likewise.
8897 * fs/i386/pc/pxe.c: Likewise.
8898 * fs/ntfscomp.c: Likewise.
8899 * efiemu/main.c: Likewise.
8900 * mmap/mmap.c: Likewise.
8901 * commands/crc.c: Likewise.
8902 * commands/hexdump.c: Likewise.
8903 * commands/hdparm.c: Likewise.
8904 * commands/acpi.c: Likewise.
8905 * commands/echo.c: Likewise.
8906 * commands/minicmd.c: Likewise.
8907 * commands/blocklist.c: Likewise.
8908 * commands/memrw.c: Likewise.
8909 * commands/loadenv.c: Likewise.
8910 * commands/usbtest.c: Likewise.
8911 * commands/lsmmap.c: Likewise.
8912 * commands/boot.c: Likewise.
8913 * commands/parttool.c: Likewise.
8914 * commands/configfile.c: Likewise.
8915 * commands/search.c: Likewise.
8916 * commands/ieee1275/suspend.c: Likewise.
8917 * commands/cat.c: Likewise.
8918 * commands/i386/pc/pxecmd.c: Likewise.
8919 * commands/i386/pc/play.c: Likewise.
8920 * commands/i386/pc/halt.c: Likewise.
8921 * commands/i386/pc/vbeinfo.c: Likewise.
8922 * commands/i386/pc/vbetest.c: Likewise.
8923 * commands/lspci.c: Likewise.
8924 * commands/date.c: Likewise.
8925 * commands/handler.c: Likewise.
8926 * commands/ls.c: Likewise.
8927 * commands/test.c: Likewise.
8928 * commands/cmp.c: Likewise.
8929 * commands/efi/loadbios.c: Likewise.
8930 * commands/efi/fixvideo.c: Likewise.
8931 * commands/halt.c: Likewise.
8932 * commands/help.c: Likewise.
8933 * commands/reboot.c: Likewise.
8934 * hello/hello.c: Likewise.
8935 * script/sh/main.c: Likewise.
8936 * loader/xnu.c: Likewise.
8937 * term/terminfo.c: Likewise.
8938 * term/i386/pc/serial.c: Likewise.
8939 * term/usb_keyboard.c: Likewise.
8940
8941 2009-05-03 David S. Miller <davem@davemloft.net>
8942
8943 * normal/menu.c: Include grub/parser.h
8944
8945 2009-05-03 Pavel Roskin <proski@gnu.org>
8946
8947 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8948 not char*.
8949 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8950 Suggested by Javier Martín <lordhabbit@gmail.com>
8951
8952 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8953 efiemu??.o doesn't exist.
8954 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8955 copying.
8956
8957 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 FreeBSD 64-bit support
8960
8961 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
8962 and loader/i386/bsd_trampoline.S
8963 (bsd_mod_ASFLAGS): new variable
8964 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8965 (FREEBSD_MODTYPE_KERNEL64): likewise
8966 (grub_bsd64_trampoline_start): likewise
8967 (grub_bsd64_trampoline_end): likewise
8968 (grub_bsd64_trampoline_selfjump): likewise
8969 (grub_bsd64_trampoline_gdt): likewise
8970 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8971 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8972 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8973 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
8974 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
8975 of "attrib" member
8976 * loader/i386/bsd_pagetable.c: new file
8977 * loader/i386/bsd_trampoline.S: likewise
8978 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8979 (ALIGN_VAR): likewise
8980 (entry_hi): new variable
8981 (kern_end_mdofs): likewise
8982 (is_64bit): likewise
8983 (grub_freebsd_add_meta): use ALIGN_VAR
8984 (grub_e820_mmap): new declaration
8985 (grub_freebsd_add_mmap): new function
8986 (grub_freebsd_add_meta_module): support 64 bit kernels
8987 (grub_freebsd_list_modules): use ALIGN_VAR
8988 (gdt_descriptor): new declaration
8989 (grub_freebsd_boot): support 64 bit kernels
8990 (grub_bsd_elf64_hook): new function
8991 (grub_bsd_load_elf): support elf64
8992
8993 2009-05-03 Bean <bean123ch@gmail.com>
8994
8995 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8996 after we get the result of if statement.
8997
8998 2009-05-03 Bean <bean123ch@gmail.com>
8999
9000 * Makefile.in (enable_efiemu): New variable.
9001
9002 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
9003 set.
9004 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
9005 path.
9006 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
9007 path, add -mno-red-zone option.
9008 (efiemu64_s.o): Likewise.
9009 (efiemu64.o): Use macro $^ for source file.
9010
9011 * configure.ac (--enable-efiemu): New option.
9012
9013 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 xnu support
9016
9017 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
9018 (pkglib_MODULES): add xnu.mod
9019 (xnu_mod_SOURCES): new variable
9020 (xnu_mod_CFLAGS): likewise
9021 (xnu_mod_LDFLAGS): likewise
9022 (xnu_mod_ASFLAGS): likewise
9023 * conf/i386-pc.rmk: likewise
9024 * conf/x86_64-efi.rmk: likewise
9025 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
9026 new declaration
9027 * include/grub/i386/macho.h: new file
9028 * include/grub/i386/xnu.h: likewise
9029 * include/grub/macho.h: likewise
9030 * include/grub/machoload.h: likewise
9031 * include/grub/x86_64/macho.h: likewise
9032 * include/grub/x86_64/xnu.h: likewise
9033 * include/grub/xnu.h: likewise
9034 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
9035 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
9036 * loader/i386/efi/xnu.c: new file
9037 * loader/i386/pc/xnu.c: likewise
9038 * loader/i386/xnu.c: likewise
9039 * loader/i386/xnu_helper.S: likewise
9040 * loader/macho.c: likewise
9041 * loader/xnu.c: likewise
9042 * loader/xnu_resume.c: likewise
9043 * util/grub-dumpdevtree: likewise
9044 * include/grub/i386/pit.h: include grub/err.h
9045 (grub_pit_wait): export
9046 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
9047
9048 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 Efiemu
9051
9052 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
9053 _linux_efi, linux_efi.
9054 new files in grub-emu
9055 new targets efiemu32.o and efiemu64.o
9056 * loader/linux_normal_efiemu.c: likewise
9057 * loader/i386/efi/linux.c: added preliminary efiemu support
9058 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
9059 files to copy
9060 * include/grub/autoefi.h: new file
9061 * include/grub/i386/efiemu.h: likewise
9062 * include/grub/i386/pc/efiemu.h: likewise
9063 * include/grub/efi/api.h: add LL suffix when necessary
9064 new definitions relating to tables
9065 * include/grub/efiemu/efiemu.h: new file
9066 * include/grub/efiemu/runtime.h: likewise
9067 * efiemu/prepare.c: likewise
9068 * efiemu/loadcore_common.c: likewise
9069 * efiemu/loadcore64.c: likewise
9070 * efiemu/runtime/efiemu.sh: likewise
9071 * efiemu/runtime/efiemu.S: likewise
9072 * efiemu/runtime/efiemu.c: likewise
9073 * efiemu/runtime/config.h: likewise
9074 * efiemu/prepare32.c: likewise
9075 * efiemu/main.c: likewise
9076 * efiemu/modules/pnvram.c: likewise
9077 * efiemu/modules/i386: likewise
9078 * efiemu/modules/i386/pc: likewise
9079 * efiemu/modules/acpi.c: likewise
9080 * efiemu/i386/pc/cfgtables.c: likewise
9081 * efiemu/i386/loadcore64.c: likewise
9082 * efiemu/i386/loadcore32.c: likewise
9083 * efiemu/prepare64.c: likewise
9084 * efiemu/loadcore.c: likewise
9085 * efiemu/symbols.c: likewise
9086 * efiemu/mm.c: likewise
9087 * efiemu/loadcore32.c: likewise
9088
9089 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 ACPI spoofing
9092
9093 * commands/acpi.c: new file
9094 * commands/i386/pc/acpi.c: likewise
9095 * commands/efi/acpi.c: likewise
9096 * include/grub/acpi.h: likewise
9097 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9098 (acpi_mod_SOURCES): new variable
9099 (acpi_mod_CFLAGS): likewise
9100 (acpi_mod_LDFLAGS): likewise
9101 * conf/i386-efi.rmk: likewise
9102 * conf/x86_64-efi.rmk: likewise
9103
9104 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 Missing part from mmap patch
9107
9108 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9109 (grub_mmap_unregister)
9110 (grub_mmap_free_and_unregister): use grub_mmap_register
9111
9112 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 Mmap services
9115
9116 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9117 * loader/i386/linux.c (find_mmap_size): likewise
9118 (allocate_pages): likewise
9119 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9120 (grub_fill_multiboot_mmap): likewise
9121 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9122 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9123 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9124 (OPENBSD_MMAP_RESERVED): likewise
9125 * include/grub/i386/pc/memory.h: include grub/memory.h
9126 (grub_lower_mem): removed
9127 (grub_upper_mem): likewise
9128 (GRUB_MACHINE_MEMORY_ACPI): new definition
9129 (GRUB_MACHINE_MEMORY_NVS): likewise
9130 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9131 (GRUB_MACHINE_MEMORY_HOLE): likewise
9132 (grub_machine_mmap_register): likewise
9133 (grub_machine_mmap_unregister): likewise
9134 (grub_machine_get_upper): likewise
9135 (grub_machine_get_lower): likewise
9136 (grub_machine_get_post64): likewise
9137 * include/grub/i386/efi/memory.h: new file
9138 * include/grub/x86_64/efi/memory.h: likewise
9139 * include/grub/efi/memory.h: likewise
9140 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9141 (mmap_mod_SOURCES): new variable
9142 (mmap_mod_LDFLAGS): likewise
9143 (mmap_mod_ASFLAGS): likewise
9144 * conf/i386-coreboot.rmk: likewise
9145 * conf/i386-ieee1275.rmk: likewise
9146 * conf/i386-efi.rmk: likewise
9147 * conf/x86_64-efi.rmk: likewise
9148 * include/grub/types.h (UINT_TO_PTR): new macro
9149 (PTR_TO_UINT32): likewise
9150 (PTR_TO_UINT64): likewise
9151 * include/grub/memory.h: new file
9152 * mmap/i386/pc/mmap.c: likewise
9153 * mmap/i386/pc/mmap_helper.S: likewise
9154 * mmap/i386/uppermem.c: likewise
9155 * mmap/mmap.c: likewise
9156 * mmap/efi/mmap.c: likewise
9157 * kern/i386/coreboot/init.c (grub_machine_init): don't use
9158 grub_upper_mem
9159 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9160 (grub_upper_mem): likewise
9161 (grub_machine_init): don't use grub_upper_mem,
9162 make grub_lower_mem local
9163 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9164 grub_mmap_iterate and grub_mmap_get_upper
9165 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9166
9167 2009-05-02 Bean <bean123ch@gmail.com>
9168
9169 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9170 script/sh/parser.y.
9171 (pkglib_MODULES): Add normal.mod and sh.mod.
9172 (normal_SOURCES): New variable.
9173 (normal_mod_CFLAGS): Likewise.
9174 (normal_mod_LDFLAGS): Likewise.
9175 (sh_mod_SOURCES): Likewise.
9176 (sh_mod_CFLAGS): Likewise.
9177 (sh_mod_LDFLAGS): Likewise.
9178
9179 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9180 script/sh/lexer.c_DEPENDENCIES.
9181 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9182 kern/rescue_reader.c and kern/rescue_parser.c.
9183 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9184 (grub_emu_SOURCES): Change source files.
9185 (pkglib_MODULES): Remove normal.mod.
9186 (normal_SOURCES): Removed.
9187 (normal_mod_CFLAGS): Likewise.
9188 (normal_mod_LDFLAGS): Likewise.
9189 * conf/i386-coreboot.rmk: Likewise.
9190 * conf/i386-efi.rmk: Likewise.
9191 * conf/i386-ieee1276.rmk: Likewise.
9192 * conf/powerpc-ieee1275.rmk: Likewise.
9193 * conf/sparc64-ieee1275.rmk: Likewise.
9194 * conf/x86_64-efi.rmk: Likewise.
9195
9196 * include/grub/command.h (grub_command_execute): New inline function.
9197
9198 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9199
9200 * include/grub/normal.h: Remove <grub/setjmp.h>.
9201 (grub_fs_module_list): Moved to normal/autofs.c.
9202 (grub_exit_env): Removed.
9203 (grub_command_execute): Likewise.
9204 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9205 parameter script.
9206 (read_command_list): New function declaration.
9207 (read_fs_list): Likewise.
9208
9209 * include/parser.h: Include <grub/reader.h>.
9210 (grub_parser_split_cmdline): Change type of getline parameter.
9211 (grub_parser): New structure.
9212 (grub_parser_class): New variable.
9213 (grub_parser_execute): New function declaration.
9214 (grub_register_rescue_parser): Likewise.
9215 (grub_parser_register): New inline function.
9216 (grub_parser_unregister): Likewise.
9217 (grub_parser_get_current): Likewise.
9218 (grub_parser_set_current): Likewise.
9219
9220 * include/grub/reader.h: New file.
9221 * kern/reader.c: Likewise.
9222 * kern/rescue_parser.c: Likewise.
9223 * kern/rescue_reader.c: Likewise.
9224 * normal/autofs.c: Likewise.
9225 * normal/dyncmd.c: Likewise.
9226
9227 * include/grub/rescue.h: Removed.
9228 * normal/command.h: Likewise.
9229
9230 * include/grub/script.h: Moved to ...
9231 * include/grub/script_sh.h: ... Moved here.
9232 * normal/execute.c: Moved to ...
9233 * script/sh/execute.c: ... Moved here.
9234 * normal/function.c: Moved to ...
9235 * script/sh/function.c: ... Moved here.
9236 * normal/lexer.c: Moved to ...
9237 * script/sh/lexer.c: ... Moved here.
9238 * normal/parser.y: Moved to ...
9239 * script/sh/parser.y: ... Moved here.
9240 * normal/script.c: Moved to ...
9241 * script/sh/script.c: ... Moved here.
9242
9243 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9244 <grub/reader.h>.
9245 (grub_exit_env): Removed.
9246 (fs_module_list): Moved to normal/autofs.c.
9247 (grub_file_getline): Don't handle comment here.
9248 (free_menu): Skip removed field entry->commands.
9249 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9250 script parameter.
9251 (read_config_file): Removed nested parameter, change getline function.
9252 (grub_enter_normal_mode): Removed.
9253 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9254 (read_command_list): Likewise.
9255 (autoload_fs_module): Moved to normal/autofs.c.
9256 (read_fs_list): Likewise.
9257 (reader_nested): New variable.
9258 (grub_normal_execute): Run parser.sh to switch to sh parser.
9259 (grub_cmd_rescue): Removed.
9260 (cmd_normal): Removed.
9261 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9262 rescue command.
9263 (grub_cmdline_run): New function.
9264 (grub_normal_reader_init): Likewise.
9265 (grub_normal_read_line): Likewise.
9266 (grub_env_write_pager): Likewise.
9267 (cmdline): New variable.
9268 (grub_normal_reader): Likewise.
9269 (GRUB_MOD_INIT): Register normal reader and set as current, register
9270 pager hook, register normal command with grub_register_command_prio,
9271 so that it won't show up in command.lst.
9272 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9273 grub_fs_autoload_hook.
9274
9275 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9276 (grub_menu_execute_entry): Replace grub_script_execute with
9277 grub_parser_execute, change parameter to grub_command_execute.
9278
9279 * normal/menu_text.c: Remove <grub/script.h>.
9280
9281 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9282 and <grub/parser.h>.
9283 (run): Change editor_getline to use new parser interface. Change
9284 parameter to grub_command_execute.
9285
9286 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9287 <grub/reader.h> and <grub/parser.h>.
9288 (grub_load_normal_mode): Execute normal command.
9289 (grub_main): Call grub_register_core_commands,
9290 grub_register_rescue_parser and grub_register_rescue_reader, use
9291 grub_reader_loop to enter input loop.
9292
9293 * kern/parser.c (grub_parser_split_cmdline): Change type of
9294 getline parameter.
9295 (grub_parser_class): New variable.
9296 (grub_parser_execute): New function.
9297
9298 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9299 * loader/multiboot2.c: Likewise.
9300 * loader/sparc64/ieee1275/linux.c: Likewise.
9301
9302 * util/grub-emu.c (read_command_list): New dummy function.
9303
9304 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9305
9306 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9307 count to 16 for CCISS and IDA.
9308
9309 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9310
9311 * normal/menu_text.c (grub_wait_after_message): Print a newline
9312 after waiting for user input.
9313
9314 * loader/i386/linux.c: Include `<grub/normal.h>'.
9315 (grub_cmd_linux): Improve the error message about `ask' mode, by
9316 waiting for user input so it's not missed (we can do this, since
9317 user requested interaction).
9318
9319 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 Added missing lst to grub-mkrescue
9322
9323 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9324 and ${input_dir}/parttool.lst
9325
9326 2009-04-30 David S. Miller <davem@davemloft.net>
9327
9328 * util/hostdisk.c (device_is_wholedisk): New function.
9329 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9330 zero only if device_is_wholedisk() returns true.
9331
9332 * util/hostdisk.c (convert_system_partition_to_system_disk):
9333 Handle virtual disk devices named /dev/vdiskX as found on sparc
9334 and powerpc.
9335
9336 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9337 lettered partition specifier is found, convert to numbered.
9338
9339 2009-04-29 David S. Miller <davem@davemloft.net>
9340
9341 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9342 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9343
9344 * normal/command.c: Add missing newline at end of file.
9345
9346 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9347 warnings.
9348 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9349 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9350 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9351 ihandles have a 32-bit type but need to be stored in a "void *".
9352
9353 2009-04-28 Pavel Roskin <proski@gnu.org>
9354
9355 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9356 not disk. Adjust all dependencies.
9357 (grub_fs_uuid_close): Use grub_device_close(), not
9358 grub_disk_close().
9359
9360 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9361 parent's partition, don't copy it by reference, as it gets freed
9362 on close.
9363
9364 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 Preboot hooks support
9367
9368 * commands/boot.c (struct grub_preboot_t): new declaration
9369 (preboots_head): new variable
9370 (preboots_tail): likewise
9371 (grub_loader_register_preboot_hook): new function
9372 (grub_loader_unregister_preboot_hook): likewise
9373 (grub_loader_set): launch preboot hooks
9374 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9375 (grub_loader_register_preboot_hook): new declaration
9376 (grub_loader_unregister_preboot_hook): likewise
9377
9378 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 Warning fix
9381
9382 * disk/scsi.c (grub_scsi_open): added missing cast when
9383 calling grub_dprintf
9384
9385 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Bug and warning fixes
9388
9389 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
9390 declaration
9391 * commands/test.c (test_parse): fixed bug with file tests and corrected
9392 declaration of find_file
9393
9394 2009-04-26 Pavel Roskin <proski@gnu.org>
9395
9396 * Makefile.in: Don't install empty manual pages if help2man is
9397 missing. Use help2man option for output, not shell redirection.
9398
9399 2009-04-26 David S. Miller <davem@davemloft.net>
9400
9401 * util/grub-mkdevicemap.c (make_device_map): Add missing
9402 NESTED_FUNC_ATTR to process_device().
9403
9404 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 Test command
9407
9408 * commands/test.c: rewritten to use bash-like test
9409
9410 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 Parttool autoloading and improvements
9413
9414 * Makefile.in (pkglib_DATA): add parttool.lst
9415 (parttool.lst): new target
9416 * genmk.rb: generate parttool-*
9417 (CLEANFILES): add #{parttool}
9418 (PARTTOOLFILES): new variable
9419 * genparttoollist.sh: new file
9420 * parttool/pcpart.c (grub_pcpart_boot): more feedback
9421 (grub_pcpart_type): likewise
9422 * commands/parttool.c (helpmsg): new variable
9423 (grub_cmd_parttool): output help if not enough arguments are supplied
9424 autoload modules
9425 (GRUB_MOD_INIT(parttool)): use helpmsg
9426
9427 2009-04-24 David S. Miller <davem@davemloft.net>
9428
9429 Avoiding opening same device multiple times in device iterator.
9430
9431 * kern/device.c: (grub_device_iterate): Define struct part_ent,
9432 and use it to build a list of partitions in iterate_disk() and
9433 iterate_partition().
9434
9435 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9436 on disk->data.
9437
9438 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9439 grub_devalias_iterate() result instead of unconditional 0.
9440 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9441 Also, capture hook return value, either directly or via
9442 grub_children_iterate(), and propagate to caller.
9443 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9444 grub_children_iterate): Return value is now 'int' instead of
9445 'grub_err_t'.
9446 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9447 like a proper iterator, stopping when hooks return non-zero.
9448 (grub_devalias_iterate): Likewise.
9449
9450 2009-04-23 David S. Miller <davem@davemloft.net>
9451
9452 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9453
9454 2009-04-22 David S. Miller <davem@davemloft.net>
9455
9456 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9457 is larger than address_cells, use that value for address_cells too.
9458
9459 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9460 IEEE1275_MAX_PATH_LEN): Define.
9461 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9462 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9463 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9464 'devtype'. Explicitly NULL terminate devalias expansion.
9465
9466 * util/sparc64/ieee1275/misc.c: New file.
9467 * util/sparc64/ieee1275/grub-setup.c: New file.
9468 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9469 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9470 * util/sparc64/ieee1275/grub-install.in: New file.
9471 * util/ieee1275/ofpath.c: New file.
9472 * util/ieee1275/devicemap.c: New file.
9473 * util/devicemap.c: New file.
9474 * util/deviceiter.c: New file.
9475 * kern/sparc64/ieee1275/init.c: New file.
9476 * include/grub/util/ofpath.h: New file.
9477 * include/grub/util/deviceiter.h: New file.
9478 * util/grub-mkdevicemap.c: Include deviceiter.h.
9479 Implement using grub_util_emit_devicemap_entry and
9480 grub_util_iterate_devices.
9481 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9482 util/devicemap.c into grub-mkdevicemap
9483 * conf/i386-efi.rmk: Likewise.
9484 * conf/i386-ieee1275.rmk: Likewise.
9485 * conf/i386-pc.rmk: Likewise.
9486 * conf/powerpc-ieee1275.rmk: Likewise.
9487 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9488 images and installation utilities. Build kernel as image
9489 instead of as elf binary. Use common rules as much as possible.
9490
9491 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 Correct GPT definition
9494
9495 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
9496 of "attrib" member
9497
9498 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
9499
9500 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9501
9502 2009-04-19 David S. Miller <davem@davemloft.net>
9503
9504 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9505 (grub_rescue_cmd_linux): Rename to...
9506 (grub_cmd_linux): and fix prototype.
9507 (grub_rescue_cmd_initrd): Rename to...
9508 (grub_cmd_initrd): and fix prototype.
9509 (cmd_linux, cmd_initrd): New.
9510 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9511 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9512
9513 2009-04-17 Pavel Roskin <proski@gnu.org>
9514
9515 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9516 format.
9517 (grub_ohci_transfer): Likewise.
9518
9519 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9520
9521 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9522 return without a value. Fix inconsistent indentation.
9523
9524 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9525 match struct grub_fs.
9526
9527 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9528 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9529 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9530 * commands/lspci.c (grub_lspci_iter): Likewise.
9531
9532 2009-04-16 Bean <bean123ch@gmail.com>
9533
9534 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9535 value.
9536
9537 2009-04-15 Pavel Roskin <proski@gnu.org>
9538
9539 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9540 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9541 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9542 definitions.
9543
9544 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
9545
9546 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
9547 that no multiple data or metadata areas are supported and `Unknown
9548 metadata header'.
9549
9550 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Move loader out of the kernel
9553
9554 * kern/loader.c: moved to ...
9555 * commands/boot.c: ... moved here
9556 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9557 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9558 * include/grub/kernel.h (grub_machine_fini): export
9559 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9560 (grub_loader_set): likewise
9561 (grub_loader_unset): likewise
9562 (grub_loader_boot): likewise
9563 * conf/common.rmk: new module boot.mod
9564 (pkglib_MODULES): add boot.mod
9565 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9566 (grub_emu_SOURCES): likewise
9567 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9568 (grub_emu_SOURCES): likewise
9569 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9570 (grub_emu_SOURCES): likewise
9571 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9572 (grub_emu_SOURCES): likewise
9573 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9574 (grub_emu_SOURCES): likewise
9575 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9576 (grub_emu_SOURCES): likewise
9577 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
9578 (grub_emu_SOURCES): likewise
9579
9580 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
9583
9584 * kern/misc.c (grub_itoa): Removed function
9585 (grub_ltoa): likewise
9586 (grub_vsprintf): use grub_lltoa
9587
9588 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Restore grub-emu
9591
9592 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9593 * conf/i386-coreboot.rmk: likewise
9594 * conf/i386-ieee1275.rmk: likewise
9595 * conf/powerpc-ieee1275.rmk: likewise
9596
9597 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
9598
9599 * INSTALL: Add that `./autogen.sh' needs to be run before
9600 `./configure.'.
9601
9602 2009-04-14 Bean <bean123ch@gmail.com>
9603
9604 * Makefile.in (pkglib_DATA): Add handler.lst.
9605 (handler.lst): New rule.
9606
9607 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9608 * conf/i386-coreboot.rmk: Likewise.
9609 * conf/i386-ieee1275.rmk: Likewise.
9610 * conf/i386-efi.rmk: Likewise.
9611 * conf/x86_64-efi.rmk: Likewise.
9612 * conf/powerpc-ieee1275.rmk: Likewise.
9613 * conf/sparc64-ieee1275.rmk: Likewise.
9614
9615 * genhandlerlist.sh: New file.
9616
9617 * genmk.rb: Add rules to generate handler.lst.
9618
9619 * include/grub/normal.h (grub_file_getline): New function definition.
9620 (read_handler_list): Likewise.
9621 (free_handler_list): Likewise.
9622
9623 * include/grub/term.h (grub_term_register_input): Add name parameter
9624 for auto generation of handler.lst.
9625 (grub_term_register_output): Likewise.
9626
9627 * normal/handler.c: New file.
9628
9629 * normal/main.c (get_line): Renamed to grub_file_getline.
9630 (read_config_file): Use the newly renamed grub_file_getline.
9631 (read_command_list): Likewise.
9632 (read_fs_list): Likewise.
9633 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9634 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9635
9636 * term/efi/console.c (grub_console_init): Add name parameter for auto
9637 generation of handler.lst.
9638 * term/gfxterm.c: Likewise.
9639 * term/i386/pc/at_keyboard.c: Likewise.
9640 * term/i386/pc/console.c: Likewise.
9641 * term/i386/pc/serial.c: Likewise.
9642 * term/i386/pc/vesafb.c: Likewise.
9643 * term/i386/pc/vga.c: Likewise.
9644 * term/i386/pc/vga_text.c: Likewise.
9645 * term/ieee1275/ofconsole.c: Likewise.
9646 * term/usb_keyboard.c: Likewise.
9647
9648 2009-04-14 Bean <bean123ch@gmail.com>
9649
9650 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9651 properly with null character.
9652
9653 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
9654
9655 * configure: Remove.
9656 * config.h.in: Likewise.
9657 * stamp-h.in: Likewise.
9658 * DISTLIST: Likewise.
9659 * conf/common.mk: Likewise.
9660 * conf/i386-coreboot.mk: Likewise.
9661 * conf/i386-efi.mk: Likewise.
9662 * conf/i386-ieee1275.mk: Likewise.
9663 * conf/i386.mk: Likewise.
9664 * conf/i386-pc.mk: Likewise.
9665 * conf/powerpc-ieee1275.mk: Likewise.
9666 * conf/sparc64-ieee1275.mk: Likewise.
9667 * conf/x86_64-efi.mk: Likewise.
9668
9669 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9670 develop on GRUB.
9671
9672 2009-04-14 John Stanley <jpsinthemix@verizon.net>
9673 David S. Miller <davem@davemloft.net>
9674
9675 * util/hostdisk.c (make_device_name): Fix buffer length
9676 calculations.
9677
9678 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
9679
9680 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9681 <sys/param.h> and <sys/sysctl.h>.
9682 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9683 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9684 opening the device and reset them afterwards.
9685
9686 2009-04-13 Pavel Roskin <proski@gnu.org>
9687
9688 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9689 Reported by John Stanley <jpsinthemix@verizon.net>
9690
9691 2009-04-13 Robert Millan <rmh@aybabtu.com>
9692
9693 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
9694 that name for menuentries when appropriate.
9695
9696 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
9697
9698 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9699
9700 2009-04-13 Robert Millan <rmh@aybabtu.com>
9701
9702 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9703 to Linux, simply abort telling the user it's no longer supported.
9704
9705 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
9706
9707 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
9708 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
9709 `freebsd_loadenv' only when devices.hints exist.
9710
9711 2009-04-13 Pavel Roskin <proski@gnu.org>
9712
9713 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9714
9715 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
9716
9717 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9718 partition number.
9719 (grub_drive): Likewise.
9720
9721 2009-04-13 David S. Miller <davem@davemloft.net>
9722
9723 * kern/sparc64/ieee1275/ieee1275.c: New file.
9724 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9725 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9726 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9727 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9728 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9729 grub_ieee1275_alloc_physmem): Declare new exported functions.
9730
9731 * include/grub/sparc64/ieee1275/loader.h: New file.
9732 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9733 * include/grub/sparc64/kernel.h: Likewise.
9734 * loader/sparc64/ieee1275/linux.c: Likewise.
9735
9736 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9737 (grub_fstest_SOURCES): Likewise.
9738
9739 * util/hostdisk.c (make_device_name): Do not make any assumptions
9740 about the length of drive names.
9741
9742 * kern/dl.c (grub_dl_load_file): Close file immediately when
9743 we are done using it.
9744
9745 2009-04-12 David S. Miller <davem@davemloft.net>
9746
9747 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9748 values. Noticed by Pavel Roskin.
9749
9750 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9751 target compiler.
9752
9753 * genmk.rb: Add more flexible image type specification, also
9754 pass --strip-unneeded to objcopy.
9755 * conf/i386-pc.rmk: Use *_FORMAT.
9756 * conf/i386-pc.mk: Rebuilt.
9757
9758 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9759 (OFDISK_HASH_SZ): Define.
9760 (ofdisk_hash): New hash table.
9761 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9762 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9763 instead of device phandle which is not unique.
9764
9765 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9766 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9767 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9768 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9769 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9770 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9771 GRUB_KERNEL_MACHINE_DATA_END): Define.
9772 (grub_kernel_image_size, grub_total_module_size): Declare.
9773
9774 2009-04-12 Pavel Roskin <proski@gnu.org>
9775
9776 * configure.ac: Change the logic when we check for target tools.
9777 Do it when the target is specified and it's different from the
9778 specified value of the host.
9779
9780 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
9781
9782 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9783 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9784 GNU/kFreeBSD. Check if a device is a character device. Use
9785 DIOCGMEDIASIZE to get the size.
9786 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9787 support for GNU/kFreeBSD.
9788 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
9789 is a character device instead of a block device. Add support for
9790 FreeBSD device names.
9791
9792 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
9793 is a character device instead of a block device.
9794
9795 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9796 is a character device instead of a block device.
9797
9798 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9799
9800 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9801 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9802 FreeBSD. Check if a device is a character device. Use
9803 DIOCGMEDIASIZE to get the size.
9804 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9805 support for FreeBSD.
9806 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9807 is a character device instead of a block device. Add support for
9808 FreeBSD device names.
9809
9810 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9811 a character device instead of a block device.
9812 (grub_util_check_char_device): New function.
9813
9814 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9815 a character device instead of a block device.
9816
9817 * include/grub/util/getroot.h (grub_util_check_char_device): New
9818 prototype.
9819
9820 2009-04-11 David S. Miller <davem@davemloft.net>
9821
9822 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9823 static libgcc.
9824 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9825 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9826 function, if present.
9827 (__bswapdi2): Likewise.
9828
9829 * include/grub/sparc64/ieee1275/boot.h: New file.
9830 * boot/sparc64/ieee1275/boot.S: Likewise.
9831 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9832
9833 * kern/misc.c (grub_ltoa): New function.
9834 (grub_vsprintf): Use it to format 'long' integers.
9835
9836 2009-04-10 David S. Miller <davem@davemloft.net>
9837
9838 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9839 slots are of type grub_ieee1275_cell_t.
9840 (grub_nand_read): Likewise.
9841 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9842 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9843 macros are used to compare values in arg/ret block of the call.
9844 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9845 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9846 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9847 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9848 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9849 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9850 grub_ieee1275_close, grub_ieee1275_set_property,
9851 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9852 grub_ieee1275_cell_t.
9853 * kern/ieee1275/openfw.c (grub_map): Likewise.
9854 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9855 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9856
9857 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9858 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9859 (grub_devalias_iterate): Likewise.
9860
9861 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 UFS improvements
9864
9865 * fs/ufs.c (INODE_NBLOCKS): new definition
9866 (struct grub_ufs_dirent): added fields for non-BSD dirents
9867 (grub_ufs_get_file_block): fixed double indirect handling
9868 (grub_ufs_lookup_symlink): use more robust way to determine whether
9869 symlink is inline
9870 (grub_ufs_find_file): support for non-BSD dirents
9871 (grub_ufs_dir): support for non-BSD dirents
9872
9873 2009-04-10 Bean <bean123ch@gnail.com>
9874
9875 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9876 attribute, otherwise the size would be wrong for i386 platform.
9877
9878 * include/grub/pci.h (grub_pci_read_word): New inline function.
9879 (grub_pci_read_byte): Likewise.
9880 (grub_pci_write): Likewise.
9881 (grub_pci_write_word): Likewise.
9882 (grub_pci_write_byte): Likewise.
9883
9884 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9885
9886 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9887 (find_framebuf): Scan pci to locate the frame buffer address.
9888
9889 * commands/efi/fixvideo.c: New file.
9890
9891 * commands/efi/loadbios.c: Likewise.
9892
9893 * commands/memrw.c: Likewise.
9894
9895 * util/grub-dumpbios.in: Likewise.
9896
9897 * conf/common.rmk (grub-dumpbios): New utility.
9898 (pkglib_MODULES): New module memrw.mod.
9899 (memrw_mod_SOURCE): New macro.
9900 (memrw_mod_CFLAGS): Likewise.
9901 (memrw_mod_LDFLAGS): Likewise.
9902
9903 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
9904 fixvideo.mod.
9905 (loadbios_mod_SOURCE): New macro.
9906 (loadbios_mod_CFLAGS): Likewise.
9907 (loadbios_mod_LDFLAGS): Likewise.
9908 (fixvideo_mod_SOURCE): Likewise.
9909 (fixvideo_mod_CFLAGS): Likewise.
9910 (fixvideo_mod_LDFLAGS): Likewise.
9911
9912 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
9913 fixvideo.mod.
9914 (loadbios_mod_SOURCE): New macro.
9915 (loadbios_mod_CFLAGS): Likewise.
9916 (loadbios_mod_LDFLAGS): Likewise.
9917 (fixvideo_mod_SOURCE): Likewise.
9918 (fixvideo_mod_CFLAGS): Likewise.
9919 (fixvideo_mod_LDFLAGS): Likewise.
9920
9921 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
9922
9923 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9924
9925 2009-04-07 David S. Miller <davem@davemloft.net>
9926
9927 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9928 support for R_SPARC_OLO10 relocations. Fix compile warning for
9929 R_SPARC_WDISP30 case.
9930 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
9931
9932 2009-04-06 Pavel Roskin <proski@gnu.org>
9933
9934 * include/grub/misc.h (ARRAY_SIZE): New macro.
9935 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9936 New macro.
9937 * loader/i386/linux.c (allocate_pages): Use free_pages().
9938 (grub_linux_unload): Don't use free_pages().
9939 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9940 wrong index. Treat all other modes as text modes.
9941 (grub_cmd_linux): Initialize vid_mode unconditionally to
9942 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9943
9944 * commands/help.c (print_command_help): Use cmd->prio, not
9945 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9946
9947 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 Parttool
9950
9951 * parttool/pcpart.c: new file
9952 * commands/parttool.c: likewise
9953 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9954 (parttool_mod_SOURCES): new variable
9955 (parttool_mod_CFLAGS): likewise
9956 (parttool_mod_LDFLAGS): likewise
9957 (pcpart_mod_SOURCES): likewise
9958 (pcpart_mod_CFLAGS): likewise
9959 (pcpart_mod_LDFLAGS): likewise
9960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
9961 and parttool/pcpart.c
9962 * conf/i386-efi.rmk: likewise
9963 * conf/i386-ieee1275.rmk: likewise
9964 * conf/i386-pc.rmk: likewise
9965 * conf/powerpc-ieee1275.rmk: likewise
9966 * conf/sparc64-ieee1275.rmk: likewise
9967 * conf/x86_64-ieee1275.rmk: likewise
9968
9969 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 Support for mtime and further expandability of dir command
9972
9973 * include/grub/lib/datetime.h: moved to ...
9974 * include/grub/datetime.h: ... moved here and added
9975 declaration of grub_unixtime2datetime. All users updated
9976 * include/grub/fs.h: new syntax for dir and mtime functions in
9977 struct grub_fs
9978 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9979 and GRUB_FSHELP_FLAGS_MASK
9980 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9981 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9982 (grub_ext2_mtime): new function
9983 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9984 (grub_hfsplus_mtime): new function
9985 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9986 (GRUB_UFS_ATTR_FILE): likewise
9987 (GRUB_UFS_ATTR_LNK): likewise
9988 (struct grub_ufs_sblock): new fields mtime
9989 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9990 all users updated
9991 (grub_ufs_dir): mtime support
9992 (grub_ufs_mtime): new function
9993 * fs/affs.c (grub_affs_dir): use new dir syntax
9994 * fs/afs.c (grub_afs_dir): likewise
9995 * fs/cpio.c (grub_cpio_dir): likewise
9996 * fs/fat.c (grub_fat_find_dir): likewise
9997 * fs/hfs.c (grub_hfs_dir): likewise
9998 * fs/iso9660.c (grub_iso9660_dir): likewise
9999 * fs/jfs.c (grub_jfs_dir): likewise
10000 * fs/minix.c (grub_minix_dir): likewise
10001 * fs/ntfs.c (grub_ntfs_dir): likewise
10002 * fs/reiserfs.c (grub_reiserfs_dir): likewise
10003 * fs/sfs.c (grub_sfs_dir): likewise
10004 * fs/xfs.c (grub_xfs_dir): likewise
10005 * util/hostfs.c (grub_hostfs_dir): likewise
10006 * lib/datetime.c: moved to ...
10007 * normal/datetime.c: ... moved here
10008 (grub_unixtime2datetime): new function
10009 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
10010 * normal/completion.c (iterate_dir): use new dir syntax
10011 * normal/misc.c (grub_normal_print_device_info): tell the
10012 last modification time of a volume
10013 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
10014 * conf/common.rmk: added lib/datetime.c to ls.mod
10015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
10016 (normal_mod_SOURCES): likewise
10017 (datetime_mod_SOURCES): Removed lib/datetime.c
10018 * conf/i386-efi.rmk: likewise
10019 * conf/i386-ieee1275.rmk: likewise
10020 * conf/i386-pc.rmk: likewise
10021 * conf/powerpc-ieee1275.rmk: likewise
10022 * conf/sparc64-ieee1275.rmk: likewise
10023 * conf/x86_64-efi.rmk: likewise
10024
10025 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 Trim trailing spaces in FAT label and support mtools-like labels
10028
10029 * fs/fat.c (grub_fat_iterate_dir): New function based
10030 on grub_fat_find_dir
10031 (grub_fat_find_dir): use grub_fat_iterate_dir
10032 (grub_fat_label): likewise
10033
10034 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
10037 and command.h
10038 remove extraneous kernel_elf_HEADERS
10039
10040 2009-04-04 Bean <bean123ch@gnail.com>
10041
10042 * include/grub/util/misc.h: Add dummy function fsync for mingw.
10043
10044 * util/misc.c: Likewise.
10045
10046 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
10047
10048 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
10049 instead of grub_printf.
10050
10051 2009-04-03 Robert Millan <rmh@aybabtu.com>
10052
10053 * loader/i386/linux.c (grub_linux_setup_video): Fill
10054 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
10055 values from `mode info' structure instead of hardcoded
10056 values.
10057
10058 2009-04-01 Pavel Roskin <proski@gnu.org>
10059
10060 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
10061 unused now.
10062 * genmk.rb: Likewise.
10063 * configure.ac: Likewise.
10064
10065 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
10066
10067 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
10068 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
10069
10070 2009-04-01 David S. Miller <davem@davemloft.net>
10071
10072 * normal/sparc64/setjmp.S: Fix setjmp implementation.
10073 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
10074 (grub_setjmp): Mark with 'returns_twice' attribute.
10075 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10076 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10077 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10078
10079 2009-04-01 Robert Millan <rmh@aybabtu.com>
10080
10081 Reapply fix from 2008-07-28 which was accidentally reverted; also
10082 perform the same fix to a similar check in same function.
10083
10084 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10085 with the same number are found, just use issue a warning with
10086 grub_dprintf(), as this error has been reported to be non-fatal.
10087
10088 2009-03-31 Pavel Roskin <proski@gnu.org>
10089
10090 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10091 for cross-compilation.
10092
10093 2009-03-30 Robert Millan <rmh@aybabtu.com>
10094
10095 Fix i386-ieee1275 build.
10096
10097 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10098 Remove declaration.
10099
10100 2009-03-30 Pavel Roskin <proski@gnu.org>
10101
10102 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10103 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10104 zero-terminated, rely only on the strlen value. Fix comparison
10105 of strings differing in length.
10106
10107 2009-03-30 Robert Millan <rmh@aybabtu.com>
10108
10109 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10110 checking for abi version. Improve error messages on BIOS to notify
10111 user about `linux16' command.
10112
10113 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 Leak fixes
10116
10117 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10118 in case of collision
10119 * disk/scsi.c (grub_scsi_open): free scsi in case of error
10120
10121 2009-03-29 Robert Millan <rmh@aybabtu.com>
10122
10123 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10124 set `vid_mode' accordingly.
10125 (grub_linux_boot): Process `vid_mode' and set video mode.
10126
10127 2009-03-29 Robert Millan <rmh@aybabtu.com>
10128
10129 * util/grub.d/10_linux.in (linux_entry): New function.
10130 Factorize generation of Linux boot entries.
10131
10132 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10133
10134 Make the format of Environment Block plain text. The boot loader
10135 part is not tested well yet.
10136
10137 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10138 (buffer): Removed.
10139 (envblk): Likewise.
10140 (usage): Remove "info" and "clear". Add "unset". Update the
10141 description of "set", as this does not delete variables any
10142 longer.
10143 (create_envblk_file): Complete rewrite.
10144 (open_envblk_file): Likewise.
10145 (cmd_info): Removed.
10146 (cmd_list): Likewise.
10147 (cmd_set): Likewise.
10148 (cmd_clear): Likewise.
10149 (list_variables): New function.
10150 (write_envblk): Likewise.
10151 (set_variables): Likewise.
10152 (unset_variables): Likewise.
10153 (main): Complete rewrite.
10154
10155 * commands/loadenv.c (buffer): Removed.
10156 (envblk): Likewise.
10157 (open_envblk_file): New function.
10158 (read_envblk_file): Complete rewrite.
10159 (grub_cmd_load_env): Likewise.
10160 (grub_cmd_list_env): Likewise.
10161 (struct blocklist): New struct.
10162 (free_blocklists): New function.
10163 (check_blocklists): Likewise.
10164 (write_blocklists): Likewise.
10165 (grub_cmd_save_env): Complete rewrite.
10166
10167 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10168 a plain text signature.
10169 (GRUB_ENVBLK_MAXLEN): Removed.
10170 (struct grub_envblk): Complete rewrite.
10171 (grub_envblk_find): Removed.
10172 (grub_envblk_insert): Likewise.
10173 (grub_envblk_open): New prototype.
10174 (grub_envblk_set): Likewise.
10175 (grub_envblk_delete): Put const to VALUE.
10176 (grub_envblk_iterate): Put const to NAME and VALUE.
10177 (grub_envblk_close): New prototype.
10178 (grub_envblk_buffer): New inline function.
10179 (grub_envblk_size): Likewise.
10180
10181 * lib/envblk.c: Include grub/mm.h.
10182 (grub_env_find): Removed.
10183 (grub_envblk_open): New function.
10184 (grub_envblk_close): Likewise.
10185 (escaped_value_len): Likewise.
10186 (find_next_line): Likewise.
10187 (grub_envblk_insert): Removed.
10188 (grub_envblk_set): New function.
10189 (grub_envblk_delete): Complete rewrite.
10190 (grub_envblk_iterate): Likewise.
10191
10192 2009-03-28 Robert Millan <rmh@aybabtu.com>
10193
10194 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10195 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10196 variables. Use 16-bit loader.
10197 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10198 loader.
10199 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10200 (grub_linux16_boot): ... this. Update all users.
10201 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10202 (grub_linux_boot): ... this. Update all users.
10203
10204 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10205 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10206 commands to `linux16' and `initrd16'.
10207 (GRUB_MOD_FINI(linux)): Rename to ...
10208 (GRUB_MOD_FINI(linux16)): ... this.
10209
10210 2009-03-24 Pavel Roskin <proski@gnu.org>
10211
10212 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10213 not just for compilation.
10214
10215 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Move multiboot helper out of kernel
10218
10219 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10220 `loader/i386/multiboot_helper.S'.
10221 * conf/i386-coreboot.rmk: Likewise
10222 * conf/i386-ieee1275.rmk: Likewise
10223
10224 * kern/i386/loader.S: Move multiboot helpers from here...
10225 * loader/i386/multiboot_helper.S: ...moved here
10226 * include/grub/i386/loader.h: Move declarations of multiboot
10227 helpers from here...
10228 * include/grub/i386/multiboot.h: ...moved here
10229 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10230
10231 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10232
10233 * kern/env.c (grub_env_context_open): Added an argument to specify
10234 whether a new context inherits exported variables from current
10235 one. This is useful when making a sandbox to interpret a config
10236 file.
10237 All callers updated.
10238
10239 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10240
10241 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10242
10243 * kern/env.c (grub_env_context_close): Fix memory leaks.
10244
10245 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10246
10247 * normal/main.c (grub_normal_execute): Added an argument
10248 BATCH to specify if an interactive interface should be provided
10249 after reading a config file.
10250 All callers updated.
10251 (read_command_list): Prevent being executed twice.
10252 (read_fs_list): Likewise.
10253
10254 * include/grub/normal.h (grub_normal_execute): Updated the
10255 prototype.
10256
10257 2009-03-22 Pavel Roskin <proski@gno.org>
10258
10259 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10260 _start.
10261 * kern/i386/pc/startup.S: Likewise.
10262 * kern/i386/efi/startup.S: Likewise.
10263 * kern/i386/ieee1275/startup.S: Likewise.
10264 * kern/i386/coreboot/startup.S: Likewise.
10265 * kern/x86_64/efi/startup.S: Likewise.
10266
10267 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10268 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10269 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10270
10271 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10274
10275 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10276 limit detection.
10277 Use vaddr of correct segment for entry_point.
10278
10279 2009-03-21 Bean <bean123ch@gmail.com>
10280
10281 * commands/blocklist.c: Add include file <grub/command.h>, remove
10282 <grub/normal.h> and <grub/arg.h>.
10283 (grub_cmd_blocklist): Use the new command interface.
10284 (GRUB_MOD_INIT): Likewise.
10285 (GRUB_MOD_FINI): Likewise.
10286 * commands/boot.c: Likewise.
10287 * commands/cat.c: Likewise.
10288 * commands/cmp.c: Likewise.
10289 * commands/configfile.c: Likewise.
10290 * commands/crc.c: Likewise.
10291 * commands/echo.c: Likewise.
10292 * commands/halt.c: Likewise.
10293 * commands/handler.c: Likewise.
10294 * commands/hdparm.c: Likewise.
10295 * commands/help.c: Likewise.
10296 * commands/hexdump.c: Likewise.
10297 * commands/loadenv.c: Likewise.
10298 * commands/ls.c: Likewise.
10299 * commands/lsmmap.c: Likewise.
10300 * commands/lspci.c: Likewise.
10301 * commands/loadenv.c: Likewise.
10302 * commands/read.c: Likewise.
10303 * commands/reboot.c: Likewise.
10304 * commands/search.c: Likewise.
10305 * commands/sleep.c: Likewise.
10306 * commands/test.c: Likewise.
10307 * commands/usbtest.c: Likewise.
10308 * commands/videotest.c: Likewise.
10309 * commands/i386/cpuid.c: Likewise.
10310 * commands/i386/pc/halt.c: Likewise.
10311 * commands/i386/pc/play.c: Likewise.
10312 * commands/i386/pc/pxecmd.c: Likewise.
10313 * commands/i386/pc/vbeinfo.c: Likewise.
10314 * commands/i386/pc/vbetest.c: Likewise.
10315 * commands/ieee1275/suspend.c: Likewise.
10316 * disk/loopback.c: Likewise.
10317 * font/font_cmd.c: Likewise.
10318 * hello/hello.c: Likewise.
10319 * loader/efi/appleloader.c: Likewise.
10320 * loader/efi/chainloader.c: Likewise.
10321 * loader/i386/bsd.c: Likewise.
10322 * loader/i386/efi/linux.c: Likewise.
10323 * loader/i386/ieee1275/linux.c: Likewise.
10324 * loader/i386/linux.c: Likewise.
10325 * loader/i386/pc/chainloader.c: Likewise.
10326 * loader/i386/pc/linux.c: Likewise.
10327 * loader/powerpc/ieee1275/linux.c: Likewise.
10328 * loader/multiboot_loader.c: Likewise.
10329 * term/gfxterm.c: Likewise.
10330 * term/i386/pc/serial.c: Likewise.
10331 * term/terminfo.c: Likewise.
10332
10333 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10334 * term/i386/pc/vga.c: Likewise.
10335 * video/readers/jpeg.c: Likewise.
10336 * video/readers/png.c: Likewise.
10337 * video/readers/tga.c: Likewise.
10338
10339 * util/grub-fstest (cmd_loopback): Removed.
10340 (cmd_blocklist): Likewise.
10341 (cmd_ls): Likewise.
10342 (grub_register_command): Likewise.
10343 (grub_unregister_command): Likewise.
10344 (execute_command): Use grub_command_find to locate command and execute
10345 it.
10346
10347 * include/grub/efi/chainloader.h: Removed.
10348 * loader/efi/chainloader_normal.c: Likewise.
10349 * loader/i386/bsd_normal.c: Likewise.
10350 * loader/i386/pc/chainloader_normal.c: Likewise.
10351 * loader/i386/pc/multiboot_normal.c: Likewise.
10352 * loader/linux_normal.c: Likewise.
10353 * loader/multiboot_loader_normal.c: Likewise.
10354 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10355
10356 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10357 and grub_register_command_p1.
10358
10359 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10360 kern/command.c, lib/arg.c and commands/extcmd.c.
10361 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10362 (minicmd_mod_SOURCES): New variable.
10363 (minicmd_mod_CFLAGS): Likewise.
10364 (minicmd_mod_LDFLAGS): Likewise.
10365 (extcmd_mod_SOURCES): Likewise.
10366 (extcmd_mod_CFLAGS): Likewise.
10367 (extcmd_mod_LDFLAGS): Likewise.
10368 (boot_mod_SOURCES): Removed.
10369 (boot_mod_CFLAGS): Likewise.
10370 (boot_mod_LDFLAGS): Likewise.
10371
10372 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10373 kern/corecmd.c.
10374 (kernel_img_HEADERS): Add command.h.
10375 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10376 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10377 and lib/arg.c.
10378 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10379 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10380 remove the corresponding normal mode command.
10381 (normal_mod_SOURCES): Remove normal/arg.c.
10382 * conf/i386-coreboot.rmk: Likewise.
10383 * conf/i386-efi.rmk: Likewise.
10384 * conf/i386-ieee1275.rmk: Likewise.
10385 * conf/powerpc-ieee1275.rmk: Likewise.
10386 * conf/x86_64-efi.rmk: Likewise.
10387
10388 * include/grub/arg.h: Move from here ...
10389 * include/grub/lib/arg.h: ... to here.
10390
10391 * normal/arg.c: Move from here ...
10392 * lib/arg.c: ... to here.
10393
10394 * commands/extcmd.c: New file.
10395 * commands/minicmd.c: Likewise.
10396 * include/grub/command.h: Likewise.
10397 * include/grub/extcmd.h: Likewise.
10398 * kern/command.c: Likewise.
10399 * kern/corecmd.c: Likewise.
10400
10401 * kern/list.c (grub_list_iterate): Return int instead of void.
10402 (grub_list_insert): New function.
10403 (grub_prio_list_insert): Likewise.
10404
10405 * kern/rescue.c (grub_rescue_command): Removed.
10406 (grub_rescue_command_list): Likewise.
10407 (grub_rescue_register_command): Likewise.
10408 (grub_rescue_unregister_command): Likewise.
10409 (grub_rescue_cmd_boot): Move to minicmd.c
10410 (grub_rescue_cmd_help): Likewise.
10411 (grub_rescue_cmd_info): Likewise.
10412 (grub_rescue_cmd_boot): Likewise.
10413 (grub_rescue_cmd_testload): Likewise.
10414 (grub_rescue_cmd_dump): Likewise.
10415 (grub_rescue_cmd_rmmod): Likewise.
10416 (grub_rescue_cmd_lsmod): Likewise.
10417 (grub_rescue_cmd_exit): Likewise.
10418 (grub_rescue_print_devices): Moved to corecmd.c.
10419 (grub_rescue_print_files): Likewise.
10420 (grub_rescue_cmd_ls): Likewise.
10421 (grub_rescue_cmd_insmod): Likewise.
10422 (grub_rescue_cmd_set): Likewise.
10423 (grub_rescue_cmd_unset): Likewise.
10424 (attempt_normal_mode): Use grub_command_find to get normal module.
10425 (grub_enter_rescue_mode): Use grub_register_core_commands to register
10426 commands, remove grub_rescue_register_command calls.
10427
10428 * normal/command.c (grub_register_command): Removed.
10429 (grub_unregister_command): Likewise.
10430 (grub_command_find): Likewise.
10431 (grub_iterate_commands): Likewise.
10432 (rescue_command): Likewise.
10433 (export_command): Moved to corecmd.c.
10434 (set_command): Removed.
10435 (unset_command): Likewise.
10436 (insmod_command): Likewise.
10437 (rmmod_command): Likewise.
10438 (lsmod_command): Likewise.
10439 (grub_command_init): Likewise.
10440
10441 * normal/completion.c (iterate_command): Use cmd->prio to check for
10442 active command.
10443 (complete_arguments): Use grub_extcmd_t structure to find options.
10444 (grub_normal_do_completion): Change function grub_iterate_commands to
10445 grub_command_iterate.
10446
10447 * normal/execute.c (grub_script_execute_cmd): No need to parse
10448 argument here.
10449
10450 * normal/main.c (grub_dyncmd_dispatcher): New function.
10451 (read_command_list): Register unload commands as dyncmd.
10452 (grub_cmd_normal): Use new command interface, register rescue,
10453 unregister normal at entry, register normal, unregister rescue at exit.
10454
10455 * include/grub/list.h (grub_list_test_t): New type.
10456 (grub_list_iterate): Return int instead of void.
10457 (grub_list_insert): New function.
10458 (GRUB_AS_NAMED_LIST_P): New macro.
10459 (GRUB_AS_PRIO_LIST): Likewise.
10460 (GRUB_AS_PRIO_LIST_P): Likewise.
10461 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10462 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10463 (grub_prio_list): New structure.
10464 (grub_prio_list_insert): New function.
10465 (grub_prio_list_remove): New inline function.
10466
10467 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10468 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10469 (GRUB_COMMAND_FLAG_MENU): Likewise.
10470 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10471 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10472 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10473 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10474 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10475 (grub_command): Likewise.
10476 (grub_register_command): Likewise.
10477 (grub_command_find): Likewise.
10478 (grub_iterate_commands): Likewise.
10479 (grub_command_init): Likewise.
10480 (grub_arg_parse): Likewise.
10481 (grub_arg_show_help): Likewise.
10482
10483 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10484 (grub_rescue_unregister_command): Likewise.
10485
10486 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10487 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10488 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10489
10490 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10491 grub_rescue_cmd_initrd.
10492 * include/grub/i386/loader.h: Likewise.
10493 * include/grub/x86_64/loader.h: Likewise.
10494
10495 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10496
10497 2009-03-21 Bean <bean123ch@gmail.com>
10498
10499 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10500 instead of stat in mingw environment.
10501
10502 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10503
10504 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10505
10506 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10507 AC_CONFIG_LINKS.
10508
10509 2009-03-21 Bean <bean123ch@gmail.com>
10510
10511 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10512 out of range error.
10513
10514 2009-03-18 Michel Dänzer <michel@daenzer.net>
10515
10516 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10517 checking inode flags for EXT4_EXTENTS_FLAG.
10518
10519 2009-03-18 Robert Millan <rmh@aybabtu.com>
10520
10521 * loader/i386/linux.c: Include `<grub/video.h>' and
10522 `<grub/i386/pc/vbe.h>'..
10523 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10524 (grub_linux32_boot): Attempt to configure video settings with
10525 grub_linux_setup_video().
10526 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10527 to avoid grub_console_fini() which would step out of graphical mode
10528 unconditionally.
10529
10530 2009-03-14 Robert Millan <rmh@aybabtu.com>
10531
10532 Fix build on powerpc.
10533 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10534
10535 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10538 background image command.
10539
10540 2009-03-12 Colin D Bennett <colin@gibibit.com>
10541
10542 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10543 (grub_gfxterm_putchar): Extract pairs of identical calls to
10544 draw_cursor out of conditional blocks.
10545
10546 2009-03-11 Pavel Roskin <proski@gnu.org>
10547
10548 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10549 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10550
10551 2009-03-11 Robert Millan <rmh@aybabtu.com>
10552
10553 * loader/i386/multiboot_elfxx.c
10554 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10555
10556 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
10557
10558 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10559 `kern/handler.c'.
10560
10561 2009-03-11 Robert Millan <rmh@aybabtu.com>
10562
10563 * loader/i386/multiboot.c (code_size): New variable.
10564 (grub_multiboot): Define offsets by adding to `code_size' rather
10565 than subtracting from `grub_multiboot_payload_size'. Provide
10566 4-byte alignment to MBI and others by increasing
10567 `boot_loader_name_length' appropriately.
10568
10569 * loader/i386/multiboot_elfxx.c
10570 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10571
10572 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
10573
10574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10575 `fs/ext2.c'.
10576
10577 2009-03-08 Robert Millan <rmh@aybabtu.com>
10578
10579 Make loader/i386/linux.c usable on i386-pc again.
10580
10581 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10582 memory to heap.
10583 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10584 `#error' stanza.
10585
10586 2009-03-07 Bean <bean123ch@gmail.com>
10587
10588 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10589 allocation.
10590
10591 2009-03-06 Robert Millan <rmh@aybabtu.com>
10592
10593 Fix display issue on terminals with screen size other than 80x25
10594 (e.g. gfxterm with resolution higher than 640x480).
10595
10596 * normal/main.c (grub_normal_init_page): Display title text in a
10597 position relative to the center of the terminal instead of relying
10598 on a hardcoded offset.
10599
10600 2009-03-04 Robert Millan <rmh@aybabtu.com>
10601
10602 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10603 installed.
10604
10605 * Makefile.in (host_kernel): New variable.
10606 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10607 scripts instead of just the windows one.
10608 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10609
10610 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
10611
10612 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10613 `kern/handler.c'.
10614 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10615 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10616 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10618 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10619 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10620
10621 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
10622
10623 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10624 or if there's no space for the disk label and print the partition number on a
10625 invalid magic.
10626
10627 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
10628
10629 * util/misc.c: Include <time.h>.
10630 (grub_millisleep): New function.
10631
10632 2009-03-04 Bean <bean123ch@gmail.com>
10633
10634 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10635 another option -mno-red-zone.
10636
10637 * commands/handler.c: Change module description.
10638
10639 * kern/handler.c: Add missing space at the end of description line.
10640
10641 * kern/list.c: Likewise.
10642
10643 2009-03-03 Robert Millan <rmh@aybabtu.com>
10644
10645 Move more components to the relocation area, and fix mbi pointer
10646 handling to use the destination rather than the origin (thanks to
10647 Vladimir Serbinenko for spotting).
10648
10649 * loader/i386/multiboot.c (mbi_dest): New variable.
10650 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10651 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10652 relocation area.
10653
10654 2009-03-01 Bean <bean123ch@gmail.com>
10655
10656 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
10657 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10658 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10659 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10660
10661 * loader/i386/efi/linux.c (acpi_guid): New variable.
10662 (acpi_guid): Likewise.
10663 (EBDA_SEG_ADDR): New constant.
10664 (LOW_MEM_ADDR): Likewise.
10665 (FAKE_EBDA_SEG): Likewise.
10666 (fake_bios_data): New function.
10667 (grub_linux_boot): Call fake_bios_data.
10668
10669 2009-03-01 Bean <bean123ch@gmail.com>
10670
10671 * commands/terminal.c: Removed.
10672
10673 * commands/handler.c: New file.
10674
10675 * include/grub/list.h: Likewise.
10676
10677 * include/grub/handler.h: Likewise.
10678
10679 * kern/list.c: Likewise.
10680
10681 * kern/handler.c: Likewise.
10682
10683 * kern/term.h: Include header file <grub/handler.h>.
10684 (grub_term_input): Move next field to the beginning.
10685 (grub_term_output): Likewise.
10686 (grub_term_input_class): New variable.
10687 (grub_term_output_class): Likewise.
10688 (grub_term_register_input): Changed to inline function.
10689 (grub_term_register_output): Likewise.
10690 (grub_term_unregister_input): Likewise.
10691 (grub_term_unregister_output): Likewise.
10692 (grub_term_set_current_input): Likewise.
10693 (grub_term_set_current_output): Likewise.
10694 (grub_term_get_current_input): Likewise.
10695 (grub_term_get_current_output): Likewise.
10696 (grub_term_iterate_input): Removed.
10697 (grub_term_iterate_output): Likewise.
10698
10699 * kern/term.c (grub_term_list_input): Removed.
10700 (grub_term_list_output): Likewise.
10701 (grub_term_input_class): New variable.
10702 (grub_term_output_class): Likewise.
10703 (grub_cur_term_input): Change variable as macro.
10704 (grub_cur_term_output): Likewise.
10705 (grub_term_register_input): Removed.
10706 (grub_term_register_output): Likewise.
10707 (grub_term_unregister_input): Likewise.
10708 (grub_term_unregister_output): Likewise.
10709 (grub_term_set_current_input): Likewise.
10710 (grub_term_set_current_output): Likewise.
10711 (grub_term_iterate_input): Likewise.
10712 (grub_term_iterate_output): Likewise.
10713 (grub_term_get_current_input): Likewise.
10714 (grub_term_get_current_output): Likewise.
10715
10716 * util/grub-editenv.c: Include header file <grub/handler.h>.
10717 (grub_term_get_current_input): Removed.
10718 (grub_term_get_current_output): Likewise.
10719 (grub_term_input_class): New variable.
10720 (grub_term_output_class): Likewise.
10721
10722 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10723 (grub_term_get_current_output): Likewise.
10724 (grub_term_input_class): New variable.
10725 (grub_term_output_class): Likewise.
10726
10727 * util/grub-probe.c (grub_term_get_current_input): Removed.
10728 (grub_term_get_current_output): Likewise.
10729 (grub_term_input_class): New variable.
10730 (grub_term_output_class): Likewise.
10731
10732 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10733 (grub_term_get_current_output): Likewise.
10734 (grub_term_input_class): New variable.
10735 (grub_term_output_class): Likewise.
10736
10737 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10738 (terminal_mod_SOURCES): Likewise.
10739 (terminal_mod_CFLAGS): Likewise.
10740 (terminal_mod_LDFLAGS): Likewise.
10741
10742 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10743 handler.c.
10744 (kernel_img_SOURCES): Add list.c and handler.c.
10745 (kernel_img_HEADERS): Add list.h and handler.h.
10746
10747 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10748 handler.c.
10749 (kernel_mod_SOURCES): Add list.c and handler.c.
10750 (kernel_mod_HEADERS): Add list.h and handler.h.
10751
10752 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10753 handler.c.
10754 (kernel_elf_SOURCES): Add list.c and handler.c.
10755 (kernel_elf_HEADERS): Add list.h and handler.h.
10756
10757 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10758 handler.c.
10759 (kernel_elf_SOURCES): Add list.c and handler.c.
10760 (kernel_elf_HEADERS): Add list.h and handler.h.
10761
10762 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10763 handler.c.
10764 (kernel_mod_SOURCES): Add list.c and handler.c.
10765 (kernel_mod_HEADERS): Add list.h and handler.h.
10766
10767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10768 handler.c.
10769 (kernel_elf_SOURCES): Add list.c and handler.c.
10770 (kernel_elf_HEADERS): Add list.h and handler.h.
10771
10772 2009-02-27 Robert Millan <rmh@aybabtu.com>
10773
10774 Factorize elf32 / elf64 code in Multiboot loader. This will
10775 prevent it from getting out of sync again.
10776
10777 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10778 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10779 grub_multiboot_load_elf64): Move from here ...
10780 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10781 grub_multiboot_load_elf): ... to here (new file).
10782
10783 2009-02-27 Robert Millan <rmh@aybabtu.com>
10784
10785 * util/grub.d/10_linux.in: Rename "single-user mode" to
10786 "recovery mode".
10787
10788 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 Don't leak in SCSI code.
10791 * disk/scsi.c (grub_scsi_close): free `scsi'.
10792
10793 2009-02-27 Robert Millan <rmh@aybabtu.com>
10794
10795 * loader/i386/pc/multiboot.c: Move from here ...
10796 * loader/i386/multiboot.c: ... to here. Update all users.
10797
10798 2009-02-27 Robert Millan <rmh@aybabtu.com>
10799
10800 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10801 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10802
10803 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
10804
10805 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10806 b-tree.
10807
10808 2009-02-27 Robert Millan <rmh@aybabtu.com>
10809
10810 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10811 `0x' qualifier as 0 when base is specified as parameter).
10812
10813 2009-02-24 Bean <bean123ch@gmail.com>
10814
10815 * configure.ac: Check for -mcmodel=large in x86_64 target.
10816
10817 * include/grub/efi/api.h (efi_call_10): New macro.
10818 (efi_wrap_10): New function.
10819
10820 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10821 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10822 (GRUB_PE32_REL_BASED_LOW): Likewise.
10823 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10824 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10825 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10826 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10827 (GRUB_PE32_REL_BASED_REL): Likewise.
10828 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10829 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10830 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10831
10832 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10833 issue.
10834
10835 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10836 (efi_wrap_10): New function.
10837
10838 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10839
10840 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10841 MB/MBP model (NV chipset).
10842 (devdata_devs): Add devpath_5 to the list.
10843
10844 * load/i386/efi/linux.c (video_base): Remove variable.
10845 (RGB_MASK): New macro.
10846 (RGB_MAGIC): Likewise.
10847 (LINE_MIN): Likewise.
10848 (LINE_MAX): Likewise.
10849 (FBTEST_STEP): Likewise.
10850 (FBTEST_COUNT): Likewise.
10851 (fb_list): New variable.
10852 (grub_find_video_card): Remove function.
10853 (find_framebuf): New function.
10854 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10855 line length.
10856
10857 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10858 problem for x86_64.
10859
10860 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10861
10862 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10863
10864 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10865 coding tool name.
10866
10867 2009-02-22 Robert Millan <rmh@aybabtu.com>
10868
10869 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10870 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10871 in our relocation, instead of using it directly from heap. Also
10872 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10873
10874 2009-02-21 Robert Millan <rmh@aybabtu.com>
10875
10876 Implement USB keyboard support (based on patch by Marco Gerards)
10877
10878 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10879 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10880 (usb_keyboard_mod_LDFLAGS): New variables.
10881
10882 * term/usb_keyboard.c: New file.
10883
10884 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 Corrected wrong declaration
10887
10888 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10889
10890 2009-02-14 Christian Franke <franke@computer.org>
10891
10892 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10893 (grub_lspci_iter): Print class code and programming interface byte.
10894
10895 2009-02-14 Christian Franke <franke@computer.org>
10896
10897 * gendistlist.sh: Ignore `.svn' directories.
10898
10899 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
10900
10901 * fs/fat.c: Add 2009 to Copyright line.
10902
10903 2009-02-14 Christian Franke <franke@computer.org>
10904
10905 * commands/hdparm.c: New file. Provides `hdparm' command
10906 which sends ATA commands via grub_disk_ata_pass_through ().
10907
10908 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10909
10910 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10911 and <grub/cpu/io.h> to include/grub/ata.h.
10912 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10913 (GRUB_CDROM_SECTOR_SIZE): Remove.
10914 (GRUB_ATA_*): Move to include/grub/ata.h.
10915 (GRUB_ATAPI_*): Likewise.
10916 (enum grub_ata_commands): Likewise.
10917 (enum grub_ata_timeout_milliseconds): Likewise.
10918 (struct grub_ata_device): Likewise.
10919 (grub_ata_regset): Likewise.
10920 (grub_ata_regget): Likewise.
10921 (grub_ata_regset2): Likewise.
10922 (grub_ata_regget2): Likewise.
10923 (grub_ata_check_ready): Likewise.
10924 (grub_ata_wait_not_busy): Remove static, exported in
10925 include/grub/ata.h.
10926 (grub_ata_wait_drq): Likewise.
10927 (grub_ata_pio_read): Likewise.
10928
10929 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10930 function for hdparm.mod.
10931
10932 * include/grub/ata.h: New file, contains declarations from
10933 disk/ata.c.
10934 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10935
10936 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10937 (grub_disk_ata_pass_through): New exported variable.
10938
10939 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10940
10941 2009-02-13 Colin D Bennett <colin@gibibit.com>
10942
10943 Support multiple fallback entries, and provide an API to support
10944 executing default+fallback menu entries. Renamed the `terminal' menu
10945 viewer to `text'.
10946
10947 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10948 variable declaration.
10949 (grub_menu_execute_callback): New structure declaration.
10950 (grub_menu_execute_callback_t): New typedef.
10951 (grub_menu_execute_with_fallback): New function declaration.
10952 (grub_menu_get_entry): Likewise.
10953 (grub_menu_get_timeout): Likewise.
10954 (grub_menu_set_timeout): Likewise.
10955
10956 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10957
10958 * normal/menu.c (grub_wait_after_message): Moved to
10959 `normal/menu_text.c'.
10960 (draw_border): Likewise.
10961 (print_message): Likewise.
10962 (print_entry): Likewise.
10963 (print_entries): Likewise.
10964 (grub_menu_init_page): Likewise.
10965 (get_entry_number): Likewise.
10966 (print_timeout): Likewise.
10967 (run_menu): Likewise.
10968 (grub_menu_execute_entry): Likewise.
10969 (show_text_menu): Likewise.
10970 (get_and_remove_first_entry_number): New function.
10971 (grub_menu_execute_with_fallback): Likewise.
10972 (get_entry): Renamed to ...
10973 (grub_menu_get_entry): .. this and made it global.
10974 (get_timeout): Renamed to ...
10975 (grub_menu_get_timeout): ... this and made it global.
10976 (set_timeout): Renamed to ...
10977 (grub_menu_set_timeout): ... this and made it global.
10978 (grub_normal_terminal_menu_viewer): Renamed to ...
10979 (grub_normal_text_menu_viewer): ... this.
10980
10981 * normal/menu_text.c: New file. Extracted text-menu-specific code
10982 from normal/menu.c.
10983
10984 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10985 (normal_mod_SOURCES): Likewise.
10986
10987 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10988 (normal_mod_SOURCES): Likewise.
10989
10990 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10991 (normal_mod_SOURCES): Likewise.
10992
10993 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10994 (normal_mod_SOURCES): Likewise.
10995
10996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10997 (normal_mod_SOURCES): Likewise.
10998
10999 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11000 (normal_mod_SOURCES): Likewise.
11001
11002 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11003 (normal_mod_SOURCES): Likewise.
11004
11005 2009-02-11 Robert Millan <rmh@aybabtu.com>
11006
11007 * util/grub.d/00_header.in: Update old reference to `font' command.
11008
11009 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
11010
11011 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
11012
11013 Based on patch from Javier Martín.
11014
11015 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
11016
11017 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
11018 to avoid false positives with FAT.
11019 (grub_fstest_SOURCES): Likewise.
11020 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11021 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11026
11027 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
11028
11029 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
11030 bpb.version_specific.fat12_or_fat16.fstype and
11031 bpb.version_specific.fat32.fstype.
11032
11033 2009-02-08 Robert Millan <rmh@aybabtu.com>
11034
11035 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
11036
11037 2009-02-08 Robert Millan <rmh@aybabtu.com>
11038
11039 * Makefile.in (host_os, host_cpu): New variables.
11040 (target_os): Remove. Update all users.
11041
11042 2009-02-08 Marco Gerards <marco@gnu.org>
11043
11044 * Makefile.in (enable_grub_emu_usb): New variable.
11045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
11046 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
11047 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
11048 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
11049 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
11050 `usbtest.mod' and `usbms.mod'.
11051 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
11052 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
11053 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
11054 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
11055 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
11056 variables.
11057
11058 * disk/usbms.c: New file.
11059
11060 * include/grub/usb.h: Likewise.
11061
11062 * include/grub/usbtrans.h: Likewise.
11063
11064 * include/grub/usbdesc.h: Likewise.
11065
11066 * bus/usb/usbtrans.c: Likewise.
11067
11068 * bus/usb/ohci.c: Likewise.
11069
11070 * bus/usb/uhci.c: Likewise.
11071
11072 * bus/usb/usbhub.c: Likewise.
11073
11074 * bus/usb/usb.c: Likewise.
11075
11076 * commands/usbtest.c: Likewise.
11077
11078 * util/usb.c: Likewise.
11079
11080 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11081
11082 * configure.ac: Test for libusb presence.
11083
11084 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11085
11086 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11087
11088 * kern/mm.c: Add more comments.
11089
11090 2009-02-08 Robert Millan <rmh@aybabtu.com>
11091
11092 Patch from Javier Martín.
11093 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11094 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11095
11096 2009-02-08 Robert Millan <rmh@aybabtu.com>
11097
11098 * fs/cpio.c: Split tar functionality to ...
11099 * fs/tar.c: ... here (new file). Update all users.
11100
11101 2009-02-07 Robert Millan <rmh@aybabtu.com>
11102
11103 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11104 backward-incompatible features.
11105
11106 Based on patch from Javier Martín, with some adjustments.
11107
11108 2009-02-07 Michael Scherer <misc@mandriva.org>
11109
11110 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11111
11112 2009-02-07 Robert Millan <rmh@aybabtu.com>
11113
11114 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11115 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11116 after the RAID stuff.
11117
11118 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11119
11120 Fixes problem when running vbetest command as reported by
11121 Vladimir Serbinenko <phcoder@gmail.com>.
11122
11123 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11124
11125 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
11126
11127 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11128 /dev/md/NpN style mdraid devices.
11129
11130 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
11131
11132 * util/unifont2pff.rb: Remove.
11133
11134 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
11135
11136 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11137 `#'.
11138
11139 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
11140
11141 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11142 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11143 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11144 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11146 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11148
11149 2009-02-02 Christian Franke <franke@computer.org>
11150
11151 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11152
11153 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
11154
11155 * INSTALL: Note that we now require at least autoconf 2.59 and
11156 that LZO is optional.
11157
11158 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11159
11160 Base on patch on bug #24154 created by Tomas Tintera
11161 <trosos@seznam.cz>.
11162
11163 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11164
11165 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11166
11167 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
11168 <bero@arklinux.org>.
11169
11170 * normal/parser.y (script_init): Add missing semicolon.
11171
11172 2009-01-31 Colin D Bennett <colin@gibibit.com>
11173
11174 * normal/main.c: Add include to grub/menu_viewer.h.
11175 (free_menu_entry_classes): Added.
11176 (grub_normal_menu_addentry): Added class property handling.
11177 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11178 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11179
11180 * normal/menu_viewer.c: New file.
11181
11182 * normal/menu.c (run_menu_entry): Renamed to ...
11183 (grub_menu_execute_entry): ... this and made it as global.
11184 (grub_menu_run): Renamed to ...
11185 (show_text_menu): ... this and made it local.
11186 (show_text_menu): Adapt to new function names.
11187 (grub_normal_terminal_menu_viewer): New global variable.
11188
11189 * include/grub/menu.h: New file.
11190
11191 * include/grub/menu_viewer.h: New file.
11192
11193 * include/grub/normal.h: Added include to grub/menu.h.
11194 (grub_menu_entry): Moved to include/grub/menu.h.
11195 (grub_menu_entry_t): Likewise.
11196 (grub_menu): Likewise.
11197 (grub_menu_t): Likewise.
11198 (grub_normal_terminal_menu_viewer): Added.
11199 (grub_menu_execute_entry): Likewise.
11200 (grub_menu_run): Removed.
11201
11202 * DISTLIST: Added include/grub/menu.h.
11203 Added include/grub/menu_viewer.h.
11204 Added normal/menu_viewer.c.
11205
11206 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11207
11208 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11209 arglist for menutitle arguments.
11210
11211 * normal/main.c (grub_normal_menu_addentry): Likewise.
11212
11213 * normal/parser.y (menuentry): Likewise.
11214
11215 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11216
11217 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11218 (grub_script_create_cmdmenu): Likewise.
11219
11220 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11221
11222 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11223 changes.
11224
11225 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11226
11227 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11228
11229 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11230
11231 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11232
11233 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11234
11235 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11236
11237 2009-01-30 Christian Franke <franke@computer.org>
11238
11239 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11240 in option help text.
11241
11242 2009-01-27 Pavel Roskin <proski@gnu.org>
11243
11244 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11245
11246 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11247
11248 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11249
11250 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11251
11252 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11253 unregister function.
11254
11255 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11256
11257 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11258
11259 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11260
11261 * util/grub-mkfont.c (usage): Fix typo.
11262
11263 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11264
11265 2009-01-26 Daniel Mierswa <impulze@impulze.org>
11266
11267 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11268
11269 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11270
11271 * kern/misc.c (grub_strcasecmp): New function.
11272 (grub_strcasecmp): Use grub_size_t instead of int for length.
11273 Fix return value.
11274 * include/grub/misc.h: Update function prototypes.
11275
11276 2009-01-26 Robert Millan <rmh@aybabtu.com>
11277
11278 * configure.ac: Fix cross-compilation check.
11279
11280 2009-01-22 Christian Franke <franke@computer.org>
11281
11282 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11283 (precision) digit string. Allow `.format2' without `format1' (width).
11284 Limit input chars for `%s' output to `format2' if specified. This is
11285 compatible with standard printf ().
11286
11287 2009-01-22 Christian Franke <franke@computer.org>
11288
11289 * disk/ata.c (grub_ata_wait_status): Replace by ...
11290 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11291 other status bits may be invalid while BSY is asserted.
11292 (grub_ata_check_ready): New function.
11293 (grub_ata_cmd): Removed.
11294 (grub_ata_wait_drq): New function.
11295 (grub_ata_strncpy): Remove inline.
11296 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11297 and error check now done by grub_ata_wait_drq ().
11298 (grub_ata_pio_write): Likewise.
11299 (grub_atapi_identify): Set DEV before check for !BSY. Use
11300 grub_ata_wait_drq () to wait for data.
11301 (grub_ata_device_initialize): Add status register check to
11302 detect missing SATA slave devices. Add debug messages.
11303 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11304 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11305 transfer loop by grub_ata_pio_write ().
11306 (grub_ata_identify): Set DEV before check for !BSY. Use
11307 grub_ata_wait_drq () to wait for data.
11308 (grub_ata_setaddress): Set DEV before check for !BSY.
11309 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11310 read/write in one loop. Fix invalid command on write. Fix incomplete
11311 command on (size % batch) == 0. Add missing error check after write of
11312 last block. Add debug messages.
11313 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11314
11315 2009-01-19 Christian Franke <franke@computer.org>
11316
11317 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11318 (GRUB_ATAPI_IREASON_*): Likewise.
11319 (grub_ata_pio_write): Fix timeout error return.
11320 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11321 (grub_atapi_wait_drq): New function.
11322 (grub_atapi_packet): New parameter `size'.
11323 Use grub_atapi_wait_drq () and direct write instead of
11324 grub_ata_pio_write ().
11325 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11326 reads the number of bytes requested by the device for each DRQ
11327 assertion.
11328 (grub_atapi_write): Remove old implementation, return not
11329 implemented instead.
11330
11331 2009-01-19 Christian Franke <franke@computer.org>
11332
11333 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11334 of 512 to calculate data size.
11335 (grub_scsi_read12): Likewise.
11336 (grub_scsi_write10): Likewise.
11337 (grub_scsi_write12): Likewise.
11338 (grub_scsi_read): Adjust size according to blocksize.
11339 Add checks for invalid blocksize and unaligned transfer.
11340
11341 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11342
11343 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11344
11345 * term/gfxterm.c (write_char): Fix background rendering for wide
11346 width glyphs.
11347
11348 2009-01-19 Robert Millan <rmh@aybabtu.com>
11349
11350 * config.guess: Update to latest version from config git.
11351 * config.sub: Likewise.
11352
11353 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
11354
11355 * Makefile.in: Change font compilation to use new grub-mkfont instead
11356 of java version.
11357
11358 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11359 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11360 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11361 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11362 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11363 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11364 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11365 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11366 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11367
11368 2009-01-16 Christian Franke <franke@computer.org>
11369
11370 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11371 (enum grub_ata_timeout_milliseconds): New enum.
11372 (grub_ata_wait_status): Add parameter milliseconds.
11373 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11374 recovery from timed-out commands.
11375 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11376 return grub_errno instead of REG_ERROR.
11377 (grub_ata_pio_write): Add parameter milliseconds.
11378 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11379 Pass milliseconds to grub_ata_wait_status () and
11380 grub_ata_pio_read ().
11381 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11382 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11383 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11384 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11385 It is not suitable for device detection, because DEV bit is ignored,
11386 the command may run too long, and not all devices set the signature
11387 properly.
11388 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11389 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11390 Fix device selection, DEV bit must be set first to address the registers
11391 of the correct device.
11392 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11393 grub_ata_pio_read/write ().
11394 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11395 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11396
11397 2009-01-13 Carles Pina i Estany <carles@pina.cat>
11398
11399 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11400
11401 2009-01-13 Bean <bean123ch@gmail.com>
11402
11403 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11404
11405 2009-01-13 Bean <bean123ch@gmail.com>
11406
11407 * Makefile.in: (enable_grub_mkfont): New variable.
11408 (freetype_cflags): Likewise.
11409 (freetype_libs): Likewise.
11410
11411 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11412 (grub_mkfont_SOURCES): New variable.
11413 (grub_mkfont_CFLAGS): Likewise.
11414 (grub_mkfont_LDFLAGS): Likewise.
11415
11416 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11417 library if `--enable-grub-mkfont' is requested.
11418 (enable_grub_mkfont): New variable.
11419 (freetype_cflags): Likewise.
11420 (freetype_libs): Likewise.
11421
11422 * util/grub-mkfont.c: New file.
11423
11424 2009-01-12 Christian Franke <franke@computer.org>
11425
11426 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11427 mode check. Fix setting of compat_use[].
11428
11429 2009-01-10 Robert Millan <rmh@aybabtu.com>
11430
11431 Update a few copyright years which we forgot to do in 2008 (only for
11432 files whose changes made in 2008 were copyright-significant)
11433
11434 * Makefile.in: Add 2008 to Copyright line.
11435 * disk/ieee1275/ofdisk.c: Likewise.
11436 * disk/efi/efidisk.c: Likewise.
11437 * kern/dl.c: Likewise.
11438 * kern/sparc64/ieee1275/init.c: Likewise.
11439 * kern/mm.c: Likewise.
11440 * kern/efi/mm.c: Likewise.
11441 * boot/i386/pc/boot.S: Likewise.
11442 * genfslist.sh: Likewise.
11443 * fs/iso9660.c: Likewise.
11444 * fs/hfs.c: Likewise.
11445 * fs/jfs.c: Likewise.
11446 * fs/minix.c: Likewise.
11447 * fs/ufs.c: Likewise.
11448 * gensymlist.sh.in: Likewise.
11449 * genkernsyms.sh.in: Likewise.
11450 * include/grub/misc.h: Likewise.
11451 * include/grub/types.h: Likewise.
11452 * include/grub/symbol.h: Likewise.
11453 * include/grub/elf.h: Likewise.
11454 * include/grub/kernel.h: Likewise.
11455 * include/grub/disk.h: Likewise.
11456 * include/grub/dl.h: Likewise.
11457 * include/grub/i386/linux.h: Likewise.
11458 * include/grub/i386/pc/biosdisk.h: Likewise.
11459 * include/grub/efi/api.h: Likewise.
11460 * include/grub/efi/pe32.h: Likewise.
11461 * include/grub/util/misc.h: Likewise.
11462 * normal/execute.c: Likewise.
11463 * normal/arg.c: Likewise.
11464 * normal/completion.c: Likewise.
11465 * normal/lexer.c: Likewise.
11466 * normal/parser.y: Likewise.
11467 * normal/misc.c: Likewise.
11468 * commands/i386/pc/vbeinfo.c: Likewise.
11469 * commands/hexdump.c: Likewise.
11470 * commands/terminal.c: Likewise.
11471 * commands/ls.c: Likewise.
11472 * commands/help.c: Likewise.
11473 * partmap/pc.c: Likewise.
11474 * loader/efi/chainloader.c: Likewise.
11475 * loader/multiboot_loader.c: Likewise.
11476 * loader/i386/pc/multiboot2.c: Likewise.
11477 * term/efi/console.c: Likewise.
11478 * term/i386/pc/serial.c: Likewise.
11479 * util/lvm.c: Likewise.
11480 * util/console.c: Likewise.
11481 * util/i386/efi/grub-mkimage.c: Likewise.
11482 * util/raid.c: Likewise.
11483
11484 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11485
11486 * commands/videotest.c: Removed include to grub/machine/memory.h.
11487
11488 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11489 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11490 (video_mod_SOURCES): Removed.
11491 (video_mod_CFLAGS): Likewise.
11492 (video_mod_LDFLAGS): Likewise.
11493 (gfxterm_mod_SOURCES): Likewise.
11494 (gfxterm_mod_CFLAGS): Likewise.
11495 (gfxterm_mod_LDFLAGS): Likewise.
11496 (videotest_mod_SOURCES): Likewise.
11497 (videotest_mod_CFLAGS): Likewise.
11498 (videotest_mod_LDFLAGS): Likewise.
11499 (bitmap_mod_SOURCES): Likewise.
11500 (bitmap_mod_CFLAGS): Likewise.
11501 (bitmap_mod_LDFLAGS): Likewise.
11502 (tga_mod_SOURCES): Likewise.
11503 (tga_mod_CFLAGS): Likewise.
11504 (tga_mod_LDFLAGS): Likewise.
11505 (jpeg_mod_SOURCES): Likewise.
11506 (jpeg_mod_CFLAGS): Likewise.
11507 (jpeg_mod_LDFLAGS): Likewise.
11508 (png_mod_SOURCES): Likewise.
11509 (png_mod_CFLAGS): Likewise.
11510 (png_mod_LDFLAGS): Likewise.
11511
11512 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11513 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11514 (video_mod_SOURCES): Added.
11515 (video_mod_CFLAGS): Likewise.
11516 (video_mod_LDFLAGS): Likewise.
11517 (videotest_mod_SOURCES): Likewise.
11518 (videotest_mod_CFLAGS): Likewise.
11519 (videotest_mod_LDFLAGS): Likewise.
11520 (bitmap_mod_SOURCES): Likewise.
11521 (bitmap_mod_CFLAGS): Likewise.
11522 (bitmap_mod_LDFLAGS): Likewise.
11523 (tga_mod_SOURCES): Likewise.
11524 (tga_mod_CFLAGS): Likewise.
11525 (tga_mod_LDFLAGS): Likewise.
11526 (jpeg_mod_SOURCES): Likewise.
11527 (jpeg_mod_CFLAGS): Likewise.
11528 (jpeg_mod_LDFLAGS): Likewise.
11529 (png_mod_SOURCES): Likewise.
11530 (png_mod_CFLAGS): Likewise.
11531 (png_mod_LDFLAGS): Likewise.
11532 (gfxterm_mod_SOURCES): Likewise.
11533 (gfxterm_mod_CFLAGS): Likewise.
11534 (gfxterm_mod_LDFLAGS): Likewise.
11535
11536 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11537 grub/machine/console.h.
11538
11539 2009-01-04 Jerone Young <jerone@gmail.com>
11540
11541 Make on screen instructions clearer
11542
11543 Based on patch created by Jidanni <jidanni@jidanni.org>
11544
11545 * normal/menu.c: print clearer instructions on the screen
11546
11547 2009-01-02 Colin D Bennett <colin@gibibit.com>
11548
11549 New font engine.
11550
11551 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11552 build system and fixed gfxterm.c to work with different sized fonts.
11553
11554 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
11555
11556 * configure: Re-generated.
11557
11558 * DISTLIST: Removed font/manager.c.
11559 Added font/font.c.
11560 Added font/font_cmd.c.
11561
11562 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11563 compilation.
11564
11565 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
11566
11567 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
11568
11569 * kern/term.c: Changed users of grub_utf8_to_ucs4.
11570
11571 * normal/menu.c: Likewise.
11572
11573 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11574 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
11575
11576 * include/grub/font.h: Replaced with new file.
11577
11578 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11579 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11580 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11581 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11582 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
11583 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
11584 fg_red, fg_green, fg_blue, fg_alpha.
11585 (grub_video_adapter): Removed blit_glyph.
11586 (grub_video_blit_glyph): Removed.
11587
11588 * font/manager.c: Removed file.
11589
11590 * font/font.c: New file.
11591
11592 * font/font_cmd.c: Likewise.
11593
11594 * video/video.c (grub_video_blit_glyph): Removed.
11595
11596 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11597 (grub_video_vbe_map_rgba): Likewise.
11598 (grub_video_vbe_unmap_color_int): Likewise.
11599 (grub_video_vbe_blit_glyph): Removed.
11600 (grub_video_vbe_adapter): Removed blit_glyph.
11601
11602 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11603 (get_pixel): Likewise.
11604 (set_pixel): Likewise.
11605
11606 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
11607
11608 * term/gfxterm.c: Adapted to new font engine.
11609
11610 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
11611
11612 * term/i386/pc/vga.c: Likewise.
11613
11614 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
11615
11616 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11617
11618 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11619
11620 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11621
11622 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11623
11624 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11625
11626 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11627
11628 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11629
11630 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11631
11632 * util/grub.d/00_header.in: Changed to use new loadfont command.
11633
11634 * util/grub-mkconfig_lib.in: Changed font extension.
11635
11636 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
11637
11638 * util/getroot.c (grub_util_get_grub_dev): Add support for
11639 /dev/md/dNNpNN style partitionable mdraid devices.
11640
11641 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
11642
11643 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11644 at a time limit of the PXE TFTP API correctly.
11645 (grub_pxefs_close): Likewise.
11646
11647 2008-11-29 Robert Millan <rmh@aybabtu.com>
11648
11649 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
11650 grub_ata_device_initialize() calls.
11651
11652 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
11653
11654 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11655 iteration failed.
11656 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11657
11658 2008-11-28 Robert Millan <rmh@aybabtu.com>
11659
11660 Fix build on powerpc-ieee1275. Based on patch created by
11661 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11662 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11663 `kern/ieee1275/mmap.c'.
11664 * include/grub/powerpc/ieee1275/memory.h: New file.
11665
11666 Provide grub-install on coreboot.
11667 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11668 (grub_install_SOURCES): New variable.
11669 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11670 usable on coreboot.
11671
11672 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
11673
11674 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11675 to `grub_term_input_t'.
11676 (grub_term_get_current_output): Change return type to
11677 `grub_term_output_t'.
11678
11679 2008-11-22 Robert Millan <rmh@aybabtu.com>
11680
11681 Fix breakage on coreboot due to declaration mismatch.
11682 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11683 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11684 grub_vga_text_cls().
11685
11686 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
11687 comments. Avoid copying one more byte than necessary (just in case).
11688
11689 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11690 to 0x200000 (avoids trouble with some OFW implementations, and matches
11691 with the one in Yaboot).
11692 Reported by Manoel Abranches
11693
11694 2008-11-20 Robert Millan <rmh@aybabtu.com>
11695
11696 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11697 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11698
11699 * util/grub-mkconfig_lib.in (grub_warn): New function.
11700 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11701 warnings, to obtain consistent formatting.
11702 * util/grub.d/00_header.in: Likewise.
11703 * util/update-grub_lib.in: Likewise.
11704
11705 * loader/i386/linux.c (allocate_pages): Fix a warning.
11706 Move comment text to `#error' stanza.
11707
11708 Harmonize ieee1275's grub_available_iterate() with the generic
11709 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11710 build problem on i386-ieee1275):
11711 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11712 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11713 parameter `type'. Update all users of this function.
11714 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11715 `kern/ieee1275/mmap.c'.
11716 * kern/ieee1275/init.c
11717 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11718 with ...
11719 (grub_machine_mmap_iterate): ... this.
11720 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11721 return type to `grub_err_t'. Update all implementations of this
11722 function prototype.
11723 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11724 Likewise.
11725
11726 Add `lsmmap' command (lists firmware-provided memory map):
11727 * commands/lsmmap.c: New file.
11728 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11729 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11730 variables.
11731 * conf/powerpc-ieee1275.rmk: Likewise.
11732 * conf/i386-coreboot.rmk: Likewise.
11733 * conf/i386-ieee1275.rmk: Likewise.
11734
11735 2008-11-19 Robert Millan <rmh@aybabtu.com>
11736
11737 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
11738 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11739 constraints to initrd allocation (based on code from
11740 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11741 for Linux to find it.
11742
11743 2008-11-14 Robert Millan <rmh@aybabtu.com>
11744
11745 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11746 order to cope with duplicate slashes.
11747
11748 2008-11-14 Robert Millan <rmh@aybabtu.com>
11749
11750 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11751 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11752 don't want to mess with lower memory, because it is used in the Linux
11753 loader.
11754
11755 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
11756 an appropriate place in lower memory, between 0x10000 and 0x90000,
11757 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11758 is in our heap (probably as a result of it being corrupted during
11759 decompression). Add #error instance with comment to explain why this
11760 loader isn't currently usable on PC/BIOS.
11761
11762 2008-11-14 Robert Millan <rmh@aybabtu.com>
11763
11764 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
11765 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
11766
11767 2008-11-12 Robert Millan <rmh@aybabtu.com>
11768
11769 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11770
11771 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11772 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11773 from here ...
11774 * include/grub/i386/pc/memory.h: ... to here.
11775
11776 2008-11-12 Robert Millan <rmh@aybabtu.com>
11777
11778 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11779 split).
11780
11781 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11782 (grub_console_cur_color, grub_console_real_putchar)
11783 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11784 (grub_console_setcolorstate, grub_console_setcolor)
11785 (grub_console_getcolor): Move from here ...
11786 * include/grub/i386/vga_common.h: ... to here (new file).
11787
11788 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11789 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11790 `<grub/i386/io.h>'.
11791 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11792 `<grub/i386/vga_common.h>'.
11793
11794 2008-11-12 Robert Millan <rmh@aybabtu.com>
11795
11796 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11797 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11798 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11799 variables.
11800 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11801 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11802
11803 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11804 grub_console_init() with call to grub_vga_text_init().
11805 (grub_machine_fini): Replace call to
11806 grub_console_fini() with call to grub_vga_text_fini() and
11807 grub_at_keyboard_fini().
11808
11809 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11810 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11811 (grub_console_setcolorstate, grub_console_setcolor)
11812 (grub_console_getcolor): New function prototypes.
11813
11814 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11815 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11816 (grub_vga_text_setcursor): Static-ize.
11817 (grub_vga_text_term): New structure.
11818 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11819
11820 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11821 (grub_console_cur_color, grub_console_standard_color)
11822 (grub_console_normal_color, grub_console_highlight_color)
11823 (map_char, grub_console_putchar, grub_console_getcharwidth)
11824 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11825 (grub_console_getcolor): Move from here ...
11826 * term/i386/vga_common.c: ... to here (same function names).
11827
11828 2008-11-12 Robert Millan <rmh@aybabtu.com>
11829
11830 Use newly-added Multiboot support in coreboot.
11831
11832 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11833 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11834
11835 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11836 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11837 (codestart): Store the MBI in `startup_multiboot_info' when we're
11838 being loaded using Multiboot.
11839
11840 * kern/i386/coreboot/init.c (grub_machine_init): Move
11841 grub_at_keyboard_init() call to beginning of function (useful for
11842 debugging). Call grub_machine_mmap_init() before attempting to use
11843 grub_machine_mmap_iterate().
11844 (grub_lower_mem, grub_upper_mem): Move from here ...
11845 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11846 here (new file).
11847
11848 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11849 function prototype.
11850
11851 2008-11-12 Robert Millan <rmh@aybabtu.com>
11852
11853 Fix a regression introduced by the at_keyboard.mod split. Because
11854 some terminals are default on some platforms and non-default on
11855 others, the first terminal being registered determines which is
11856 going to be default.
11857
11858 * kern/term.c (grub_term_register_input): If this is the first
11859 terminal being registered, set it as the current one.
11860 (grub_term_register_output): Likewise.
11861
11862 * term/efi/console.c (grub_console_init): Do not call
11863 grub_term_set_current_output() or grub_term_set_current_input().
11864 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11865 * term/i386/pc/console.c (grub_console_init): Likewise.
11866 (grub_console_fini): Do not call grub_term_set_current_input()
11867 (but leave grub_term_set_current_output() to restore text mode).
11868
11869 2008-11-10 Robert Millan <rmh@aybabtu.com>
11870
11871 * util/grub.d/00_header.in: Add backward compatibility check for
11872 versions of terminal.mod that don't understand `terminal_input' or
11873 `terminal_output'.
11874
11875 2008-11-09 Robert Millan <rmh@aybabtu.com>
11876
11877 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11878 `terminal_input' / `terminal_output', not `terminal'.
11879
11880 2008-11-08 Robert Millan <rmh@aybabtu.com>
11881
11882 * Makefile.in (include_DATA): Fix srcdir=. assumption.
11883 (DISTCLEANFILES): Add `build_env.mk'.
11884
11885 2008-11-08 Robert Millan <rmh@aybabtu.com>
11886
11887 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
11888 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11889 members. Update all users.
11890 * util/console.c (grub_ncurses_term): Split in ...
11891 (grub_ncurses_term_input): ... this, and ...
11892 (grub_ncurses_term_output): ... this. Update all users.
11893 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
11894
11895 2008-11-08 Robert Millan <rmh@aybabtu.com>
11896
11897 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11898 (PKGDATA): Add $(pkgdata_SRCDIR).
11899 (pkglib_BUILDDIR): New variable.
11900 (pkgdata_SRCDIR): New variable.
11901 (build_env.mk): New target.
11902 (include_DATA): New variable.
11903 (install-local): Install $(include_DATA) files in $(includedir).
11904
11905 2008-11-07 Pavel Roskin <proski@gnu.org>
11906
11907 * gendistlist.sh: Use C locale for sorting to ensure consistent
11908 output on all systems.
11909
11910 * util/grub.d/00_header.in: Remove incorrect space before
11911 "serial".
11912
11913 2008-11-07 Robert Millan <rmh@aybabtu.com>
11914
11915 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11916 per specification.
11917 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11918 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11919 (based on find_multi_boot1_header).
11920 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11921 using find_multi_boot2_header(), and abort if neither Multiboot or
11922 Multiboot headers were found.
11923
11924 2008-11-07 Robert Millan <rmh@aybabtu.com>
11925
11926 Modularize at_keyboard.mod:
11927
11928 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11929 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11930 (at_keyboard_mod_LDFLAGS): New variables.
11931
11932 Actual terminal split:
11933
11934 * include/grub/term.h (struct grub_term): Split in ...
11935 (struct grub_term_input): ... this, and ...
11936 (struct grub_term_output): ... this. Update all users.
11937 (grub_term_set_current): Split in ...
11938 (grub_term_set_current_input): ... this, and ...
11939 (grub_term_set_current_output): ... this.
11940 (grub_term_get_current): Split in ...
11941 (grub_term_get_current_input): ... this, and ...
11942 (grub_term_get_current_output): ... this.
11943 (grub_term_register): Split in ...
11944 (grub_term_register_input): ... this, and ...
11945 (grub_term_register_output): ... this.
11946 (grub_term_unregister): Split in ...
11947 (grub_term_unregister_input): ... this, and ...
11948 (grub_term_unregister_output): ... this.
11949 (grub_term_iterate): Split in ...
11950 (grub_term_iterate_input): ... this, and ...
11951 (grub_term_iterate_output): ... this.
11952
11953 * kern/term.c (grub_term_list): Split in ...
11954 (grub_term_list_input): ... this, and ...
11955 (grub_term_list_output): ... this. Update all users.
11956 (grub_cur_term): Split in ...
11957 (grub_cur_term_input): ... this, and ...
11958 (grub_cur_term_output): ... this. Update all users.
11959 (grub_term_set_current): Split in ...
11960 (grub_term_set_current_input): ... this, and ...
11961 (grub_term_set_current_output): ... this.
11962 (grub_term_get_current): Split in ...
11963 (grub_term_get_current_input): ... this, and ...
11964 (grub_term_get_current_output): ... this.
11965 (grub_term_register): Split in ...
11966 (grub_term_register_input): ... this, and ...
11967 (grub_term_register_output): ... this.
11968 (grub_term_unregister): Split in ...
11969 (grub_term_unregister_input): ... this, and ...
11970 (grub_term_unregister_output): ... this.
11971 (grub_term_iterate): Split in ...
11972 (grub_term_iterate_input): ... this, and ...
11973 (grub_term_iterate_output): ... this.
11974
11975 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11976 a check for input and one for output (and only attempt to get keys
11977 from user when input works).
11978
11979 * util/grub-probe.c (grub_term_get_current): Split in ...
11980 (grub_term_get_current_input): ... this, and ...
11981 (grub_term_get_current_output): ... this.
11982 * util/grub-fstest.c: Likewise.
11983 * util/i386/pc/grub-setup.c: Likewise.
11984 * util/grub-editenv.c: Likewise.
11985
11986 Portability adjustments:
11987
11988 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11989 `term/i386/pc/at_keyboard.c'.
11990 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11991 grub_keyboard_controller_init() (now handled by terminal .init).
11992 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11993 grub_at_keyboard_init().
11994 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11995 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11996 at_keyboard.mod via input terminal interface).
11997 * include/grub/i386/coreboot/console.h: Convert into a stub for
11998 `<grub/i386/pc/console.h>'.
11999
12000 Migrate full terminals to new API:
12001
12002 * term/efi/console.c (grub_console_term): Split into ...
12003 (grub_console_term_input): ... this, and ...
12004 (grub_console_term_output): ... this. Update all users.
12005 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
12006 (grub_ofconsole_init): Split into ...
12007 (grub_ofconsole_init_input): ... this, and ...
12008 (grub_ofconsole_init_output): ... this.
12009 (grub_ofconsole_term): Split into ...
12010 (grub_ofconsole_term_input): ... this, and ...
12011 (grub_ofconsole_term_output): ... this. Update all users.
12012 * term/i386/pc/serial.c (grub_serial_term): Split into ...
12013 (grub_serial_term_input): ... this, and ...
12014 (grub_serial_term_output): ... this. Update all users.
12015 * term/i386/pc/console.c (grub_console_term): Split into ...
12016 (grub_console_term_input): ... this, and ...
12017 (grub_console_term_output): ... this. Update all users.
12018 (grub_console_term_input): Only enable it on PC/BIOS platform.
12019 (grub_console_init): Remove grub_keyboard_controller_init() call.
12020
12021 Migrate input terminals to new API:
12022
12023 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
12024 `i386' and `i386/pc' to enable build on x86_64 (this driver is
12025 i386-specific anyway).
12026 (grub_console_checkkey): Rename to ...
12027 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
12028 users.
12029 (grub_keyboard_controller_orig): New variable.
12030 (grub_console_getkey): Rename to ...
12031 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
12032 users.
12033 (grub_keyboard_controller_init): Static-ize. Save original
12034 controller value so that it can be restored ...
12035 (grub_keyboard_controller_fini): ... here (new function).
12036 (grub_at_keyboard_term): New structure.
12037 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
12038 functions.
12039
12040 Migrate output terminals to new API:
12041
12042 * term/i386/pc/vga.c (grub_vga_term): Change type to
12043 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12044 members. Update all users.
12045 * term/gfxterm.c (grub_video_term): Change type to
12046 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12047 members. Update all users.
12048 * include/grub/i386/pc/console.h (grub_console_checkkey)
12049 (grub_console_getkey): Do not export (no longer needed by gfxterm,
12050 etc).
12051
12052 Migrate `terminal' command and userland tools to new API:
12053
12054 * commands/terminal.c (grub_cmd_terminal): Split into ...
12055 (grub_cmd_terminal_input): ... this, and ...
12056 (grub_cmd_terminal_output): ... this.
12057 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
12058 `terminal_input' and `terminal_output'.
12059 * util/grub.d/00_header.in: Adjust `terminal' calls to new
12060 `terminal_input' / `terminal_output' API.
12061 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
12062 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
12063 provided ${GRUB_TERMINAL}, convert it).
12064
12065 2008-11-04 Robert Millan <rmh@aybabtu.com>
12066
12067 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
12068 for FreeBSD.
12069 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
12070
12071 2008-11-03 Bean <bean123ch@gmail.com>
12072
12073 * kern/elf.c (grub_elf32_load): Revert to previous code.
12074 (grub_elf64_load): Likewise.
12075
12076 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12077
12078 2008-11-01 Robert Millan <rmh@aybabtu.com>
12079
12080 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12081 (TARGET_CPPFLAGS): Likewise.
12082 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12083
12084 2008-11-01 Carles Pina i Estany <carles@pina.cat>
12085
12086 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12087
12088 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
12089
12090 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12091 addition of objects until the code is not going to be able to fail.
12092
12093 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
12094
12095 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12096 (add a missing NULL check, and correct them by moving the pointer
12097 operations after the actual check).
12098
12099 2008-10-29 Robert Millan <rmh@aybabtu.com>
12100
12101 * util/i386/pc/grub-install.in: Handle empty string as output from
12102 make_system_path_relative_to_its_root().
12103
12104 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12105
12106 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12107 circular metadata worst case scenario. If the metadata is circular
12108 then copy the wrap in place.
12109 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12110 project lib/format_text/layout.h
12111 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12112
12113 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
12114
12115 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
12116
12117 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
12118
12119 * util/update-grub_lib.in: Mention filename in warning message.
12120
12121 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
12122
12123 * NEWS: Update for rename of update-grub to grub-mkconfig.
12124
12125 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
12126
12127 * util/update-grub_lib.in: Copy to ...
12128 * util/grub-mkconfig_lib.in: ... this. Update all users.
12129 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
12130 * util/update-grub.in: Rename to ...
12131 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12132 option. Add `--output' option to allow users to specify the generated
12133 configuration file. Default to stdout.
12134 (update_grub_dir): Rename to ...
12135 (grub_mkconfig_dir): ... this.
12136 (grub_cfg): Default to an empty string.
12137 * conf/common.rmk (update-grub): Rename to ...
12138 (grub-mkconfig): ... this.
12139 (update-grub_lib): Copy to ...
12140 (grub-mkconfig_lib): ... this.
12141 (update-grub_SCRIPTS): Copy to ...
12142 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12143 (update-grub_DATA): Rename to ...
12144 (grub-mkconfig_DATA): ... this.
12145
12146 2008-09-28 Robert Millan <rmh@aybabtu.com>
12147
12148 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12149 to `modified'. Add the real `created' field.
12150 (grub_iso9660_uuid): Use `modified' rather than `created' for
12151 constructing the UUID.
12152
12153 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
12154
12155 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12156 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12157
12158 2008-09-28 Bean <bean123ch@gmail.com>
12159
12160 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12161 Thanks to Christian Franke for finding this bug.
12162
12163 2008-09-25 Robert Millan <rmh@aybabtu.com>
12164
12165 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12166 instances of grub_util_get_disk_name() (see previous commit).
12167
12168 2008-09-25 Robert Millan <rmh@aybabtu.com>
12169
12170 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12171 `util/i386/get_disk_name.c'.
12172 * conf/i386-efi.rmk: Likewise.
12173 * conf/x86_64-efi.rmk: Likewise.
12174 * conf/i386-coreboot.rmk: Likewise.
12175 * conf/i386-ieee1275.rmk: Likewise.
12176 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12177 `util/ieee1275/get_disk_name.c'.
12178 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12179 * util/ieee1275/get_disk_name.c: Remove file.
12180 * util/i386/get_disk_name.c: Remove file.
12181 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12182 "hd%d" for device.map entries, rather than using
12183 grub_util_get_disk_name().
12184
12185 2008-09-24 Carles Pina i Estany <carles@pina.cat>
12186
12187 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12188 warning.
12189 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12190
12191 2008-09-24 Carles Pina i Estany <carles@pina.cat>
12192
12193 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12194 Changed to 0x5100.
12195 (GRUB_TERM_PPAGE): Changed to 0x4900.
12196
12197 2008-09-24 Robert Millan <rmh@aybabtu.com>
12198
12199 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12200 macros (they were i386-pc specific).
12201 * include/grub/sparc64/ieee1275/console.h: Likewise.
12202 * include/grub/efi/console.h: Likewise.
12203
12204 2008-09-22 Bean <bean123ch@gmail.com>
12205
12206 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12207 resident and in attribute list.
12208
12209 * include/grub/ntfs.h (BMP_LEN): Removed.
12210
12211 2008-09-22 Bean <bean123ch@gmail.com>
12212
12213 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
12214 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12215
12216 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12217 error occurs, as grub_disk_open will call grub_disk_close, which will
12218 call p->close (scsi).
12219
12220 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
12221
12222 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12223 (AC_PREREQ): Bumped to 2.59.
12224 (AC_TRY_COMPILE): Replace obsolete macro with ...
12225 (AC_COMPILE_IFELSE): ... this.
12226 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12227 (AC_LINK_IFELSE): ... this.
12228
12229 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
12230
12231 * autogen.sh: Add a call to `gendistlist.sh'.
12232
12233 2008-09-19 Christian Franke <franke@computer.org>
12234
12235 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12236 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12237 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12238 Export __enable_execute_stack() to modules.
12239 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12240 New function.
12241
12242 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
12243
12244 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12245 Sort the list.
12246
12247 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
12248
12249 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
12250 #include <grub/util/hostdisk.h>.
12251
12252 2008-09-08 Robert Millan <rmh@aybabtu.com>
12253
12254 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12255 segments when their filesz is zero (grub_file_read() interprets
12256 zero-size as "read until EOF", which results in memory corruption).
12257 Use `lowest_segment' rather than 0 for calculating the current
12258 segment load address.
12259
12260 2008-09-08 Robert Millan <rmh@aybabtu.com>
12261
12262 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12263 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12264 clobbered useful information.
12265
12266 2008-09-08 Robert Millan <rmh@aybabtu.com>
12267
12268 * include/grub/util/biosdisk.h: Move to ...
12269 * include/grub/util/hostdisk.h: ... here. Update all users.
12270 * util/biosdisk.c: Move to ...
12271 * util/hostdisk.c: ... here. Update all users.
12272
12273 2008-09-07 Robert Millan <rmh@aybabtu.com>
12274
12275 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12276 variables.
12277 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12278 and length can be stored directly in the `mbi->mmap_addr' and
12279 `mbi->mmap_length' struct fields.
12280
12281 2008-09-07 Robert Millan <rmh@aybabtu.com>
12282
12283 * conf/i386.rmk: New file. Provides declaration for building
12284 `cpuid.mod'.
12285 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12286 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12287 variables.
12288 Include `conf/i386.mk'.
12289 * conf/i386-efi.rmk: Likewise.
12290 * conf/x86_64-efi.rmk: Likewise.
12291 * conf/i386-coreboot.rmk: Likewise.
12292 * conf/i386-ieee1275.rmk: Likewise.
12293
12294 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12295
12296 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12297 Adds optimization support for BGR based modes.
12298
12299 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12300 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12301 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12302 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12303 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12304 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12305 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12306 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12307 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12308 (grub_video_i386_vbeblit_index_index): Likewise.
12309 (grub_video_i386_vbeblit_replace_directN): Added.
12310 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12311 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12312 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12313 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12314 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12315 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12316 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12317 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12318 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12319 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12320 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12321 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12322 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12323
12324 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12325 (grub_video_i386_vbefill_R8G8B8): Likewise.
12326 (grub_video_i386_vbefill_index): Likewise.
12327 (grub_video_i386_vbefill_direct32): Added.
12328 (grub_video_i386_vbefill_direct24): Likewise.
12329 (grub_video_i386_vbefill_direct16): Likewise.
12330 (grub_video_i386_vbefill_direct8): Likewise.
12331
12332 * include/grub/video.h (grub_video_blit_format): Removed
12333 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12334 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12335 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12336 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12337 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
12338
12339 * video/video.c (grub_video_get_blit_format): Updated to use new
12340 blit formats. Added handling for 16 bit color modes.
12341
12342 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
12343 fillers.
12344 (common_blitter): Updated to use new blitters.
12345
12346 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12347 Removed.
12348 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12349 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12350 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12351 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12352 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12353 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12354 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12355 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12356 (grub_video_i386_vbeblit_index_index): Likewise.
12357 (grub_video_i386_vbeblit_replace_directN): Added.
12358 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12359 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12360 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12361 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12362 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12363 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12364 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12365 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12366 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12367 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12368 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12369 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12370 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12371
12372 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12373 (grub_video_i386_vbefill_R8G8B8): Likewise.
12374 (grub_video_i386_vbefill_index): Likewise.
12375 (grub_video_i386_vbefill_direct32): Added.
12376 (grub_video_i386_vbefill_direct24): Likewise.
12377 (grub_video_i386_vbefill_direct16): Likewise.
12378 (grub_video_i386_vbefill_direct8): Likewise.
12379
12380 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12381 types.
12382
12383 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12384 types.
12385
12386 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12387 blitter types.
12388
12389 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12390 types.
12391
12392 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
12393
12394 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12395 RAID level 1.
12396
12397 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
12398
12399 * fs/iso9660.c (grub_iso9660_date): New structure.
12400 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12401 (grub_iso9660_uuid): New function.
12402
12403 2008-09-05 Bean <bean123ch@gmail.com>
12404
12405 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12406
12407 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12408 insensitive bit for names in Win32 and Win32 & DOS namespace.
12409
12410 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12411
12412 * include/grub/types.h (LONG_MAX): Likewise.
12413
12414 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
12415
12416 * util/getroot.c: Include <config.h>.
12417 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12418 add support for /dev/md/N devices and handle LVM double dash escaping.
12419
12420 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
12421
12422 * config.guess: Update to latest version from config git.
12423 * config.sub: Likewise.
12424
12425 2008-09-03 Robert Millan <rmh@aybabtu.com>
12426
12427 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12428 `disk->total_sectors'.
12429
12430 2008-09-01 Colin D Bennett <colin@gibibit.com>
12431
12432 * include/grub/normal.h: Fixed incorrect comment for
12433 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12434
12435 2008-09-01 Colin D Bennett <colin@gibibit.com>
12436
12437 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12438 values with defines.
12439
12440 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12441 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12442 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12443 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12444 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12445 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12446 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12447 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12448 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12449 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12450 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12451 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12452 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12453 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12454 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12455 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12456 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12457 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12458 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12459
12460 2008-08-31 Robert Millan <rmh@aybabtu.com>
12461
12462 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12463 declaration.
12464 (grub_multiboot): Fix a few warnings.
12465
12466 2008-08-31 Robert Millan <rmh@aybabtu.com>
12467
12468 * loader/i386/pc/multiboot.c: Update comment not to say that
12469 boot_device support is unimplemented.
12470
12471 2008-08-31 Robert Millan <rmh@aybabtu.com>
12472
12473 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12474 or memory map support are unimplemented.
12475
12476 2008-08-31 Colin D Bennett <colin@gibibit.com>
12477
12478 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12479
12480 2008-08-31 Colin D Bennett <colin@gibibit.com>
12481
12482 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12483 total video memory in 'vbeinfo' output; show color format details for
12484 each video mode.
12485
12486 2008-08-30 Pavel Roskin <proski@gnu.org>
12487
12488 * util/genmoddep.c: Remove for real this time.
12489 * DISTLIST: Remove util/genmoddep.c.
12490
12491 2008-08-30 Robert Millan <rmh@aybabtu.com>
12492
12493 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12494 as required by Multiboot spec (it was already 4-byte aligned, but
12495 only by chance).
12496
12497 2008-08-29 Pavel Roskin <proski@gnu.org>
12498
12499 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12500 * kern/powerpc/ieee1275/startup.S: ... this.
12501 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12502 * DISTLIST: Likewise.
12503
12504 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12505 grub/cpu/kernel.h. Add start label for consistency with other
12506 platforms. Add grub_prefix immediately after start. Add jump
12507 to the code after grub_prefix.
12508 * include/grub/powerpc/kernel.h: Provide valid values for
12509 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12510
12511 2008-08-29 Bean <bean123ch@gmail.com>
12512
12513 * configure.ac: Change host_os to cygwin for mingw.
12514 (asprintf): New check for function.
12515
12516 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12517 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12518
12519 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
12520 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
12521 sync, sleep and grub_util_get_disk_size for mingw.
12522
12523 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12524 to get size in mingw.
12525 (open_device): Use flag O_BINARY if it's defined.
12526 (find_root_device): Add dummy code for mingw.
12527
12528 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12529 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12530 (get_scsi_disk_name): Return 0 for mingw.
12531
12532 * util/hostfs.c: #include <grub/util/misc.h>.
12533 (grub_hostfs_open): Use "rb" flag to open file, use
12534 grub_util_get_disk_size to get disk size for mingw.
12535
12536 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12537 (asprintf): New function if HAVE_ASPRINTF is not set.
12538 (sync): New function for mingw.
12539 (sleep): Likewise.
12540 (grub_util_get_disk_size): Likewise.
12541
12542 2008-08-28 Pavel Roskin <proski@gnu.org>
12543
12544 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12545 kern/time.c.
12546
12547 2008-08-28 Robert Millan <rmh@aybabtu.com>
12548
12549 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12550
12551 2008-08-28 Robert Millan <rmh@aybabtu.com>
12552
12553 Change find_grub_drive() syntax so it doesn't prevent it from
12554 detecting NULL names as errors.
12555
12556 * util/biosdisk.c (find_grub_drive): Move free slot search code
12557 from here ...
12558 (find_free_slot): ... to here.
12559 (read_device_map): Use find_free_slot() to search for free slots.
12560
12561 2008-08-27 Marco Gerards <marco@gnu.org>
12562
12563 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12564 (scsi_mod_SOURCES): New variable.
12565 (scsi_mod_CFLAGS): Likewise
12566 (scsi_mod_LDFLAGS): Likewise.
12567
12568 * disk/scsi.c: New file.
12569
12570 * include/grub/scsi.h: Likewise.
12571
12572 * include/grub/scsicmd.h: Likewise.
12573
12574 * disk/ata.c: Include <grub/scsi.h>.
12575 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12576 instead.
12577 (grub_ata_iterate): Skip ATAPI devices.
12578 (grub_ata_open): Only handle ATAPI devices.
12579 (struct grub_atapi_read): Removed.
12580 (grub_atapi_readsector): Likewise.
12581 (grub_ata_read): No longer handle ATAPI devices.
12582 (grub_ata_write): Likewise.
12583 (grub_atapi_iterate): New function.
12584 (grub_atapi_read): Likewise.
12585 (grub_atapi_write): Likewise.
12586 (grub_atapi_open): Likewise.
12587 (grub_atapi_close): Likewise.
12588 (grub_atapi_dev): New variable.
12589 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12590 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12591
12592 * include/grub/disk.h (enum grub_disk_dev_id): Add
12593 `GRUB_DISK_DEVICE_SCSI_ID'.
12594
12595 2008-08-26 Robert Millan <rmh@aybabtu.com>
12596
12597 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12598 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12599 descriptive.
12600
12601 2008-08-23 Bean <bean123ch@gmail.com>
12602
12603 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12604 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12605 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12606 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12607 dm_nv.mod.
12608 (raid5rec_mod_SOURCES): New macro.
12609 (raid5rec_mod_CFLAGS): Likewise.
12610 (raid5rec_mod_LDFLAGS): Likewise.
12611 (raid6rec_mod_SOURCES): Likewise.
12612 (raid6rec_mod_CFLAGS): Likewise.
12613 (raid6rec_mod_LDFLAGS): Likewise.
12614 (mdraid_mod_SOURCES): Likewise.
12615 (mdraid_mod_CFLAGS): Likewise.
12616 (mdraid_mod_LDFLAGS): Likewise.
12617 (dm_nv_mod_SOURCES): Likewise.
12618 (dm_nv_mod_CFLAGS): Likewise.
12619 (dm_nv_mod_LDFLAGS): Likewise.
12620
12621 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12622 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12623 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12624
12625 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12626 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12627
12628 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12629
12630 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12631
12632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12633
12634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12635
12636 * disk/raid5_recover.c: New file.
12637
12638 * disk/raid6_recover.c: Likewise.
12639
12640 * disk/mdraid_linux.c: Likewise.
12641
12642 * disk/dmraid_nvidia.c: Likewise.
12643
12644 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12645 ULONG_MAX.
12646
12647 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12648 calculate the size of raid device.
12649 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12650 different layout of raid5.
12651 (grub_raid_scan_device): Remove code specific to mdraid.
12652 (grub_raid_list): New variable.
12653 (free_array): New function.
12654 (grub_raid_register): Likewise.
12655 (grub_raid_unregister): Likewise.
12656 (grub_raid_rescan): Likewise.
12657 (GRUB_MOD_INIT): Don't iterate device here.
12658 (GRUB_MOD_FINI): Use free_array to release resource.
12659
12660 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12661 (grub_raid5_recover_func_t): New function variable type.
12662 (grub_raid6_recover_func_t): Likewise.
12663 (grub_raid5_recover_func): New variable.
12664 (grub_raid6_recover_func): Likewise.
12665 (grub_raid_register): New function.
12666 (grub_raid_unregister): Likewise.
12667 (grub_raid_rescan): Likewise.
12668 (grub_raid_block_xor): Likewise.
12669
12670 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12671 (CMD_CRC): New macro.
12672 (part): Removed.
12673 (read_file): Handle device as well as file.
12674 (cmd_crc): New function.
12675 (fstest): Handle multiple disks.
12676 (options): Remove part, raw and long, add root and diskcount.
12677 (usage): Add crc, remove -p, -r, -l, add -r and -c.
12678 (main): Find the first non option entry and ignore subsequent options,
12679 add handling for the new options, support multiple disks.
12680
12681 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12682
12683 2008-08-23 Bean <bean123ch@gmail.com>
12684
12685 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12686
12687 * genfslist.sh: Ignore kernel.mod.
12688
12689 * genpartmaplist.sh: Likewise.
12690
12691 2008-08-23 Robert Millan <rmh@aybabtu.com>
12692
12693 * util/getroot.c (find_root_device): Skip anything that starts with
12694 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12695
12696 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
12697
12698 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12699 * util/grub.d/00_header.in: Allow the administrator to change default
12700 gfxmode via ${GRUB_GFXMODE}.
12701
12702 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
12703
12704 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12705
12706 2008-08-21 Robert Millan <rmh@aybabtu.com>
12707
12708 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12709 loader.
12710 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12711 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12712
12713 2008-08-20 Carles Pina i Estany <carles@pina.cat>
12714
12715 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12716 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12717
12718 2008-08-19 Robert Millan <rmh@aybabtu.com>
12719
12720 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12721 (struct grub_virtual_screen): Remove `cursor_color'.
12722 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12723 initialization.
12724 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12725
12726 2008-08-18 Robert Millan <rmh@aybabtu.com>
12727
12728 Unify (identical) linux_normal.c files.
12729 * loader/i386/efi/linux_normal.c: Move from here ...
12730 * loader/linux_normal.c: ... to here. Update all users.
12731 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12732 * loader/i386/ieee1275/linux_normal.c: Likewise.
12733
12734 2008-08-18 Robert Millan <rmh@aybabtu.com>
12735
12736 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12737 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12738 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12739 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12740 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12741 New macros.
12742 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12743 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12744 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12745 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12746 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12747 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12748 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12749 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12750 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12751 portably using grub_getxy().
12752 Replace `-EFI' with `-bzImage' in boot message.
12753
12754 2008-08-17 Robert Millan <rmh@aybabtu.com>
12755
12756 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12757
12758 2008-08-17 Robert Millan <rmh@aybabtu.com>
12759
12760 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12761
12762 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12763 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12764 (grub_machine_mmap_iterate): New function declaration.
12765 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12766 structure.
12767 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12768 macros.
12769
12770 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12771 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12772 Move e820 parsing from here ...
12773 * kern/i386/pc/mmap.c: New file.
12774 (grub_machine_mmap_iterate): ... to here.
12775
12776 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12777 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12778 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12779 (grub_available_iterate): Redeclare to return `void', and redeclare
12780 its hook to use grub_uint64_t as addr and size parameters, and rename
12781 to ...
12782 (grub_machine_mmap_iterate): ... this. Update all users.
12783
12784 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12785 to make it more readable. Rename to ...
12786 (grub_machine_mmap_iterate): ... this.
12787
12788 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12789 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12790 (grub_multiboot): Allocate an extra region after the payload, and fill
12791 it with a Multiboot memory map. Adjust a.out loader to calculate size
12792 with the extra space.
12793 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12794 with the extra space.
12795
12796 2008-08-17 Carles Pina i Estany <carles@pina.cat>
12797
12798 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
12799
12800 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
12801
12802 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12803 mdate-sh to the list `find' searches for.
12804 * DISTLIST: Regenerated.
12805
12806 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
12807
12808 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12809 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
12810 genmoddep.awk, gensymlist.sh.in.
12811 (DISTDIRS): Add bus, docs, hook, lib.
12812 * DISTLIST: Regenerated.
12813 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
12814
12815 2008-08-16 Robert Millan <rmh@aybabtu.com>
12816
12817 * disk/raid.c (grub_raid_init): Handle/report errors set by
12818 grub_device_iterate().
12819 * disk/lvm.c (grub_lvm_init): Likewise.
12820
12821 2008-08-15 Bean <bean123ch@gmail.com>
12822
12823 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12824 and datehook.mod.
12825 (datetime_mod_SOURCES): New macro.
12826 (datetime_mod_CFLAGS): Likewise.
12827 (datetime_mod_LDFLAGS): Likewise.
12828 (date_mod_SOURCES): Likewise.
12829 (date_mod_CFLAGS): Likewise.
12830 (date_mod_LDFLAGS): Likewise.
12831 (datehook_mod_SOURCES): Likewise.
12832 (datehook_mod_CFLAGS): Likewise.
12833 (datehook_mod_LDFLAGS): Likewise.
12834
12835 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12836 and datehook.mod.
12837 (datetime_mod_SOURCES): New macro.
12838 (datetime_mod_CFLAGS): Likewise.
12839 (datetime_mod_LDFLAGS): Likewise.
12840 (date_mod_SOURCES): Likewise.
12841 (date_mod_CFLAGS): Likewise.
12842 (date_mod_LDFLAGS): Likewise.
12843 (datehook_mod_SOURCES): Likewise.
12844 (datehook_mod_CFLAGS): Likewise.
12845 (datehook_mod_LDFLAGS): Likewise.
12846
12847 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12848 and datehook.mod.
12849 (datetime_mod_SOURCES): New macro.
12850 (datetime_mod_CFLAGS): Likewise.
12851 (datetime_mod_LDFLAGS): Likewise.
12852 (date_mod_SOURCES): Likewise.
12853 (date_mod_CFLAGS): Likewise.
12854 (date_mod_LDFLAGS): Likewise.
12855 (datehook_mod_SOURCES): Likewise.
12856 (datehook_mod_CFLAGS): Likewise.
12857 (datehook_mod_LDFLAGS): Likewise.
12858
12859 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12860 and datehook.mod.
12861 (datetime_mod_SOURCES): New macro.
12862 (datetime_mod_CFLAGS): Likewise.
12863 (datetime_mod_LDFLAGS): Likewise.
12864 (date_mod_SOURCES): Likewise.
12865 (date_mod_CFLAGS): Likewise.
12866 (date_mod_LDFLAGS): Likewise.
12867 (datehook_mod_SOURCES): Likewise.
12868 (datehook_mod_CFLAGS): Likewise.
12869 (datehook_mod_LDFLAGS): Likewise.
12870
12871 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12872 and datehook.mod.
12873 (datetime_mod_SOURCES): New macro.
12874 (datetime_mod_CFLAGS): Likewise.
12875 (datetime_mod_LDFLAGS): Likewise.
12876 (date_mod_SOURCES): Likewise.
12877 (date_mod_CFLAGS): Likewise.
12878 (date_mod_LDFLAGS): Likewise.
12879 (datehook_mod_SOURCES): Likewise.
12880 (datehook_mod_CFLAGS): Likewise.
12881 (datehook_mod_LDFLAGS): Likewise.
12882
12883 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12884
12885 * commands/date.c: New file.
12886
12887 * hook/datehook.c: Likewise.
12888
12889 * include/grub/lib/datetime.h: Likewise.
12890
12891 * include/grub/i386/cmos.h: Likewise.
12892
12893 * lib/datetime.c: Likewise.
12894
12895 * lib/i386/datetime.c: Likewise.
12896
12897 * lib/efi/datetime.c: Likewise.
12898
12899 2008-08-14 Robert Millan <rmh@aybabtu.com>
12900
12901 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12902 (grub_mkelfimage_SOURCES): New variable.
12903 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12904
12905 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12906 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12907 * conf/powerpc-ieee1275.rmk: Likewise.
12908 * conf/i386-ieee1275.rmk: Likewise.
12909
12910 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12911 * kern/i386/coreboot/init.c: Likewise.
12912
12913 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12914 with `<grub/cpu/kernel.h>'.
12915 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12916 to ...
12917 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12918 * kern/i386/coreboot/startup.S: Likewise.
12919
12920 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12921 (GRUB_MOD_GAP): Remove.
12922 * include/grub/powerpc/kernel.h: New file.
12923 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12924 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12925 * include/grub/i386/kernel.h: New file.
12926 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12927 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12928 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12929
12930 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12931 `grub-mkelfimage'.
12932 Use --directory when invoking grub_mkimage.
12933
12934 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12935 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12936 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12937 and GRUB_KERNEL_CPU_PREFIX.
12938
12939 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
12940
12941 * include/grub/err.h (grub_err_printf): New function prototype.
12942 * util/misc.c (grub_err_printf): New function.
12943 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12944 grub_printf.
12945 * kern/err.c (grub_print_error): Use grub_err_printf.
12946
12947 2008-08-13 Robert Millan <rmh@aybabtu.com>
12948
12949 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12950
12951 2008-08-13 Robert Millan <rmh@aybabtu.com>
12952
12953 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12954 boot entry.
12955
12956 2008-08-12 Robert Millan <rmh@aybabtu.com>
12957
12958 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12959 of the relocation code from here ...
12960 (grub_multiboot): ... to here.
12961 (forward_relocator, backward_relocator): Move from here ...
12962 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12963 (grub_multiboot_backward_relocator): ... to here.
12964 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12965 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12966 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12967 (grub_multiboot_forward_relocator_end)
12968 (grub_multiboot_backward_relocator)
12969 (grub_multiboot_backward_relocator_end): New variables.
12970
12971 2008-08-12 Bean <bean123ch@gmail.com>
12972
12973 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12974
12975 2008-08-11 Robert Millan <rmh@aybabtu.com>
12976
12977 * kern/i386/linuxbios/startup.S: Move from here ...
12978 * kern/i386/coreboot/startup.S: ... to here.
12979
12980 * kern/i386/linuxbios/init.c: Move from here ...
12981 * kern/i386/coreboot/init.c: ... to here.
12982
12983 * kern/i386/linuxbios/table.c: Move from here ...
12984 * kern/i386/coreboot/mmap.c: ... to here.
12985
12986 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12987
12988 2008-08-11 Robert Millan <rmh@aybabtu.com>
12989
12990 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12991 errors. Leave it to the upper layer to handle them.
12992
12993 2008-08-09 Christian Franke <franke@computer.org>
12994
12995 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12996 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12997 Install `grub.d/10_windows' only on Cygwin.
12998 * configure.ac: Add subst of `target_os'.
12999 Check `target_os' also before setting TARGET_OBJ2ELF.
13000 Add `--enable-grub-pe2elf'.
13001
13002 2008-08-08 Robert Millan <rmh@aybabtu.com>
13003
13004 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13005 (grub_last_time): Change type to grub_uint64_t.
13006 (grub_disk_open): Migrate code from to using grub_get_time_ms().
13007 (grub_disk_close): Likewise.
13008
13009 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13010 (run_menu): Migrate code from to using grub_get_time_ms().
13011
13012 * util/misc.c (grub_get_time_ms): New function.
13013
13014 2008-08-08 Marco Gerards <marco@gnu.org>
13015
13016 * disk/ata.c (grub_ata_regget): Change return type to
13017 `grub_uint8_t'.
13018 (grub_ata_regget2): Likewise.
13019 (grub_ata_wait_status): New function.
13020 (grub_ata_wait_busy): Removed function, updated all users to use
13021 `grub_ata_wait_status'.
13022 (grub_ata_wait_drq): Likewise.
13023 (grub_ata_cmd): New function.
13024 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
13025 error handling.
13026 (grub_ata_pio_write): Add error handling.
13027 (grub_atapi_identify): Likewise.
13028 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
13029 handling.
13030 (grub_ata_identify): Use `grub_ata_cmd' and improve error
13031 handling. Actually use the detected registers. Reorder the
13032 detection logic such that it is easier to read.
13033 (grub_ata_pciinit): Do not assign the same ID to each controller.
13034 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
13035 handling.
13036 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
13037
13038 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
13039
13040 2008-08-08 Marco Gerards <marco@gnu.org>
13041
13042 * NEWS: Update.
13043
13044 2008-08-07 Bean <bean123ch@gmail.com>
13045
13046 * include/grub/x86_64/pci.h: New file.
13047
13048 2008-08-07 Christian Franke <franke@computer.org>
13049
13050 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
13051 (TIMER2_GATE): Likewise.
13052 (grub_pit_wait): Add enable/disable of the timer2 gate
13053 bit of port 0x61. This fixes a possible infinite loop.
13054
13055 2008-08-07 Bean <bean123ch@gmail.com>
13056
13057 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
13058 kern/i386/tsc.c and kern/i386/pit.c.
13059
13060 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
13061 x86_64 platform.
13062
13063 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
13064 <grub/i386/tsc.h>.
13065
13066 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
13067
13068 2008-08-07 Bean <bean123ch@gmail.com>
13069
13070 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
13071
13072 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
13073
13074 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
13075 multiple inclusion. Add #include <grub/types.h>.
13076
13077 2008-08-06 Christian Franke <franke@computer.org>
13078
13079 * conf/common.rmk: Build and install `10_windows'.
13080 * util/grub.d/10_windows.in: New script.
13081
13082 2008-08-06 Pavel Roskin <proski@gnu.org>
13083
13084 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13085
13086 2008-08-06 Robert Millan <rmh@aybabtu.com>
13087
13088 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13089 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13090
13091 2008-08-06 Bean <bean123ch@gmail.com>
13092
13093 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13094 (grub_pxefs_fs_int): Remove dummy definition.
13095 (grub_pxefs_open): Use data->block_size to store the current block
13096 size setting.
13097 (grub_pxefs_read): Use block size stored in data->block_size. As the
13098 value of grub_pxe_blksize can be changed after the file is opened.
13099
13100 2008-08-06 Bean <bean123ch@gmail.com>
13101
13102 * fs/i386/pc/pxe.c (curr_file): new variable.
13103 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13104 require the dummy internal file system anymore.
13105 (grub_pxefs_read): Removed.
13106 (grub_pxefs_close): Likewise.
13107 (grub_pxefs_fs_int): Likewise.
13108 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13109 connection when we switch file.
13110 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13111
13112 2008-08-06 Robert Millan <rmh@aybabtu.com>
13113
13114 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13115 `halt.mod'.
13116 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13117 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13118
13119 * kern/i386/halt.c: New file.
13120 * kern/i386/reboot.c: Likewise.
13121 * include/grub/i386/reboot.h: Likewise.
13122 * include/grub/i386/halt.h: Likewise.
13123
13124 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13125 Include `<grub/cpu/halt.h>'.
13126 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13127 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13128
13129 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13130 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13131 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13132 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13133 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13134 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13135 from here ...
13136 * include/grub/i386/at_keyboard.h: ... to here.
13137
13138 2008-08-05 Robert Millan <rmh@aybabtu.com>
13139
13140 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13141 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13142 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13143 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13144 `kern/generic/millisleep.c'.
13145
13146 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13147 instead of grub_get_rtc().
13148 (grub_tsc_init): Initialize `tsc_boot_time'.
13149
13150 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13151 (grub_machine_init): Use grub_tsc_init() rather than
13152 installing an RTC-based handler via grub_install_get_time_ms().
13153
13154 * kern/i386/pit.c: New file.
13155 * include/grub/i386/pit.h: Likewise.
13156
13157 2008-08-05 Bean <bean123ch@gmail.com>
13158
13159 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13160
13161 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13162 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13163 (pxe_mod_SOURCES): New macro.
13164 (pxe_mod_CFLAGS): Likewise.
13165 (pxe_mod_LDFLAGS): Likewise.
13166 (pxecmd_mod_SOURCES): Likewise.
13167 (pxecmd_mod_CFLAGS): Likewise.
13168 (pxecmd_mod_LDFLAGS): Likewise.
13169
13170 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13171 (grub_pxe_call): Likewise.
13172
13173 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13174
13175 * commands/i386/pc/pxecmd.c: New file.
13176
13177 * fs/i386/pc/pxe.c: Likewise.
13178
13179 * include/grub/i386/pc/pxe.h: Likewise.
13180
13181 2008-08-05 Bean <bean123ch@gmail.com>
13182
13183 * util/console.c (grub_console_cur_color): New variable.
13184 (grub_console_standard_color): Likewise.
13185 (grub_console_normal_color): Likewise.
13186 (grub_console_highlight_color): Likewise.
13187 (color_map): Likewise.
13188 (use_color): Likewise.
13189 (NUM_COLORS): New macro.
13190 (grub_ncurses_setcolorstate): Handle color properly.
13191 (grub_ncurses_setcolor): Don't change color here, just remember the
13192 settings, color will be set in grub_ncurses_setcolorstate.
13193 (grub_ncurses_getcolor): New function.
13194 (grub_ncurses_init): Initialize color pairs.
13195 (grub_ncurses_term): New member grub_ncurses_getcolor.
13196
13197 2008-08-05 Colin D Bennett <colin@gibibit.com>
13198
13199 High resolution timer support. Implemented for x86 CPUs using TSC.
13200 Extracted generic grub_millisleep() so it's linked in only as needed.
13201 This requires a Pentium compatible CPU; if the RDTSC instruction is
13202 not supported, then it falls back on the generic grub_get_time_ms()
13203 implementation that uses the machine's RTC.
13204
13205 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13206 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13207 `kern/generic/millisleep.c'.
13208
13209 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13210 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13211
13212 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13213 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13214
13215 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13216
13217 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13218 `kern/generic/millisleep.c'.
13219
13220 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13221
13222 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13223
13224 * kern/generic/rtc_get_time_ms.c: New file.
13225
13226 * kern/generic/millisleep.c: New file.
13227
13228 * kern/misc.c: Don't include
13229 <kern/time.h> anymore.
13230 (grub_millisleep_generic): Removed.
13231
13232 * commands/sleep.c (grub_interruptible_millisleep): Uses
13233 grub_get_time_ms() instead of grub_get_rtc().
13234
13235 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13236 function.
13237 (grub_cpu_is_cpuid_supported): New inline function.
13238 (grub_cpu_is_tsc_supported): New inline function.
13239 (grub_tsc_init): New function prototype.
13240 (grub_tsc_get_time_ms): New function prototype.
13241
13242 * kern/i386/tsc.c (grub_get_time_ms): New file.
13243
13244 * include/grub/time.h: Include <grub/types.h.
13245 (grub_millisleep_generic): Removed.
13246 (grub_get_time_ms): New prototype.
13247 (grub_install_get_time_ms): New prototype.
13248 (grub_rtc_get_time_ms): New prototype.
13249
13250 * kern/time.c (grub_get_time_ms): New function.
13251 (grub_install_get_time_ms): New function.
13252
13253 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13254 <grub/time.h> anymore.
13255 (grub_millisleep): Removed.
13256 (grub_machine_init): Call grub_tsc_init.
13257
13258 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13259 get_time_ms() implementation.
13260
13261 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13262 (ieee1275_get_time_ms): New function.
13263 (grub_machine_init): Install get_time_ms() implementation.
13264
13265 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13266 (grub_machine_init): Call grub_tsc_init().
13267 (grub_millisleep): Removed.
13268
13269 * kern/ieee1275/init.c (grub_millisleep): Removed.
13270 (grub_machine_init): Install ieee1275_get_time_ms()
13271 implementation.
13272 (ieee1275_get_time_ms): New function.
13273 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13274 real work.
13275
13276 2008-08-05 Marco Gerards <marco@gnu.org>
13277
13278 * disk/ata.c: Include <grub/pci.h>.
13279 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13280 (grub_ata_initialize): Rewritten.
13281 (grub_ata_device_initialize): New function.
13282
13283 2008-08-04 Pavel Roskin <proski@gnu.org>
13284
13285 * kern/main.c: Include grub/mm.h.
13286
13287 2008-08-04 Robert Millan <rmh@aybabtu.com>
13288
13289 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13290 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13291 corruption problem).
13292
13293 2008-08-04 Robert Millan <rmh@aybabtu.com>
13294
13295 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13296 warnings introduced in my last commit.
13297
13298 2008-08-03 Robert Millan <rmh@aybabtu.com>
13299
13300 Make PCI available on all i386 architectures.
13301
13302 * include/grub/i386/pc/pci.h: Move from here ...
13303 * include/grub/i386/pci.h: ... to here.
13304
13305 * include/grub/i386/pc/pci.h: Remove.
13306 * include/grub/i386/efi/pci.h: Remove.
13307 * include/grub/x86_64/efi/pci.h: Remove.
13308
13309 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13310 `<grub/cpu/pci.h>'.
13311
13312 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13313 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13314 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13315
13316 * conf/i386-ieee1275.rmk: Likewise.
13317
13318 2008-08-03 Robert Millan <rmh@aybabtu.com>
13319
13320 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13321 (grub_console_setcursor): Make it possible to set cursor off.
13322
13323 2008-08-03 Robert Millan <rmh@aybabtu.com>
13324
13325 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13326 of modules instead of assuming which platform provides what.
13327 * util/update-grub.in: Likewise.
13328
13329 2008-08-03 Robert Millan <rmh@aybabtu.com>
13330
13331 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13332 instead of `grub_install_dos_part' to determine whether a drive needs
13333 to be prepended to prefix (`grub_install_dos_part' is not reliable,
13334 because it can be overridden when loading GRUB via Multiboot).
13335
13336 2008-08-02 Robert Millan <rmh@aybabtu.com>
13337
13338 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13339
13340 2008-08-02 Robert Millan <rmh@aybabtu.com>
13341
13342 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13343 of informational grub_dprintf() calls.
13344
13345 2008-08-02 Robert Millan <rmh@aybabtu.com>
13346
13347 * disk/memdisk.c (memdisk_size): Don't initialize.
13348 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13349
13350 * include/grub/i386/pc/kernel.h
13351 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13352 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13353 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13354 (grub_arch_memdisk_size): Remove.
13355
13356 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13357 field (was only used to transfer a constant). Add `type' field to
13358 support multiple module types.
13359 (grub_module_iterate): New function.
13360
13361 * kern/device.c (grub_device_open): Do not hide error messages
13362 when grub_disk_open() fails. Use grub_print_error() instead.
13363
13364 * kern/i386/pc/init.c (grub_arch_modules_addr)
13365 (grub_arch_memdisk_size): Remove functions.
13366 (grub_arch_modules_addr): Return the module address in high memory
13367 (now that it isn't copied anymore).
13368
13369 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13370 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13371 decompression routine (grub_total_module_size already includes that
13372 now). Don't copy modules back to low memory.
13373
13374 * kern/main.c: Include `<grub/mm.h>'.
13375 (grub_load_modules): Split out (and use) ...
13376 (grub_module_iterate): ... this function, which iterates through
13377 module objects and runs a hook.
13378 Comment out grub_mm_init_region() call, as it would cause non-ELF
13379 modules to be overwritten.
13380
13381 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13382 the memdisk image in its own region, make it part of the module list.
13383 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13384 (main): Parse --memdisk|-m option, and pass user-provided path as
13385 parameter to generate_image().
13386 (add_segments): Pass `memdisk_path' down to load_modules().
13387 (load_modules): Embed memdisk image in module section when requested.
13388 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13389 `header.type' instead of `header.offset'.
13390
13391 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13392 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13393 (memdisk_mod_LDFLAGS): New variables.
13394 * conf/i386-coreboot.rmk: Likewise.
13395 * conf/i386-ieee1275.rmk: Likewise.
13396
13397 2008-08-02 Robert Millan <rmh@aybabtu.com>
13398
13399 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13400 (backward_relocator): New variables. Used to allocate and relocate
13401 the payload, respectively.
13402 (grub_multiboot_load_elf32): Load into heap instead of requested
13403 address, install the appropriate relocator code in each bound of
13404 the payload, and set the entry point such that
13405 grub_multiboot_real_boot() will jump to one of them.
13406
13407 * kern/i386/loader.S (grub_multiboot_payload_size)
13408 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13409 (grub_multiboot_payload_entry_offset): New variables.
13410 (grub_multiboot_real_boot): Set cpu context to what the relocator
13411 expects, and jump to the relocator instead of the payload.
13412
13413 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13414 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13415 (grub_multiboot_payload_entry_offset): Export.
13416
13417 2008-08-01 Bean <bean123ch@gmail.com>
13418
13419 * normal/menu_entry.c (editor_getline): Don't return the original
13420 string as result, as it will be released by lexer once it has done
13421 using it.
13422
13423 2008-08-01 Robert Millan <rmh@aybabtu.com>
13424
13425 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13426 within menuentries, not before them.
13427 util/grub.d/10_hurd.in: Likewise.
13428
13429 2008-08-01 Bean <bean123ch@gmail.com>
13430
13431 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13432 (bufio_mod_SOURCES): New macro.
13433 (bufio_mod_CFLAGS): Likewise.
13434 (bufio_mod_LDFLAGS): Likewise.
13435
13436 * include/grub/bufio.h: New file.
13437
13438 * io/bufio.c: Likewise.
13439
13440 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13441 (grub_video_reader_png): Use grub_buffile_open to open file.
13442
13443 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13444 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13445
13446 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13447 (grub_video_reader_tga): Use grub_buffile_open to open file.
13448
13449 * font/manager.c: Include <grub/bufio.h>.
13450 (add_font): Use grub_buffile_open to open file.
13451
13452 2008-07-31 Robert Millan <rmh@aybabtu.com>
13453
13454 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13455 ELF segments, use a macro for arbitrarily accessing any of them instead
13456 of preparing a pointer that allows access to one at a time.
13457 (grub_multiboot_load_elf64): Likewise.
13458
13459 2008-07-31 Bean <bean123ch@gmail.com>
13460
13461 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13462 GRUB_KERNEL_MACHINE_DATA_END.
13463
13464 2008-07-30 Robert Millan <rmh@aybabtu.com>
13465
13466 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13467 Increase from 0x50 to 0x60.
13468 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13469 use UUIDs to identify the root drive for them. If that's not
13470 possible, abort.
13471 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13472 check, for cross-disk installs.
13473
13474 2008-07-30 Robert Millan <rmh@aybabtu.com>
13475
13476 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13477 is non-empty, use it to set the `prefix' environment variable instead
13478 of the usual approach.
13479 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13480 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13481 environment variable instead of dummy make_install_device().
13482
13483 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13484 (start): Insert a data section, with `grub_prefix' variable.
13485 * kern/i386/linuxbios/startup.S: Likewise.
13486
13487 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13488 New variable reference.
13489 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13490 New macro. Defines offset of `grub_prefix' within startup.S (relative
13491 to `start').
13492 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13493 section within startup.S (relative to `start').
13494 * include/grub/i386/coreboot/kernel.h: Likewise.
13495
13496 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13497 Overwrite grub_prefix with its contents, at the beginning of the
13498 first segment.
13499 (main): Understand -p|--prefix.
13500
13501 2008-07-30 Robert Millan <rmh@aybabtu.com>
13502
13503 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13504
13505 2008-07-30 Robert Millan <rmh@aybabtu.com>
13506
13507 * term/i386/pc/vga_text.c (grub_console_cls): Use
13508 grub_console_gotoxy() to go back to beginning of the screen.
13509 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13510
13511 2008-07-29 Christian Franke <franke@computer.org>
13512
13513 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13514 Add conversion of emulated mount points on Cygwin.
13515
13516 2008-07-29 Christian Franke <franke@computer.org>
13517
13518 * util/update-grub.in: Add a check for admin
13519 group on Cygwin.
13520 Remove old `grub.cfg.new' before creation.
13521 Add `-f' to `mv' to handle the different filesystem
13522 semantics of Windows.
13523
13524 2008-07-29 Bean <bean123ch@gmail.com>
13525
13526 * normal/main.c (get_line): Fix buffer overflow bug.
13527
13528 2008-07-28 Robert Millan <rmh@aybabtu.com>
13529
13530 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13531 (struct grub_apple_header): New struct. Describes the layout of
13532 the partmap header.
13533 (apple_partition_map_iterate): Check the header magic as well as the
13534 partition magic (which was already being checked).
13535
13536 2008-07-28 Pavel Roskin <proski@gnu.org>
13537
13538 * genmk.rb: Add a warning to the beginning of the output that
13539 it's a generated file and should not be edited.
13540
13541 2008-07-28 Robert Millan <rmh@aybabtu.com>
13542
13543 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13544 with the same number are found, just use issue a warning with
13545 grub_dprintf(), as this error has been reported to be non-fatal.
13546
13547 2008-07-27 Robert Millan <rmh@aybabtu.com>
13548
13549 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13550 information.
13551
13552 2008-07-27 Bean <bean123ch@gmail.com>
13553
13554 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13555 (grub_fat_find_dir): Ignore case when comparing filename.
13556
13557 2008-07-27 Bean <bean123ch@gmail.com>
13558
13559 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13560 smallino, as it's more descriptive, and i8count can be confused with
13561 the other field count.
13562 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13563 inode type.
13564
13565 2008-07-27 Bean <bean123ch@gmail.com>
13566
13567 * commands/crc.c: New file.
13568
13569 * lib/crc.c: Likewise.
13570
13571 * include/grub/lib/crc.h: Likewise.
13572
13573 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13574
13575 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13576 (hexdump): Move this function to ...
13577
13578 * lib/hexdump.c: ... here.
13579
13580 * include/grub/hexdump.h: Renamed to ...
13581
13582 * include/grub/lib/hexdump.h: ... this.
13583
13584 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13585
13586 * util/grub-editenv.c: Likewise.
13587
13588 * include/envblk.h: Renamed to ...
13589
13590 * include/lib/envblk.h: ... this.
13591
13592 * util/envblk.c: Renamed to ...
13593
13594 * lib/envblk.c: ... this.
13595
13596 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13597 lib/hexdump.c.
13598 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13599 (pkglib_MODULES): Add crc.mod.
13600 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13601 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13602 (crc_mod_SOURCES): New macro.
13603 (crc_mod_CFLAGS): Likewise.
13604 (crc_mod_LDFLAGS): Likewise.
13605
13606 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13607
13608 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13609
13610 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13611
13612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13613
13614 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13615
13616 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
13617
13618 * commands/help.c: Include <grub/term.h>.
13619 (TERM_WIDTH): Removed. Updated all users.
13620
13621 2008-07-27 Pavel Roskin <proski@gnu.org>
13622
13623 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13624 spurious warnings about a comment within a comment.
13625
13626 2008-07-25 Robert Millan <rmh@aybabtu.com>
13627
13628 * util/getroot.c (find_root_device): Skip devices that match
13629 /dev/dm-[0-9]. This lets the real device be found for any type of
13630 abstraction (LVM, EVMS, RAID..).
13631 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13632 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13633 device is found first, find_root_device() will now skip it.
13634
13635 2008-07-24 Pavel Roskin <proski@gnu.org>
13636
13637 * include/grub/types.h: Use __builtin_bswap32() and
13638 __builtin_bswap64() with gcc 4.3 and newer.
13639
13640 2008-07-24 Christian Franke <franke@computer.org>
13641
13642 * util/i386/pc/grub-install.in: If `--debug' is specified,
13643 pass `--verbose' to grub-setup.
13644 Abort script if make_system_path_relative_to_its_root() fails.
13645
13646 2008-07-24 Bean <bean123ch@gmail.com>
13647
13648 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13649 variable `target_platform' should be `platform'.
13650
13651 2008-07-24 Bean <bean123ch@gmail.com>
13652
13653 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
13654 (grub_png_init_fixed_block): New function.
13655 (grub_png_decode_image_data): Handle fixed huffman code compression.
13656
13657 2008-07-24 Bean <bean123ch@gmail.com>
13658
13659 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13660 (grub_pe2elf_SOURCES): New macro.
13661 (CLEANFILES): Add grub-pe2elf.
13662
13663 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13664 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13665 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13666 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13667 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13668 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13669 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13670 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13671 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13672 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13673 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13674 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13675 (GRUB_PE32_DT_FUNCTION): Likewise.
13676 (GRUB_PE32_REL_I386_DIR32): Likewise.
13677 (GRUB_PE32_REL_I386_REL32): Likewise.
13678 (grub_pe32_symbol): New structure.
13679 (grub_pe32_reloc): Likewise.
13680
13681 * util/grub-pe2elf.c: New file.
13682
13683 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13684 start symbol in non pc platform.
13685
13686 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13687
13688 The following patches are from Christian Franke.
13689
13690 * include/grub/dl.h: Remove .previous, gas supports this only
13691 for ELF format.
13692
13693 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13694 Remove .type, gas supports this only for ELF format.
13695
13696 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13697 nullbytes in symbol table. This fixes an infinite loop if table is
13698 zero filled.
13699
13700 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13701 TARGET_IMG_LDFLAGS and EXEEXT.
13702
13703 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13704 TARGET_IMG_LDFLAGS_AC.
13705 (grub_CHECK_STACK_ARG_PROBE): New function.
13706
13707 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13708
13709 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13710
13711 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13712 to set TARGET_IMG_LD* accordingly.
13713 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13714 Add call to grub_CHECK_STACK_ARG_PROBE.
13715 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13716
13717 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13718
13719 * genmk.rb: Add EXEEXT to CLEANFILES.
13720
13721 2008-07-23 Robert Millan <rmh@aybabtu.com>
13722
13723 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13724 define the codes for arrows and lines used for the menu).
13725 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13726 as well.
13727
13728 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13729 fonts, because the latter are too slow.
13730
13731 2008-07-21 Bean <bean123ch@gmail.com>
13732
13733 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13734 a20. Run keyboard test last, as it will cause macbook to halt.
13735
13736 2008-07-18 Pavel Roskin <proski@gnu.org>
13737
13738 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13739 load foreign architecture modules correctly anyway. Keep
13740 support for loading host architecture modules, whether we
13741 compile them or not.
13742
13743 2008-07-17 Pavel Roskin <proski@gnu.org>
13744
13745 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13746 change target_cpu. The compiler default can mismatch target_cpu
13747 in any case.
13748
13749 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13750 * kern/efi/efi.c: Likewise.
13751
13752 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13753 target compiler is functional.
13754 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13755 are set up.
13756
13757 * configure.ac: Default to efi platform for x86_64-apple. Allow
13758 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13759 adjustments from the rest, only do them if target is not
13760 explicitly given. Merge other adjustments with the final sanity
13761 check. Remove an extraneous check for supported CPU. Be
13762 specific which CPU and which platform is not supported.
13763
13764 * configure.ac: Default to pc platform for x86_64.
13765
13766 2008-07-17 Robert Millan <rmh@aybabtu.com>
13767
13768 Partial LinuxBIOS -> Coreboot rename.
13769
13770 * conf/i386-linuxbios.rmk: Renamed to ...
13771 * conf/i386-coreboot.rmk: ... this.
13772 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13773 * configure.ac: Accept "coreboot" as input platform (but maintain
13774 compatibility with "linuxbios").
13775 * include/grub/i386/linuxbios: Renamed to ...
13776 * include/grub/i386/coreboot: ... this.
13777
13778 2008-07-17 Bean <bean123ch@gmail.com>
13779
13780 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
13781 (appleldr_mod_SOURCE): New variable.
13782 (appleldr_mod_CFLAGS): Likewise.
13783 (appleldr_mod_LDFLAGS): Likewise.
13784 (pci_mod_SOURCES): Likewise.
13785 (pci_mod_CFLAGS): Likewise.
13786 (pci_mod_LDFLAGS): Likewise.
13787 (lspci_mod_SOURCES): Likewise.
13788 (lspci_mod_CFLAGS): Likewise.
13789 (lspci_mod_LDFLAGS): Likewise.
13790
13791 * conf/x86_64-efi.rmk: New file.
13792
13793 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13794 macro.
13795 (grub_efidisk_write): Likewise.
13796
13797 * include/efi/api.h (efi_call_0): New macro.
13798 (efi_call_1): Likewise.
13799 (efi_call_2): Likewise.
13800 (efi_call_3): Likewise.
13801 (efi_call_4): Likewise.
13802 (efi_call_5): Likewise.
13803 (efi_call_6): Likewise.
13804
13805 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13806 grub_rescue_cmd_chainloader.
13807
13808 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13809 (grub_pe32_optional_header): Change some fields based on i386 or
13810 x86_64 platform.
13811 (GRUB_PE32_PE32_MAGIC): Likewise.
13812
13813 * include/grub/efi/uga_draw.h: New file.
13814
13815 * include/grub/elf.h (STN_ABS): New constant.
13816 (R_X86_64_NONE): Relocation constant for x86_64.
13817 (R_X86_64_64): Likewise.
13818 (R_X86_64_PC32): Likewise.
13819 (R_X86_64_GOT32): Likewise.
13820 (R_X86_64_PLT32): Likewise.
13821 (R_X86_64_COPY): Likewise.
13822 (R_X86_64_GLOB_DAT): Likewise.
13823 (R_X86_64_JUMP_SLOT): Likewise.
13824 (R_X86_64_RELATIVE): Likewise.
13825 (R_X86_64_GOTPCREL): Likewise.
13826 (R_X86_64_32): Likewise.
13827 (R_X86_64_32S): Likewise.
13828 (R_X86_64_16): Likewise.
13829 (R_X86_64_PC16): Likewise.
13830 (R_X86_64_8): Likewise.
13831 (R_X86_64_PC8): Likewise.
13832
13833 * include/grub/i386/efi/pci.h: New file.
13834
13835 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13836 Change it value based on platform.
13837 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13838 (GRUB_E820_RAM): Likewise.
13839 (GRUB_E820_RESERVED): Likewise.
13840 (GRUB_E820_ACPI): Likewise.
13841 (GRUB_E820_NVS): Likewise.
13842 (GRUB_E820_EXEC_CODE): Likewise.
13843 (GRUB_E820_MAX_ENTRY): Likewise.
13844 (grub_e820_mmap): New structure.
13845 (linux_kernel_header): Change the efi field according to different
13846 kernel version, also field from linux_kernel_header.
13847
13848 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13849
13850 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13851 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13852 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13853 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13854 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13855 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13856 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13857 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13858 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13859 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13860
13861 * include/grub/x86_64/efi/kernel.h: New file.
13862
13863 * include/grub/x86_64/efi/loader.h: Likewise.
13864
13865 * include/grub/x86_64/efi/machine.h: Likewise.
13866
13867 * include/grub/x86_64/efi/pci.h: Likewise.
13868
13869 * include/grub/x86_64/efi/time.h: Likewise.
13870
13871 * include/grub/x86_64/linux.h: Likewise.
13872
13873 * include/grub/x86_64/setjmp.h: Likewise.
13874
13875 * include/grub/x86_64/time.h: Likewise.
13876
13877 * include/grub/x86_64/types.h: Likewise.
13878
13879 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13880 GRUB_TARGET_SIZEOF_VOID_P.
13881
13882 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13883 (grub_efi_locate_handle): Likewise.
13884 (grub_efi_open_protocol): Likewise.
13885 (grub_efi_set_text_mode): Likewise.
13886 (grub_efi_stall): Likewise.
13887 (grub_exit): Likewise.
13888 (grub_reboot): Likewise.
13889 (grub_halt): Likewise.
13890 (grub_efi_exit_boot_services): Likewise.
13891 (grub_get_rtc): Likewise.
13892
13893 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13894 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13895 (grub_efi_allocate_pages): Wrap efi calls.
13896 (grub_efi_free_pages): Wrap efi calls.
13897 (grub_efi_get_memory_map): Wrap efi calls.
13898
13899 * kern/x86_64/dl.c: New file.
13900
13901 * kern/x86_64/efi/callwrap.S: Likewise.
13902
13903 * kern/x86_64/efi/startup.S: Likewise.
13904
13905 * loader/efi/appleloader.c: Likewise.
13906
13907 * loader/efi/chainloader.c (cmdline): New variable.
13908 (grub_chainloader_unload): Wrap efi calls.
13909 (grub_chainloader_boot): Likewise.
13910 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13911 command line.
13912
13913 * loader/efi/chainloader_normal.c (chainloader_command):
13914 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13915 command line.
13916
13917 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13918 method.
13919 (grub_e820_add_region): New function.
13920 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13921 booting.
13922 (grub_find_video_card): New function.
13923 (grub_linux_setup_video): New function.
13924 (grub_rescue_cmd_linux): Probe for video information.
13925
13926 * normal/x86_64/setjmp.S: New file.
13927
13928 * term/efi/console.c (map_char): New function.
13929 (grub_console_putchar): Map unicode char.
13930 (grub_console_checkkey): Wrap efi calls.
13931 (grub_console_getkey): Likewise.
13932 (grub_console_getwh): Likewise.
13933 (grub_console_gotoxy): Likewise.
13934 (grub_console_cls): Likewise.
13935 (grub_console_setcolorstate): Likewise.
13936 (grub_console_setcursor): Likewise.
13937
13938 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13939
13940 2008-07-16 Pavel Roskin <proski@gnu.org>
13941
13942 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13943 format strings.
13944
13945 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13946 pointer, not an integer. This fixes a warning and prevents
13947 precision loss on 64-bit systems.
13948 (relocate_addresses): Remove unneeded cast.
13949
13950 2008-07-15 Pavel Roskin <proski@gnu.org>
13951
13952 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13953
13954 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13955
13956 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13957 Fix comparison between signed and unsigned.
13958
13959 * include/grub/i386/ieee1275/console.h: Declare
13960 grub_console_init() and grub_console_fini().
13961
13962 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13963 It's empty and unused.
13964
13965 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13966 beginning to avoid warnings with some compilers.
13967
13968 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13969 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13970
13971 2008-07-14 Pavel Roskin <proski@gnu.org>
13972
13973 * kern/env.c (grub_register_variable_hook): Don't copy empty
13974 string, it leaks memory. Pass "" to grub_env_set(), it should
13975 handle constant strings.
13976
13977 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13978 * commands/cmp.c (grub_cmd_cmp): Likewise.
13979 * kern/dl.c (grub_dl_flush_cache): Likewise.
13980 (grub_dl_load_core): Likewise.
13981 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13982 (grub_elf64_load_phdrs): Likewise.
13983
13984 2008-07-13 Pavel Roskin <proski@gnu.org>
13985
13986 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13987 between signed and unsigned.
13988 (LzmaEnc_Finish): Fix warning about an unused parameter.
13989
13990 2008-07-13 Bean <bean123ch@gmail.com>
13991
13992 * Makefile.in (enable_lzo): New rule.
13993
13994 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13995
13996 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13997
13998 * boot/i386/pc/lnxboot.S: #include <config.h>.
13999
14000 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
14001 its value according to the compression algorithm used, lzo or lzma.
14002
14003 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
14004 compression algorithm according to configure macro.
14005
14006 * kern/i386/pc/startup.S (codestart): Likewise.
14007
14008 * kern/i386/pc/lzma_decode.S: New file.
14009
14010 * include/grub/lib/LzFind.h: Likewise.
14011
14012 * include/grub/lib/LzHash.h: Likewise.
14013
14014 * include/grub/lib/LzmaDec.h: Likewise.
14015
14016 * include/grub/lib/LzmaEnc.h: Likewise.
14017
14018 * include/grub/lib/LzmaTypes.h: Likewise.
14019
14020 * lib/LzFind.c: Likewise.
14021
14022 * lib/LzmaDec.c: Likewise.
14023
14024 * lib/LzmaEnc.c: Likewise.
14025
14026 2008-07-13 Bean <bean123ch@gmail.com>
14027
14028 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
14029 (grub_ext4_extent_header): New structure.
14030 (grub_ext4_extent): Likewise.
14031 (grub_ext4_extent_idx): Likewise.
14032 (grub_ext4_find_leaf): New function.
14033 (grub_ext2_read_block): Handle extents.
14034
14035 2008-07-12 Robert Millan <rmh@aybabtu.com>
14036
14037 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
14038
14039 2008-07-11 Robert Millan <rmh@aybabtu.com>
14040
14041 * util/grub.d/40_custom.in: New file. Example on how to add custom
14042 entries to /etc/grub.d.
14043 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
14044 40_custom (implicitly, by merging all the grub.d rules).
14045
14046 2008-07-11 Pavel Roskin <proski@gnu.org>
14047
14048 * commands/read.c (grub_getline): Fix invalid memory access.
14049 Don't add newline to the variable value.
14050
14051 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
14052 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
14053 (serial_hw_get_port): Check validity of the port number.
14054 (grub_cmd_serial): Check return value of serial_hw_get_port().
14055
14056 2008-07-07 Pavel Roskin <proski@gnu.org>
14057
14058 * boot/i386/pc/diskboot.S (notification_string): Replace
14059 "Loading kernel" with just "loading". This is shorter, less
14060 confusing and saves a few bytes for possible future changes.
14061
14062 2008-07-05 Pavel Roskin <proski@gnu.org>
14063
14064 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
14065 size for ATAPI devices, they are undefined. Output sector
14066 number in decimal form.
14067
14068 * disk/ata.c: Use named constants for status bits.
14069
14070 2008-07-04 Pavel Roskin <proski@gnu.org>
14071
14072 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
14073 grub_addr_t before casting it to the void pointer to fix a
14074 warning. Non-addressable regions are discarded earlier.
14075 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14076 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14077 (check_signature): Don't shadow table_header.
14078 (grub_linuxbios_table_iterate): Cast numeric constants to
14079 grub_linuxbios_table_header_t.
14080 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14081 grub_stop().
14082
14083 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14084 prevent warnings.
14085
14086 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14087 pointer, which can cause warnings. Support 64-bit addresses.
14088
14089 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14090 of sizeof(long). This fixes PowerPC image generation on x86_64.
14091
14092 2008-07-04 Robert Millan <rmh@aybabtu.com>
14093
14094 This fixes a performance issue when pc & gpt partmap iterators
14095 didn't abort iteration even after our hook found what it was
14096 looking for (often causing expensive probes of non-existent drives).
14097
14098 Some callers relied on previous buggy behaviour, since they would
14099 raise an error when their own hooks caused early abortion of its
14100 iteration.
14101
14102 * kern/device.c (grub_device_open): Improve error message.
14103 * disk/lvm.c (grub_lvm_open): Likewise.
14104 * disk/raid.c (grub_raid_open): Likewise.
14105
14106 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14107 when hook requests it, independently of grub_errno.
14108 (pc_partition_map_probe): Do not fail when find_func() caused
14109 early abortion of pc_partition_map_iterate().
14110
14111 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14112 when hook requests it, independently of grub_errno.
14113 (gpt_partition_map_probe): Do not fail when find_func() caused
14114 early abortion of gpt_partition_map_iterate().
14115
14116 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14117 when hook requests it, independently of grub_errno. Do not fail when
14118 part_map_iterate_hook() caused early abortion of p->iterate().
14119
14120 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14121 when grub_partition_iterate() returned with non-zero.
14122
14123 2008-07-03 Pavel Roskin <proski@gnu.org>
14124
14125 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14126 like we do in grub_ata_pio_read().
14127 (grub_ata_readwrite): Always write individual sectors. Fix the
14128 sector count for the remainder.
14129 (grub_ata_write): Enable writing to ATA devices. Correctly
14130 report error for ATAPI devices.
14131
14132 2008-07-02 Pavel Roskin <proski@gnu.org>
14133
14134 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14135 warning.
14136
14137 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14138 for every read sector, we already increment it for the whole
14139 batch. This fixes reading more than 256 sectors at once.
14140
14141 * util/grub-editenv.c (cmd_info): Cast argument to long
14142 explicitly. ptrdiff_t reduces to int on i386.
14143
14144 * util/grub-editenv.c (main): Be specific which parameter is
14145 missing.
14146
14147 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14148 (memdisk): Make memdisk_orig_addr a pointer.
14149
14150 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14151 for file offsets, use grub_off_t instead. Fix printf format
14152 warnings.
14153
14154 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14155 there. Real unexpected warnings should not drown in the noise
14156 about known problems.
14157
14158 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14159 grub_disk_addr_t for memory addresses.
14160
14161 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14162 explicitly to fix a warning.
14163
14164 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14165
14166 * Makefile.in (MODULE_LDFLAGS): New variable.
14167 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14168 the linker accepts --build-id=none.
14169 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14170 MODULE_LDFLAGS.
14171 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14172
14173 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14174 those in Linux XFS code. Provide a way to access 64-bit parent
14175 inode.
14176 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14177 the end of struct grub_xfs_dir_header.
14178
14179 2008-07-02 Bean <bean123ch@gmail.com>
14180
14181 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14182 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14183 and GRUB_IEEE1275_FLAG_NO_ANSI.
14184
14185 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14186 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14187 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14188
14189 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14190 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14191
14192 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14193 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14194
14195 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14196 esc sequence on non ANSI terminal.
14197 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14198
14199 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14200 beginning of file.
14201
14202 2008-07-02 Bean <bean123ch@gmail.com>
14203
14204 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14205 (grub_editenv_SOURCES): New variable.
14206 (pkglib_MODULES): Add loadenv.mod.
14207 (loadenv_mod_SOURCES): New variable.
14208 (loadenv_mod_CFLAGS): Likewise.
14209 (loadenv_mod_LDFLAGS): Likewise.
14210
14211 * include/grub/envblk.h: New file.
14212
14213 * util/envblk.c: New file.
14214
14215 * util/grub-editenv.c: New file.
14216
14217 * commands/loadenv.c: New file.
14218
14219 2008-07-01 Pavel Roskin <proski@gnu.org>
14220
14221 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14222 not unsigned char. This fixes warnings and is consistent with
14223 other tags.
14224
14225 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14226
14227 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14228
14229 * term/tparm.c (analyze): Always set *popcount.
14230
14231 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14232 cast to fix a warning.
14233
14234 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14235 cast to suppress a warning.
14236
14237 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14238 grub_fshelp_read_file() expects.
14239
14240 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14241 write uuid as a 32-bit value in CPU byte order, so declare and
14242 use it as such.
14243
14244 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14245 long if the format specifier expects it.
14246 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14247 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14248 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14249 long to fix a warning.
14250 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14251 grub_dprintf() arguments to fix warnings.
14252
14253 2008-06-30 Pavel Roskin <proski@gnu.org>
14254
14255 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14256 install_bsd_part immediately before core.img is embedded or
14257 modified on disk. This fixes core.img verification if core.img
14258 cannot be embedded.
14259
14260 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14261 core_path to calculate the blocklist.
14262 Patch from Javier Martín <lordhabbit@gmail.com>
14263
14264 2008-06-29 Robert Millan <rmh@aybabtu.com>
14265
14266 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14267 block to disk block.
14268 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14269 Patch from Niels Böhm <bitbucket@arcor.de>
14270
14271 2008-06-29 Robert Millan <rmh@aybabtu.com>
14272
14273 * util/update-grub_lib.in (font_path): Search for fonts in
14274 /boot/grub first, which is more likely to be readable (we aren't
14275 deciding where fonts live, just looking for them).
14276
14277 2008-06-26 Pavel Roskin <proski@gnu.org>
14278
14279 * util/biosdisk.c (read_device_map): Don't leave dead map
14280 entries for devices failing stat() check.
14281
14282 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14283 core_path_dev for the core.img path on the target device.
14284
14285 2008-06-26 Robert Millan <rmh@aybabtu.com>
14286
14287 * disk/fs_uuid.c: New file.
14288 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14289 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14290 (fs_uuid_mod_LDFLAGS): New variables.
14291 * include/grub/disk.h (grub_disk_dev_id): Add
14292 `GRUB_DISK_DEVICE_UUID_ID'.
14293 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14294 implement iterate().
14295
14296 2008-06-26 Robert Millan <rmh@aybabtu.com>
14297
14298 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14299 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14300 Linux image includes no initrd.
14301
14302 2008-06-21 Javier Martín <lordhabbit@gmail.com>
14303
14304 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14305 call to resolve the core image location that effectively appended the
14306 name twice.
14307
14308 2008-06-21 Robert Millan <rmh@aybabtu.com>
14309
14310 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14311 call from here ...
14312
14313 * util/grub.d/10_hurd.in: ... to here ...
14314 * util/grub.d/10_linux.in: ... and here.
14315
14316 2008-06-19 Robert Millan <rmh@aybabtu.com>
14317
14318 * kern/main.c (grub_main): Export `prefix' variable immediately
14319 after it has been set by grub_machine_set_prefix().
14320
14321 2008-06-19 Robert Millan <rmh@aybabtu.com>
14322
14323 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14324 search result when not saving to variable, not the other way around.
14325 When saving to variable, abort iteration as soon as a match is found.
14326
14327 2008-06-19 Robert Millan <rmh@aybabtu.com>
14328
14329 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14330 check for partition that provides /boot/grub. Its logic is flawed,
14331 as it prevents prepare_grub_to_access_device() from being called
14332 multiple times.
14333
14334 2008-06-19 Robert Millan <rmh@aybabtu.com>
14335
14336 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14337 "insmod" command directly when abstraction modules are needed,
14338 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
14339 since it had already been processed).
14340
14341 2008-06-19 Pavel Roskin <proski@gnu.org>
14342
14343 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14344 changed. This is needed in case GRUB_LIBDIR changes.
14345 * conf/i386-ieee1275.rmk: Likewise.
14346 * conf/i386-linuxbios.rmk: Likewise.
14347 * conf/i386-pc.rmk: Likewise.
14348 * conf/powerpc-ieee1275.rmk: Likewise.
14349
14350 2008-06-18 Pavel Roskin <proski@gnu.org>
14351
14352 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14353 kernel_elf_symlist.c to symlist.c for consistency with other
14354 architectures. Update all users.
14355 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14356
14357 2008-06-18 Robert Millan <rmh@aybabtu.com>
14358
14359 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14360 it in prefix.
14361
14362 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14363 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14364 a RAID device, run setup() for all members independently on whether
14365 LVM abstraction is being used.
14366 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14367 If grub-mkimage has set `*install_dos_part == -2', don't override this
14368 value.
14369 Perform *install_dos_part adjustments independently on whether
14370 we're embedding or not.
14371 Clarify error message when image is too big for embedding.
14372 Remove duplicate *install_dos_part stanza.
14373
14374 2008-06-17 Robert Millan <rmh@aybabtu.com>
14375
14376 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14377 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14378 variables.
14379 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14380 values in grub_ofconsole_normal_color and
14381 grub_ofconsole_highlight_color (they're not directly related to
14382 background and foreground).
14383 (grub_ofconsole_setcolorstate): Extract background and foreground
14384 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14385
14386 2008-06-17 Robert Millan <rmh@aybabtu.com>
14387
14388 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14389 /boot/grub for the check in last commit, not /boot (they could be
14390 different partitions).
14391
14392 2008-06-16 Robert Millan <rmh@aybabtu.com>
14393
14394 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14395 asked to setup access for the same partition that provides /boot,
14396 don't bother using UUIDs since our root already has the value we
14397 want.
14398
14399 2008-06-16 Robert Millan <rmh@aybabtu.com>
14400
14401 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14402 I2O devices.
14403 Patch from Sven Mueller <sven@debian.org>.
14404
14405 2008-06-16 Robert Millan <rmh@aybabtu.com>
14406
14407 * util/update-grub.in: Check for $EUID instead of $UID.
14408 Reported by Vincent Zweije.
14409
14410 2008-06-16 Bean <bean123ch@gmail.com>
14411
14412 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
14413 (grub_ext2_read_block): Likewise.
14414 (grub_ext2_read_inode): Likewise.
14415 (grub_ext2_mount): Likewise.
14416 (grub_ext2_close): Likewise.
14417 (grub_ext3_get_journal): Removed.
14418
14419 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
14420 (grub_reiserfs_read_symlink): Likewise.
14421 (grub_reiserfs_mount): Likewise.
14422 (grub_reiserfs_open): Likewise.
14423 (grub_reiserfs_read): Likewise.
14424 (grub_reiserfs_close): Likewise.
14425 (grub_reiserfs_get_journal): Removed.
14426
14427 * fs/fshelp.c (grub_fshelp_read): Removed.
14428 (grub_fshelp_map_block): Likewise.
14429
14430 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14431 (grub_fshelp_journal): Likewise.
14432 (grub_fshelp_read): Likewise.
14433 (grub_fshelp_map_block): Likewise.
14434
14435 2008-06-16 Pavel Roskin <proski@gnu.org>
14436
14437 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14438 floating point anymore.
14439 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14440
14441 2008-06-15 Pavel Roskin <proski@gnu.org>
14442
14443 * commands/ls.c (grub_ls_list_files): Use integer calculations
14444 for human readable format, avoid floating point use.
14445 * kern/misc.c (grub_ftoa): Remove.
14446 (grub_vsprintf): Remove floating point support.
14447
14448 2008-06-15 Robert Millan <rmh@aybabtu.com>
14449
14450 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
14451 devices.
14452 Reported by Max Vozeler.
14453
14454 2008-06-15 Robert Millan <rmh@aybabtu.com>
14455
14456 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14457 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14458 skipped later.
14459 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14460 the beginning of the prefix.
14461
14462 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14463 It is assumed that if we have a memdisk, grub-mkimage has set
14464 grub_prefix to include the "(memdisk)" drive in it.
14465
14466 2008-06-15 Robert Millan <rmh@aybabtu.com>
14467
14468 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14469 Initialize keyboard controller after registering the terminal, so that
14470 grub_printf() can be called from grub_keyboard_controller_init().
14471
14472 2008-06-15 Robert Millan <rmh@aybabtu.com>
14473
14474 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14475 extent-btree which is written as big endian on disk.
14476 Reported by Alain Greppin <al@chilibi.org>.
14477
14478 2008-06-14 Robert Millan <rmh@aybabtu.com>
14479
14480 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14481 * util/i386/pc/grub-install.in (modules): Likewise.
14482
14483 2008-06-13 Pavel Roskin <proski@gnu.org>
14484
14485 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14486
14487 2008-06-13 Bean <bean123ch@gmail.com>
14488
14489 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14490
14491 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14492
14493 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14494 to indicate sparse block.
14495
14496 2008-06-12 Pavel Roskin <proski@gnu.org>
14497
14498 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14499 number, grub_fshelp_read() does it for us.
14500
14501 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14502 linear disk read with journal translation.
14503 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14504 * include/grub/fshelp.h: Declare grub_fshelp_read().
14505
14506 2008-06-09 Pavel Roskin <proski@gnu.org>
14507
14508 * fs/minix.c (grub_minix_mount): Handle error reading
14509 superblock.
14510
14511 2008-06-08 Robert Millan <rmh@aybabtu.com>
14512
14513 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14514 don't append the RAID prefix afterwards.
14515 Reported by Clint Adams.
14516
14517 2008-06-08 Robert Millan <rmh@aybabtu.com>
14518
14519 Based on description from Pavel:
14520 * kern/disk.c (grub_disk_check_range): Rename to ...
14521 (grub_disk_adjust_range): ... this. Add a comment explaining the
14522 tasks performed by this function.
14523
14524 2008-06-08 Robert Millan <rmh@aybabtu.com>
14525
14526 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14527 `num_serial' (for consistency with other variables).
14528 (struct grub_ntfs_data): Add `uuid' member.
14529 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14530 (grub_ntfs_uuid): New function.
14531 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14532
14533 2008-06-07 Pavel Roskin <proski@gnu.org>
14534
14535 * util/biosdisk.c (open_device): Revert last change to the
14536 function, it broke installation. The sector needs to be
14537 different dependent on which device is opened.
14538
14539 2008-06-06 Robert Millan <rmh@aybabtu.com>
14540
14541 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14542 rest of GRUB, and breakage doesn't happen if its value were modified.
14543
14544 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14545 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14546 a constant (same value).
14547 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14548 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14549
14550 2008-06-06 Robert Millan <rmh@aybabtu.com>
14551
14552 * util/biosdisk.c (open_device): Do not modify sector offset when
14553 accessing a partition. kern/disk.c already handles this for us.
14554
14555 2008-06-06 Robert Millan <rmh@aybabtu.com>
14556
14557 * util/grub-emu.c (grub_machine_init): Move code in this function from
14558 here ...
14559 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14560 segfault in case grub_printf() is called).
14561
14562 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14563 grub_probe. Update all users not to explicitly add it again.
14564 (grub_device): New variable; contains corresponding device for grubdir.
14565 (fs_module, partmap_module, devabstraction_module): Pass
14566 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14567 every time.
14568
14569 2008-06-05 Robert Millan <rmh@aybabtu.com>
14570
14571 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14572 is found, print it (same layout as with labels).
14573
14574 2008-06-04 Robert Millan <rmh@aybabtu.com>
14575
14576 * util/biosdisk.c (get_drive): Rename to ...
14577 (find_grub_drive): ... this. Update all users.
14578
14579 (get_os_disk): Rename to ...
14580 (convert_system_partition_to_system_disk): ... this. Update all users.
14581
14582 (find_drive): Rename to ...
14583 (find_system_device): ... this. Update all users.
14584
14585 2008-06-04 Robert Millan <rmh@aybabtu.com>
14586
14587 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14588 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14589 (make_device_map): Likewise.
14590
14591 2008-06-01 Robert Millan <rmh@aybabtu.com>
14592
14593 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14594 before dereferencing it.
14595
14596 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14597 union with fat12/fat16-specific ones. Add some new fields, including
14598 `num_serial' for both versions.
14599 (struct grub_fat_data): Add `uuid' member.
14600 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14601 names. Initialize `data->uuid' using `num_serial'.
14602 (grub_fat_uuid): New function.
14603 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14604
14605 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14606 (grub_reiserfs_uuid): New function.
14607 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14608 member.
14609
14610 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14611 (grub_xfs_uuid): New function.
14612 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14613
14614 2008-06-01 Robert Millan <rmh@aybabtu.com>
14615
14616 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14617 code that is backward compatible with pre-uuid search command.
14618
14619 2008-05-31 Robert Millan <rmh@aybabtu.com>
14620
14621 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14622 floppies after everything else, to ensure floppy drive isn't accessed
14623 unnecessarily (patch from Bean).
14624
14625 2008-05-31 Robert Millan <rmh@aybabtu.com>
14626
14627 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14628 not print device names when we were asked to set a variable.
14629
14630 2008-05-31 Robert Millan <rmh@aybabtu.com>
14631
14632 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14633 using "cursor-on" and "cursor-off" commands (understood at least by
14634 the Open Firmware flavour on OLPC).
14635
14636 2008-05-31 Michael Gorven <michael@gorven.za.net>
14637
14638 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14639 on and off sequences.
14640
14641 2008-05-31 Robert Millan <rmh@aybabtu.com>
14642
14643 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14644 * util/update-grub.in: Likewise.
14645
14646 2008-05-30 Pavel Roskin <proski@gnu.org>
14647
14648 * util/biosdisk.c (linux_find_partition): Simplify logic and
14649 make the code more universal. Keep special processing for
14650 devfs, but use a simple rule for all other devices. If the
14651 device ends with a number, append 'p' and the partition number.
14652 Otherwise, append only the partition number.
14653
14654 2008-05-30 Robert Millan <rmh@aybabtu.com>
14655
14656 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14657 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14658 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14659 the `root' parameter to Linux.
14660
14661 2008-05-30 Robert Millan <rmh@aybabtu.com>
14662
14663 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14664 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14665 --fs_uuid with --fs-uuid.
14666 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14667 all filesystems support them).
14668
14669 2008-05-30 Robert Millan <rmh@aybabtu.com>
14670
14671 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
14672 grub_printf() flags, since we're printing in units of 2 bytes.
14673
14674 2008-05-30 Robert Millan <rmh@aybabtu.com>
14675
14676 * util/grub.d/00_header.in: Remove obsolete comment referencing
14677 convert_system_path_to_grub_path().
14678 * util/update-grub.in: Likewise.
14679 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14680 (convert_system_path_to_grub_path): Add a warning message explaining
14681 that this function is deprecated. Rely on is_path_readable_by_grub()
14682 for the readability checks.
14683 (font_path): Use is_path_readable_by_grub() for the readability
14684 check rather than convert_system_path_to_grub_path().
14685
14686 2008-05-30 Robert Millan <rmh@aybabtu.com>
14687
14688 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14689 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14690 converting it first.
14691 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14692 grub.cfg for access to font file, and afterwards call it again to set
14693 the root device.
14694
14695 2008-05-30 Robert Millan <rmh@aybabtu.com>
14696
14697 * commands/search.c (options): Add --fs_uuid option.
14698 (search_fs_uuid): New function.
14699 (grub_cmd_search): Fix --set argument passing.
14700 Use search_fs_uuid() when requested via --fs_uuid.
14701 (grub_search_init): Update help message.
14702 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14703 and redeclare it as an array of 16-bit words.
14704 (grub_ext2_uuid): New function.
14705 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14706 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14707 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14708 (GRUB_DEVICE_BOOT_UUID): New variables.
14709 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14710 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14711 whenever possible.
14712 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14713 just assume `root' variable has the right value.
14714 * util/grub.d/10_linux.in: Likewise.
14715 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14716 via PRINT_FS_UUID.
14717 (main): Recognise `-t fs_uuid' argument.
14718
14719 2008-05-30 Robert Millan <rmh@aybabtu.com>
14720
14721 * util/biosdisk.c (map): Redefine structure to hold information
14722 about GRUB drive name.
14723 (get_drive): Reimplement without assuming (and verifying) BIOS-like
14724 drive names.
14725 (call_hook): Remove.
14726 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14727 member. Assume drive has partitions.
14728 (grub_util_biosdisk_open): Access device names via `.device' struct
14729 member.
14730 (open_device): Likewise.
14731 (find_drive): Likewise.
14732 (read_device_map): Adjust map[] usage to match the new struct
14733 definition. Don't check for duplicates (still possible, but not cheap
14734 anymore).
14735 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14736 (make_device_name): Remove assumption of BIOS-like drive names.
14737
14738 2008-05-30 Pavel Roskin <proski@gnu.org>
14739
14740 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14741 compiling execute.c doesn't need grub_script.tab.h anymore.
14742 (normal/command.c_DEPENDENCIES): Likewise.
14743 (normal/function.c_DEPENDENCIES): Likewise.
14744 * conf/i386-ieee1275.rmk: Likewise.
14745 * conf/i386-linuxbios.rmk: Likewise.
14746 * conf/i386-pc.rmk: Likewise.
14747 * conf/powerpc-ieee1275.rmk: Likewise.
14748 * conf/sparc64-ieee1275.rmk: Likewise.
14749
14750 2008-05-29 Pavel Roskin <proski@gnu.org>
14751
14752 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14753 when scanning metadata for volume group name.
14754
14755 * include/grub/script.h: Don't include grub_script.tab.h. It's
14756 a generated file, which may only be included from the files with
14757 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14758 use union YYSTYPE, as the later allows forward declaration.
14759 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14760
14761 2008-05-29 Robert Millan <rmh@aybabtu.com>
14762
14763 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14764 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14765 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14766 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14767 scan codes.
14768
14769 2008-05-29 Robert Millan <rmh@aybabtu.com>
14770
14771 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14772 control key combinations.
14773
14774 2008-05-29 Robert Millan <rmh@aybabtu.com>
14775
14776 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14777 * util/ieee1275/grub-install.in: ... to here.
14778 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14779 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14780 (grub_install_SOURCES): Likewise.
14781
14782 2008-05-29 Robert Millan <rmh@aybabtu.com>
14783
14784 * fs/affs.c: Update copyright year.
14785 * fs/ext2.c: Likewise.
14786 * fs/fshelp.c: Likewise.
14787 * fs/hfsplus.c: Likewise.
14788 * fs/ntfs.c: Likewise.
14789 * fs/xfs.c: Likewise.
14790 * include/grub/fshelp.h: Likewise.
14791 * util/grub-mkdevicemap.c: Likewise.
14792
14793 2008-05-28 Robert Millan <rmh@aybabtu.com>
14794
14795 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14796 might need to be fatfs to support some firmware implementations
14797 (e.g. OFW or EFI).
14798
14799 2008-05-28 Robert Millan <rmh@aybabtu.com>
14800
14801 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14802 devices.
14803 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14804 (make_device_map): Likewise.
14805
14806 2008-05-20 Bean <bean123ch@gmail.com>
14807
14808 * fs/fshelp.c (grub_fshelp_map_block): New function.
14809 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14810 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14811
14812 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14813 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14814 (grub_fshelp_journal): New structure.
14815 (grub_fshelp_map_block): New function prototype.
14816 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14817 (grub_fshelp_map_block): Likewise.
14818
14819 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14820 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14821 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14822 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14823 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14824 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14825 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14826 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14827 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14828 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14829 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14830 (grub_ext2_sblock): New members for journal support.
14831 (grub_ext3_journal_header): New structure.
14832 (grub_ext3_journal_revoke_header): Likewise.
14833 (grub_ext3_journal_block_tag): Likewise.
14834 (grub_ext3_journal_sblock): Likewise.
14835 (grub_fshelp_node): New members logfile and journal.
14836 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14837 grub_fshelp_map_block to get real block number.
14838 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14839 number.
14840 (grub_ext2_read_inode): Likewise.
14841 (grub_ext3_get_journal): New function.
14842 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14843 (grub_ext2_close): Release memory used by journal.
14844
14845 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14846 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14847 (grub_reiserfs_transaction_header): Renamed to
14848 grub_reiserfs_description_block, replace field data with real_blocks.
14849 (grub_reiserfs_commit_block): New structure.
14850 (grub_reiserfs_data): New member journal.
14851 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14852 number.
14853 (grub_reiserfs_read_symlink): Likewise.
14854 (grub_reiserfs_iterate_dir): Likewise.
14855 (grub_reiserfs_open): Likewise.
14856 (grub_reiserfs_read): Likewise.
14857 (grub_reiserfs_get_journal): New function.
14858 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14859 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14860 using grub_reiserfs_get_journal.
14861 (grub_reiserfs_close): Release memory used by journal.
14862
14863 * fs/affs.c (grub_affs_read_block): Change block type to
14864 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14865
14866 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14867
14868 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14869
14870 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14871
14872 * fs/udf.c (grub_udf_read_block): Change block type to
14873 grub_disk_addr_t. Use type cast to avoid warning.
14874
14875 * fs/xfs.c (grub_xfs_read_block): Likewise.
14876
14877 2008-05-16 Christian Franke <franke@computer.org>
14878
14879 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14880 to ensure that break with ESC will always work.
14881 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14882 Remove ESC from keyboard queue.
14883
14884 2008-05-16 Christian Franke <franke@computer.org>
14885
14886 * util/biosdisk.c: [__CYGWIN__] Add includes.
14887 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14888 (get_os_disk): Move variable declarations to OS specific
14889 parts to avoid warning.
14890 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14891 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14892 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14893 Cygwin.
14894 * util/getroot.c: [__CYGWIN__] Add includes.
14895 (strip_extra_slashes): Fix "/" case.
14896 [__CYGWIN__] (get_win32_path): New function.
14897 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14898 [__CYGWIN__] (find_root_device): Disable.
14899 [__CYGWIN__] (get_bootsec_serial): New function.
14900 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14901 [__linux__] (grub_guess_root_device): Add early returns to simplify
14902 structure.
14903 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14904 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14905 check for Linux only.
14906
14907 2008-05-15 Bean <bean123ch@gmail.com>
14908
14909 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14910 keyboard hang problem in apple's intel mac.
14911
14912 2008-05-09 Robert Millan <rmh@aybabtu.com>
14913
14914 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14915 devices.
14916 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14917 (make_device_map): Likewise.
14918 Reported by Aurelien Jarno <aurel32@debian.org>
14919
14920 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
14921
14922 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14923 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14924 (make_device_map): Output entries for xvd type disks.
14925
14926 2008-05-07 Robert Millan <rmh@aybabtu.com>
14927
14928 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14929 devices.
14930 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14931 (make_device_map): Likewise.
14932 Reported by Roland Dreier <rdreier@cisco.com>
14933
14934 2008-05-07 Robert Millan <rmh@aybabtu.com>
14935
14936 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14937 grub_strstr() call. Correct a few mistakes in failure path handling.
14938
14939 2008-05-06 Robert Millan <rmh@aybabtu.com>
14940
14941 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14942 Do not print a trailing slash (therefore, the root directory is an
14943 empty string).
14944 (convert_system_path_to_grub_path): Do not remove trailing slash
14945 from make_system_path_relative_to_its_root() output.
14946
14947 * util/i386/pc/grub-install.in: Add trailing slash to output from
14948 make_system_path_relative_to_its_root().
14949
14950 2008-05-06 Robert Millan <rmh@aybabtu.com>
14951
14952 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14953 ensures that output lines aren't intermangled with those sent to
14954 stderr (via grub_util_info()).
14955 * util/grub-probe.c (grub_refresh): Likewise.
14956 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14957
14958 2008-05-05 Christian Franke <franke@computer.org>
14959
14960 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14961 Add Cygwin device names.
14962 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14963 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14964 (check_device): Return error instead of success on empty name.
14965 (make_device_map): Move label inside linux specific code to
14966 prevent compiler warning.
14967
14968 2008-04-30 Robert Millan <rmh@aybabtu.com>
14969
14970 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14971 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14972 first boot option.
14973 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14974
14975 2008-04-29 Robert Millan <rmh@aybabtu.com>
14976
14977 * docs/grub.cfg: New file (example GRUB configuration).
14978
14979 2008-04-26 Robert Millan <rmh@aybabtu.com>
14980
14981 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14982 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14983 and `disk/ieee1275/nand.c'.
14984
14985 2008-04-25 Bean <bean123ch@gmail.com>
14986
14987 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14988 i386-linuxbios.
14989
14990 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14991 change the buffer size to 4096 for cdrom device.
14992
14993 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14994 and nand.mod.
14995 (_linux_mod_SOURCES): New variable.
14996 (_linux_mod_CFLAGS): Likewise.
14997 (_linux_mod_LDFLAGS): Likewise.
14998 (linux_mod_SOURCES): Likewise.
14999 (linux_mod_CFLAGS): Likewise.
15000 (linux_mod_LDFLAGS): Likewise.
15001 (nand_mod_SOURCES): Likewise.
15002 (nand_mod_CFLAGS): Likewise.
15003 (nand_mod_LDFLAGS): Likewise.
15004
15005 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
15006 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
15007 type property. (nand device in olpc don't have this property)
15008
15009 * include/grub/disk.h (grub_disk_dev_id): New macro
15010 GRUB_DISK_DEVICE_NAND_ID.
15011
15012 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
15013 function prototype.
15014 (grub_rescue_cmd_initrd): Likewise.
15015
15016 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
15017 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
15018 ofw_cif_handler and ofw_idt, adjust padding number.
15019
15020 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
15021 GRUB_MACHINE_IEEE1275 is defined.
15022
15023 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
15024 Use NESTED_FUNC_ATTR attribute on the hook parameter.
15025
15026 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
15027 on nested function heap_init.
15028 (grub_upper_mem): New variable for i386-ieee1275.
15029 (grub_get_extended_memory): New function for i386-ieee1275.
15030 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
15031
15032 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
15033 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
15034 property.
15035
15036 * loader/i386/ieee1275/linux.c: New file.
15037
15038 * loader/i386/ieee1275/linux_normal.c: New file.
15039
15040 * disk/ieee1275/nand.c: New file.
15041
15042 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
15043
15044 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
15045 value.
15046 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
15047
15048 2008-04-18 Robert Millan <rmh@aybabtu.com>
15049
15050 Restructures early code path on ieee1275 to unify grub_main() as
15051 the first C function that is executed in every platform.
15052
15053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
15054 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
15055 cmain().
15056 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
15057 * kern/ieee1275/cmain.c (cmain): Rename to ...
15058 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
15059 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
15060 at the beginning.
15061
15062 2008-04-18 Robert Millan <rmh@aybabtu.com>
15063
15064 * util/update-grub.in: Fix syntax error when setting
15065 `GRUB_PRELOAD_MODULES'.
15066 Reported by Stephane Chazelas <stephane@artesyncp.com>
15067
15068 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
15069
15070 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
15071 section into account, newer toolchains generate unique build ids
15072 * configure.ac: remove the test for --build-id=none acceptance,
15073 we want build ids to be preserved
15074 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
15075 far from other sections don't cause the raw binary images grow
15076 size
15077
15078 2008-04-15 Robert Millan <rmh@aybabtu.com>
15079
15080 * disk/lvm.c: Update copyright year.
15081 * kern/misc.c: Likewise.
15082
15083 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15084
15085 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
15086 there is no memory left for physical volume name.
15087
15088 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15089
15090 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15091 volume name mapping to support bigger than 9 character names properly.
15092
15093 2008-04-13 Robert Millan <rmh@aybabtu.com>
15094
15095 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15096 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15097
15098 2008-04-13 Christian Franke <franke@computer.org>
15099
15100 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15101 to create a floppy emulation boot CD when non emulation mode
15102 does not work.
15103 Enable Joliet CD filesystem extension.
15104
15105 2008-04-13 Robert Millan <rmh@aybabtu.com>
15106
15107 * kern/misc.c (grub_strncat): Fix off-by-one error.
15108 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15109
15110 * kern/env.c (grub_env_context_close): Clear current context, not
15111 previous one.
15112 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15113
15114 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15115
15116 2008-04-13 Robert Millan <rmh@aybabtu.com>
15117
15118 Improve robustness when handling LVM.
15119
15120 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
15121 (and leave `*p' unmodified).
15122 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15123 through it.
15124 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15125 iterating through it.
15126 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15127 through it.
15128 (grub_lvm_scan_device): Check the return value (and fail gracefully
15129 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15130 Don't assume `vg->pvs != NULL' when iterating through it.
15131
15132 2008-04-13 Robert Millan <rmh@aybabtu.com>
15133
15134 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15135 * genmk.rb (partmap): New variable.
15136 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15137 (#{partmap}): New target rule.
15138 * genpartmaplist.sh: New file.
15139 * Makefile.in (pkglib_DATA): Add partmap.lst.
15140 (partmap.lst): New target rule.
15141 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15142 modules (including all partition maps), instead of preloading them.
15143
15144 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15145
15146 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15147 `linux-boot-prober' (if installed) to detect other operating
15148 systems which are installed on the computer and add them to
15149 the boot menu.
15150 * conf/common.rmk: Build and install 30_os-prober.
15151
15152 2008-04-12 Robert Millan <rmh@aybabtu.com>
15153
15154 * kern/powerpc/ieee1275/init.c: Move from here ...
15155 * kern/ieee1275/init.c: ... to here. Update all users.
15156
15157 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15158 * kern/ieee1275/cmain.c: ... to here. Update all users.
15159
15160 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15161 * kern/ieee1275/openfw.c: ... to here. Update all users.
15162
15163 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15164 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15165
15166 2008-04-10 Pavel Roskin <proski@gnu.org>
15167
15168 * configure.ac: Always use "_cv_" in cache variables for
15169 compatibility with Autoconf 2.62.
15170
15171 2008-04-07 Robert Millan <rmh@aybabtu.com>
15172
15173 Revert grub/machine/init.h addition by Pavel (since it breaks on
15174 i386-ieee1275 and others):
15175 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15176 * util/powerpc/ieee1275/misc.c: Likewise.
15177
15178 2008-04-07 Robert Millan <rmh@aybabtu.com>
15179
15180 * util/grub-probe.c (probe): Improve error message.
15181
15182 2008-04-07 Robert Millan <rmh@aybabtu.com>
15183
15184 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15185 (this prevents the presence of a bogus entry from ruining the whole
15186 thing).
15187
15188 2008-04-06 Pavel Roskin <proski@gnu.org>
15189
15190 * util/biosdisk.c: Include grub/util/biosdisk.h.
15191 * util/grub-fstest.c (execute_command): Make static.
15192 * util/grub-mkdevicemap.c (check_device): Likewise.
15193 * util/i386/pc/misc.c: Include grub/machine/init.h.
15194 * util/powerpc/ieee1275/misc.c: Likewise.
15195 * util/lvm.c: Include grub/util/lvm.h.
15196 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15197 grub/cache.h.
15198 * util/raid.c: Include grub/util/raid.h.
15199 (grub_util_getdiskname): Make static.
15200
15201 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15202 grub_hostfs_fini(), as they are called from grub_init_all() and
15203 grub_fini_all() respectively. This fixes an infinite loop in
15204 grub-fstest due to double registration of hostfs.
15205 Reported by Christian Franke <Christian.Franke@t-online.de>
15206
15207 2008-04-05 Pavel Roskin <proski@gnu.org>
15208
15209 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15210 all 8 functions. Otherwise, probe function 0 only.
15211
15212 2008-04-04 Pavel Roskin <proski@gnu.org>
15213
15214 * commands/lspci.c (grub_lspci_iter): Print the bus number
15215 correctly.
15216
15217 * commands/lspci.c (grub_pci_classes): Fix typos.
15218 (grub_lspci_iter): Don't print func twice. Print vendor ID
15219 before device ID, as it's normally done.
15220
15221 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15222 Fix signedness warnings.
15223 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15224 Likewise.
15225 * util/ieee1275/get_disk_name.c: Include config.h so that
15226 _GNU_SOURCE is defined and getline() is declared. Mark an
15227 unused argument as such. Fix a signedness warning.
15228
15229 2008-04-02 Pavel Roskin <proski@gnu.org>
15230
15231 * genkernsyms.sh.in: Use more robust assignments for CC and
15232 srcdir. Quote srcdir.
15233 * gensymlist.sh.in: Likewise. Assert at the compile time that
15234 the symbol table is not empty.
15235
15236 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15237 * fs/cpio.c (grub_cpio_read): Likewise.
15238
15239 2008-04-01 Pavel Roskin <proski@gnu.org>
15240
15241 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15242 * disk/host.c (grub_host_open): Likewise.
15243 * disk/loopback.c (grub_loopback_open): Likewise.
15244 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15245 disk->id as in disk/host.c, not a multi-character constant.
15246
15247 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15248 later is obsolete, potentially dangerous and sets a bad example.
15249 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15250 * util/misc.c (grub_util_get_image_size): Likewise.
15251
15252 * disk/loopback.c (options): Improve help for "--partitions".
15253
15254 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15255 options to align them with the short options, e.g. "echo -e".
15256
15257 2008-03-31 Bean <bean123ch@gmail.com>
15258
15259 * video/reader/png.c (grub_png_data): New member is_16bit and
15260 image_data.
15261 (grub_png_decode_image_header): Detect 16 bit png image.
15262 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15263 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15264 (grub_video_reader_png): Release memory occupied by image_data.
15265
15266 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15267 4096 bytes.
15268 (grub_nfs_mount): Skip the test for sector per cluster.
15269
15270 * include/grub/ntfs.h (MAX_SPC): Removed.
15271
15272 2008-03-31 Bean <bean123ch@gmail.com>
15273
15274 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15275 (grub_probe_SOURCES): Add fs/afs.c.
15276 (grub_fstest_SOURCES): Likewise.
15277 (afs_mod_SOURCES): New variable.
15278 (afs_mod_CFLAGS): Likewise.
15279 (afs_mod_LDFLAGS): Likewise.
15280
15281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15282 (grub_emu_SOURCES): Likewise.
15283
15284 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15285
15286 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15287
15288 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15289
15290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15291
15292 * fs/afs.c: New file.
15293
15294 2008-03-30 Pavel Roskin <proski@gnu.org>
15295
15296 * disk/host.c: Include grub/misc.h to fix a warning.
15297 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15298 warnings about implicit declarations.
15299
15300 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15301 variable.
15302 * include/grub/i386/loader.h: Change declaration of
15303 grub_linux_boot() to match what grub_loader_set() expects.
15304 * util/getroot.c (grub_guess_root_device): Return const char* to
15305 fix a warning.
15306 * util/grub-probe.c (probe): Fix a warning about uninitialized
15307 abstraction_name variable.
15308 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15309 second argument as unused to fix a warning.
15310
15311 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15312 missing grub_error() call.
15313
15314 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15315 2.60 and newer uses it to define datadir.
15316
15317 * commands/sleep.c: Fix warning about implicit declaration.
15318 * disk/memdisk.c: Likewise.
15319 * loader/aout.c: Likewise.
15320 * loader/i386/bsd_normal.c: Likewise.
15321 * util/grub-probe.c: Likewise.
15322
15323 * commands/i386/cpuid.c (has_longmode): Make static.
15324 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15325 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15326
15327 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15328 GDT. This is more robust, as %ds can change.
15329 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15330 calling real_to_prot().
15331 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15332
15333 2008-03-28 Pavel Roskin <proski@gnu.org>
15334
15335 * kern/i386/pc/startup.S: Assert that uncompressed functions
15336 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15337 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15338 code, as they push parts of the code (error handlers) beyond
15339 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15340 code as correctness and size.
15341
15342 2008-03-28 Pavel Roskin <proski@gnu.org>
15343
15344 * kern/i386/pc/startup.S
15345 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15346 data block address to the real mode, keep offset minimal. This
15347 works around a bug in AWARD BIOS on old Athlon systems, which
15348 makes CD detection hang.
15349
15350 2008-03-26 Pavel Roskin <proski@gnu.org>
15351
15352 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15353 const.
15354 * include/grub/normal.h: Add grub_parse_color_name_pair()
15355 declaration.
15356
15357 2008-03-24 Bean <bean123ch@gmail.com>
15358
15359 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15360 (cd_count): Removed.
15361 (cd_drive): New variable.
15362 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15363 (grub_biosdisk_call_hook): Likewise.
15364 (grub_biosdisk_iterate): Change cdrom detection method.
15365 (grub_biosdisk_open): Replace cd_start with cd_drive.
15366 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15367 detect cdrom device.
15368
15369 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15370 Removed.
15371 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15372 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15373 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15374 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15375 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15376 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15377 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15378 (grub_biosdisk_cdrp): New structure.
15379 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15380
15381 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15382
15383 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15384 device.
15385
15386 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15387 New function.
15388
15389 2008-03-20 Robert Millan <rmh@aybabtu.com>
15390
15391 Remove 2 TiB limit in ata.mod.
15392 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15393 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15394 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15395 grub_uint64_t instead of grub_uint32_t.
15396
15397 2008-03-05 Bean <bean123ch@gmail.com>
15398
15399 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15400 (grub_multiboot): Set boot device.
15401
15402 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15403
15404 2008-03-02 Bean <bean123ch@gmail.com>
15405
15406 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15407 symlink_buffer.
15408
15409 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15410
15411 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15412 texinfo.tex.
15413
15414 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15415 modified.
15416
15417 * docs/fdl.texi: New file.
15418
15419 * docs/mdate-sh: New file. Copied from gnulib.
15420 * docs/texinfo.tex: Likewise.
15421
15422 * config.guess: Updated from gnulib.
15423 * install-sh: Likewise.
15424
15425 2008-02-28 Robert Millan <rmh@aybabtu.com>
15426
15427 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15428 (aout_mod_SOURCES): New variable.
15429 (aout_mod_CFLAGS): Likewise.
15430 (aout_mod_LDFLAGS): Likewise.
15431
15432 * conf/i386-ieee1275.rmk: Likewise.
15433
15434 2008-02-28 Robert Millan <rmh@aybabtu.com>
15435
15436 * util/update-grub.in: Reorganise terminal validity check. Accept
15437 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15438 Based on suggestion by Franklin PIAT.
15439
15440 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15441
15442 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15443 function.
15444 * util/getroot.c (grub_util_check_block_device): New function that
15445 returns the given argument if it is a block device and returns NULL else.
15446 * util/grub-probe.c (argument_is_device): New variable.
15447 (probe): Promote device_name from a variable to an argument. Receive
15448 device_name from grub_util_check_block_device() if path is NULL and from
15449 grub_guess_root_device() else. Do not free() device_name anymore.
15450 (options): Introduce new parameter '-d, --device'.
15451 (main): Add description of the new parameter to the help screen.
15452 Rename path variable to argument. Set argument_is_device if the '-d'
15453 option is given. Pass argument to probe() depending on
15454 argument_is_device.
15455
15456 2008-02-24 Bean <bean123ch@gmail.com>
15457
15458 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15459 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15460 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15461 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15462 (GRUB_ISO9660_VOLDESC_END): Likewise.
15463 (grub_iso9660_primary_voldesc): New member escape.
15464 (grub_iso9660_data): New member joliet.
15465 (grub_iso9660_convert_string): New function.
15466 (grub_iso9660_mount): Detect joliet extension.
15467 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15468 (grub_iso9660_iso9660_label): Likewise.
15469
15470 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15471 (grub_setup_SOURCES): Add fs/udf.c.
15472 (grub_fstest_SOURCES): Likewise.
15473 (udf_mod_SOURCES): New variable.
15474 (udf_mod_CFLAGS): Likewise.
15475 (udf_mod_LDFLAGS): Likewise.
15476
15477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15478 (grub_emu_SOURCES): Likewise.
15479
15480 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15481
15482 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15483
15484 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15485
15486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15487
15488 * fs/udf.c: New file.
15489
15490 2008-02-24 Robert Millan <rmh@aybabtu.com>
15491
15492 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15493 (normal/lexer.c_DEPENDENCIES): New variables.
15494 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15495 (normal/lexer.c_DEPENDENCIES): Likewise.
15496 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15497 (normal/lexer.c_DEPENDENCIES): Likewise.
15498 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15499 (normal/lexer.c_DEPENDENCIES): Likewise.
15500 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15501 (normal/lexer.c_DEPENDENCIES): Likewise.
15502 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15503 (normal/lexer.c_DEPENDENCIES): Likewise.
15504
15505 2008-02-23 Robert Millan <rmh@aybabtu.com>
15506
15507 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15508 since they were intended to be in hex. This didn't break previously
15509 because of a bug in gpt_partition_map_iterate() (see below).
15510
15511 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15512 when checking the validity of GPT header.
15513 Remove `partno', since it always provides the same information as `i'.
15514
15515 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15516
15517 * include/grub/efi/time.h: Fix a wrong comment.
15518
15519 2008-02-19 Pavel Roskin <proski@gnu.org>
15520
15521 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15522 message.
15523
15524 2008-02-19 Bean <bean123ch@gmail.com>
15525
15526 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15527 (aout_mod_SOURCES): New variable.
15528 (aout_mod_CFLAGS): Likewise.
15529 (aout_mod_LDFLAGS): Likewise.
15530 (_bsd_mod_SOURCES): New variable.
15531 (_bsd_mod_CFLAGS): Likewise.
15532 (_bsd_mod_LDFLAGS): Likewise.
15533 (bsd_mod_SOURCES): New variable.
15534 (bsd_mod_CFLAGS): Likewise.
15535 (bsd_mod_LDFLAGS): Likewise.
15536
15537 * include/grub/aout.h: New file.
15538
15539 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15540
15541 * include/grub/i386/bsd.h: New file.
15542
15543 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15544 to make it public.
15545
15546 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15547 function is called, so that it's possible to change it inside the hook.
15548 (grub_elf64_load): Likewise.
15549 (grub_elf_file): Don't close the file if elf header is not found.
15550 (grub_elf_close): Close the file if grub_elf_file fails (The new
15551 grub_elf_file won't close it).
15552 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15553 (grub_elf64_size): Likewise.
15554
15555 * kern/i386/loader.S (grub_unix_real_boot): New function.
15556
15557 * loader/aout.c: New file.
15558
15559 * loader/i386/bsd.c: New file.
15560
15561 * loader/i386/bsd_normal.c: New file.
15562
15563 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15564
15565 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
15566 can test other formats.
15567
15568 2008-02-19 Robert Millan <rmh@aybabtu.com>
15569
15570 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15571 (grub_gpt_partition_type_empty): Redefine with macro from
15572 `<grub/gpt_partition.h>'.
15573 (gpt_partition_map_iterate): Adjust partition type comparison.
15574
15575 Export `entry' as partmap-specific `part.data' struct.
15576 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15577
15578 * include/grub/gpt_partition.h (grub_gpt_header)
15579 (grub_gpt_partentry): ... to here (new file).
15580
15581 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15582
15583 (grub_gpt_partition_type_bios_boot): New const variable, defined
15584 with macro from `<grub/gpt_partition.h>'.
15585
15586 (setup): Replace `first_start' with `embed_region', which keeps
15587 track of the embed region (and is partmap-agnostic).
15588
15589 Replace find_first_partition_start() with find_usable_region(),
15590 which finds a usable region for embedding using partmap-specific
15591 knowledge (supports PC/MSDOS and GPT).
15592
15593 Fix all assumptions that the embed region start at sector 1, using
15594 `embed_region.start' from now on. Similarly, use `embed_region.end'
15595 rather than `first_start' to calculate available size.
15596
15597 In grub_util_info() message, replace "into after the MBR" with an
15598 indication of the specific sector our embed region starts at.
15599
15600 2008-02-19 Robert Millan <rmh@aybabtu.com>
15601
15602 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15603 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15604 `commands/reboot.c'.
15605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15606 (halt_mod_SOURCES): Likewise.
15607 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15608 (halt_mod_SOURCES): Likewise.
15609
15610 2008-02-17 Christian Franke <franke@computer.org>
15611
15612 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15613
15614 2008-02-17 Robert Millan <rmh@aybabtu.com>
15615
15616 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15617 set `first_start' to 0 for non-PC/MSDOS partition maps.
15618
15619 2008-02-16 Robert Millan <rmh@aybabtu.com>
15620
15621 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15622 do not assume partition map is PC/MSDOS before performing checks that
15623 are specific to that layout.
15624
15625 2008-02-13 Robert Millan <rmh@aybabtu.com>
15626
15627 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15628 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15629 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15630
15631 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15632
15633 * configure.ac: Only a cosmetic change on the handling of
15634 -fno-stack-protector.
15635
15636 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
15637
15638 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15639 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15640 reboot.c.
15641 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15642 (halt_mod_SOURCES): New variable.
15643 (halt_mod_CFLAGS): Likewise.
15644 (halt_mod_LDFLAGS): Likewise.
15645 (reboot_mod_SOURCES): Likewise.
15646 (reboot_mod_CFLAGS): Likewise.
15647 (reboot_mod_LDFLAGS): Likewise.
15648
15649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15650 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15651 reboot.c.
15652 (halt_mod_SOURCES): Likewise.
15653 (reboot_mod_SOURCES): Likewise.
15654
15655 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15656 commands/i386/pc/reboot.c by commands/reboot.c.
15657 (reboot_mod_SOURCES): Likewise.
15658
15659 * commands/i386/pc/reboot.c: merge this file ...
15660
15661 * commands/ieee1275/reboot.c: ... and this file ...
15662
15663 * commands/reboot.c: ... to this file.
15664 Add some precompiler directive to include the correct header for
15665 each machine.
15666
15667 * commands/ieee1275/halt.c: move this file ...
15668
15669 * commands/halt.c: ... to here.
15670 Add some precompiler directive to include the correct header for
15671 each machine.
15672
15673 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15674 (grub_halt): Likewise.
15675
15676 * kern/efi/efi.c (grub_reboot): New function.
15677 (grub_halt): Likewise.
15678
15679 2008-02-12 Robert Millan <rmh@aybabtu.com>
15680
15681 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15682 /dev (like it is done for /dev/mapper). This doesn't provide support
15683 for EVMS, but at least it is now easy to identify the problem when it
15684 arises.
15685
15686 2008-02-11 Robert Millan <rmh@aybabtu.com>
15687
15688 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15689 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15690 comparing it with -1, not 0.
15691
15692 2008-02-10 Robert Millan <rmh@aybabtu.com>
15693
15694 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15695 `disk/lvm.c'.
15696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15697 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15698
15699 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15700 `disk/lvm.c' to the end of the list.
15701 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15702 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15703
15704 2008-02-10 Robert Millan <rmh@aybabtu.com>
15705
15706 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15707 grub_print_error() instead. This will let user know why we're entering
15708 rescue mode.
15709 Based on suggestions from Sam Morris.
15710
15711 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
15712
15713 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15714 on remaining N args, instead of "--" arg N times.
15715
15716 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15717
15718 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15719 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15720 pattern for unknown glyphs.
15721
15722 2008-02-09 Robert Millan <rmh@aybabtu.com>
15723
15724 * configure.ac: Probe for `help2man'.
15725 * Makefile.in (builddir): New variable.
15726 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15727 or otherwise add a few flags/options to it.
15728 (install-local): For every executable utility or script that is
15729 installed, invoke $(HELP2MAN) to install a manpage based on --help
15730 output.
15731
15732 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15733 that it doesn't prevent --help from working in build tree.
15734
15735 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15736 with `bug-grub@gnu.org'.
15737 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15738 * util/update-grub.in (usage): New function.
15739 Implement proper argument check, with support for --help and --version
15740 (as well as existing -y).
15741
15742 2008-02-09 Christian Franke <franke@computer.org>
15743
15744 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15745 avoid overwriting previous output.
15746 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15747
15748 2008-02-09 Robert Millan <rmh@aybabtu.com>
15749
15750 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15751 drawing the menu.
15752
15753 2008-02-09 Robert Millan <rmh@aybabtu.com>
15754
15755 * commands/sleep.c: New file.
15756 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15757 (sleep_mod_SOURCES): New variable.
15758 (sleep_mod_CFLAGS): Likewise.
15759 (sleep_mod_LDFLAGS): Likewise.
15760
15761 2008-02-09 Robert Millan <rmh@aybabtu.com>
15762
15763 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15764 situations in which we can deduce the RAID size and the superblock
15765 doesn't match it.
15766
15767 2008-02-09 Robert Millan <rmh@aybabtu.com>
15768
15769 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15770 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15771 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15772
15773 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15774 and return a grub_diskmemberlist_t composed of physical array members.
15775 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15776
15777 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15778 prototype.
15779 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15780 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15781 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15782
15783 * util/grub-probe.c (probe): Move partmap probing code from here ...
15784 (probe_partmap): ... to here.
15785 (probe): Use probe_partmap() once for the disk we're probing, and
15786 additionally, when such disk contains a memberlist() struct member,
15787 once for each disk that is contained in the structure returned by
15788 memberlist().
15789
15790 2008-02-09 Robert Millan <rmh@aybabtu.com>
15791
15792 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15793 environment variable to 'all' in order to obtain debug output from
15794 non-util/ code.
15795 * util/i386/pc/grub-setup.c (main): Likewise.
15796
15797 2008-02-08 Robert Millan <rmh@aybabtu.com>
15798
15799 * disk/raid.c (grub_raid_scan_device): Check for
15800 `array->device[sb.this_disk.number]' rather than for
15801 `array->device[sb.this_disk.number]->name', since the latter is not
15802 guaranteed to be accessible.
15803
15804 2008-02-08 Robert Millan <rmh@aybabtu.com>
15805
15806 * disk/raid.c: Update copyright.
15807 * fs/cpio.c: Likewise.
15808 * include/grub/raid.h: Likewise.
15809 * loader/i386/pc/multiboot.c: Likewise.
15810 * util/hostfs.c: Likewise.
15811
15812 2008-02-08 Robert Millan <rmh@aybabtu.com>
15813
15814 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15815 to a grub_disk_t array.
15816 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15817 `device[x]'.
15818 (grub_raid_scan_device): Replace `device[x].name' accesses with
15819 `device[x]->name'. Simplify initialization of `array->device[x]'.
15820
15821 2008-02-08 Robert Millan <rmh@aybabtu.com>
15822
15823 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15824 grub_dprintf() calls.
15825 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15826 error message.
15827
15828 2008-02-07 Christian Franke <franke@computer.org>
15829
15830 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15831 instead of fseek and ftell to support large files.
15832 (grub_hostfs_read): Likewise.
15833
15834 2008-02-07 Robert Millan <rmh@aybabtu.com>
15835
15836 Patch from Jeroen Dekkers.
15837 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
15838 failure, since successfully reading all array members might not be
15839 required.
15840
15841 2008-02-06 Robert Millan <rmh@aybabtu.com>
15842
15843 * util/grub-probe.c (probe): Simplify partmap probing (with the
15844 assumption that the first word up to the underscore equals to
15845 the module name).
15846
15847 2008-02-06 Christian Franke <franke@computer.org>
15848
15849 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15850 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15851 last block of a cpio or tar stream.
15852 Check for "TRAILER!!!" instead of any empty data
15853 block to detect last block of a cpio stream.
15854 (grub_cpio_dir): Fix constness of variable np.
15855 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15856 cpio or tar trailer is detected. This fixes a crash
15857 on open of a non existing file.
15858
15859 2008-02-05 Bean <bean123ch@gmail.com>
15860
15861 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15862 address of entry.
15863 (grub_multiboot_load_elf64): Likewise.
15864 (grub_multiboot): Initialize mbi structure.
15865
15866 * util/grub-fstest.c: Don't include unused header file script.h.
15867
15868 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
15869 of file.
15870 (grub_fstest_SOURCES): Likewise.
15871
15872 2008-02-05 Robert Millan <rmh@aybabtu.com>
15873
15874 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15875 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15876 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15877 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15878
15879 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15880 (translation_table): Replace hardcoded values with macros
15881 provided by `<grub/term.h>'.
15882
15883 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15884 (keyboard_map): Correct/add a few values, with macros provided
15885 by `<grub/term.h>'.
15886 (keyboard_map_shift): Zero values that don't differ from their
15887 `keyboard_map' equivalents.
15888 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15889 Discard the second scan code that is always sent by Caps lock.
15890 Only use `keyboard_map_shift' when it provides a non-zero value,
15891 otherwise fallback to `keyboard_map'.
15892
15893 2008-02-04 Bean <bean123ch@gmail.com>
15894
15895 * Makefile.in (enable_grub_fstest): New variable.
15896
15897 * conf/common.rmk (grub_fstest_init.lst): New rule.
15898 (grub_fstest_init.h): Likewise.
15899 (grub_fstest_init.c): Likewise.
15900 (util/grub-fstest.c_DEPENDENCIES): New variable.
15901 (grub_fstest_SOURCES): Likewise.
15902
15903 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15904
15905 * util/grub-fstest.c: New file.
15906
15907 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15908
15909 Make grub-setup handle a separate root device.
15910
15911 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15912 so that the root device can be compared with the destination
15913 device.
15914 When embedding the core image, if the root and destination devices
15915 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15916 0xFF.
15917 When not embedding, set ROOT_DRIVE to 0xFF.
15918
15919 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15920
15921 Add support for having a grub directory in a different drive. This
15922 is still only the data handling part.
15923
15924 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15925 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15926 (grub_root_drive): New variable.
15927
15928 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15929 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15930 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15931 as it was.
15932
15933 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15934
15935 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15936 macro.
15937 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15938
15939 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15940 is bogus, because PXE booting does not specify any drive
15941 correctly.
15942
15943 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15944 am not sure if this is really correct.
15945
15946 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15947 is always identical to the boot drive when booting from a CD.
15948
15949 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15950 longer.
15951 (root_drive): New variable.
15952 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15953 (setup_sectors): Push %dx right after popping it, because %dh will
15954 be modified later.
15955 (copy_buffer): Restore %dx.
15956
15957 2008-02-03 Robert Millan <rmh@aybabtu.com>
15958
15959 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15960 use `cdboot.img' for cdrom images.
15961
15962 2008-02-03 Robert Millan <rmh@aybabtu.com>
15963
15964 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15965 only setup gfxterm when `font' command has succeeded.
15966
15967 2008-02-03 Robert Millan <rmh@aybabtu.com>
15968
15969 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15970 (grub_rescue_cmd_multiboot_loader)
15971 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15972
15973 2008-02-03 Pavel Roskin <proski@gnu.org>
15974
15975 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
15976 %edx and %esi from stack only after grub_gate_a20() is called.
15977 grub_gate_a20() clobbers %edx.
15978
15979 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15980
15981 * configure.ac (AC_INIT): Bumped to 1.96.
15982
15983 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15984 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15985 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15986 video/readers/png.c.
15987
15988 2008-02-03 Bean <bean123ch@gmail.com>
15989
15990 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15991 (cdboot_img_SOURCES): New variable.
15992 (cdboot_img_ASFLAGS): New variable.
15993 (cdboot_img_LDFLAGS): New variable.
15994
15995 * boot/i386/pc/cdboot.S: New file.
15996
15997 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15998 (cd_count): Likewise.
15999 (grub_biosdisk_get_drive): Add support for cd device.
16000 (grub_biosdisk_call_hook): Likewise.
16001 (grub_biosdisk_iterate): Likewise.
16002 (grub_biosdisk_open): Likewise.
16003 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
16004 (grub_biosdisk_rw): Support reading from cd device.
16005 (GRUB_MOD_INIT): Iterate cd devices.
16006
16007 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
16008 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
16009 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
16010
16011 * kern/i386/pc/init.c (make_install_device): Check for cd device.
16012
16013 2008-02-02 Robert Millan <rmh@aybabtu.com>
16014
16015 * commands/read.c: New file.
16016 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
16017 (read_mod_SOURCES): New variable.
16018 (read_mod_CFLAGS): Likewise.
16019 (read_mod_LDFLAGS): Likewise.
16020
16021 2008-02-02 Robert Millan <rmh@aybabtu.com>
16022
16023 * normal/main.c (grub_normal_execute): Check for `menu->size' when
16024 determining whether menu has to be displayed.
16025
16026 2008-02-02 Marco Gerards <marco@gnu.org>
16027
16028 * bus/pci.c: New file.
16029
16030 * include/grub/pci.h: Likewise.
16031
16032 * include/grub/i386/pc/pci.h: Likewise.
16033
16034 * commands/lspci.c: Likewise.
16035
16036 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
16037 `lspci.mod'.
16038 (pci_mod_SOURCES): New variable.
16039 (pci_mod_CFLAGS): Likewise.
16040 (pci_mod_LDFLAGS): Likewise.
16041 (lspci_mod_SOURCES): Likewise.
16042 (lspci_mod_CFLAGS): Likewise.
16043 (lspci_mod_LDFLAGS): Likewise.
16044
16045 2008-02-02 Bean <bean123ch@gmail.com>
16046
16047 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
16048 (grub_ufs_get_file_block): Fix indirect block calculation problem.
16049
16050 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
16051 (grub_xfs_btree_node): New structure.
16052 (grub_xfs_btree_root): New structure.
16053 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
16054 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
16055 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16056 (GRUB_XFS_EXTENT_SIZE): Likewise.
16057 (grub_xfs_read_block): Support btree format type.
16058 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
16059 Use directory block as basic unit.
16060
16061 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
16062
16063 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
16064 __attribute__ ((__regparm__ (1))).
16065
16066 2008-02-01 Robert Millan <rmh@aybabtu.com>
16067
16068 Correct a mistake in previous commit.
16069
16070 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
16071 top.
16072 (normal/command.c_DEPENDENCIES): New variable.
16073
16074 2008-02-01 Robert Millan <rmh@aybabtu.com>
16075
16076 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16077 top.
16078 (normal/command.c_DEPENDENCIES): New variable.
16079 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16080 * conf/i386-ieee1275.rmk: Likewise.
16081 * conf/i386-linuxbios.rmk: Likewise.
16082 * conf/i386-pc.rmk: Likewise.
16083 * conf/sparc64-ieee1275.rmk: Likewise.
16084 * conf/powerpc-ieee1275.rmk: Likewise.
16085 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16086
16087 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16088
16089 2008-02-01 Robert Millan <rmh@aybabtu.com>
16090
16091 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16092 call at beginning of function.
16093
16094 2008-01-31 Pavel Roskin <proski@gnu.org>
16095
16096 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
16097 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16098 (grub_mkrescue_SOURCES): Likewise.
16099 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16100
16101 2008-01-30 Robert Millan <rmh@aybabtu.com>
16102
16103 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16104 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16105 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16106 (grub_probe_SOURCES): ... to here.
16107
16108 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16109 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16110 * conf/i386-ieee1275.rmk: Likewise.
16111 * conf/i386-linuxbios.rmk: Likewise.
16112 * conf/powerpc-ieee1275.rmk: Likewise.
16113
16114 2008-01-30 Tristan Gingold <gingold@free.fr>
16115
16116 * kern/rescue.c: Silently accept empty lines.
16117
16118 2008-01-29 Bean <bean123ch@gmail.com>
16119
16120 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16121 (real_code_2): Code cleanup and change comment style.
16122 (move_memory): Avoid using 32-bit address mode.
16123
16124 2008-01-29 Bean <bean123ch@gmail.com>
16125
16126 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16127 (png_mod_SOURCES): New variable.
16128 (png_mod_CFLAGS): Likewise.
16129 (png_mod_LDFLAGS): Likewise.
16130
16131 * video/readers/png.c: New file.
16132
16133 2008-01-28 Robert Millan <rmh@aybabtu.com>
16134
16135 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16136 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16137 `ifndef GRUB_MOD_GAP' hack.
16138 * util/elf/grub-mkimage.c (add_segments): Likewise.
16139
16140 2008-01-27 Robert Millan <rmh@aybabtu.com>
16141
16142 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16143 `GRUB_MOD_GAP' for platforms in which it's not defined.
16144 * util/elf/grub-mkimage.c (add_segments): Likewise.
16145
16146 2008-01-27 Robert Millan <rmh@aybabtu.com>
16147
16148 Get grub-emu to build again (including parallel builds).
16149
16150 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16151 Split into ...
16152 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16153 (normal/execute.c_DEPENDENCIES): ... this, ...
16154 (grub-emu_DEPENDENCIES): ... and this.
16155
16156 * conf/i386-efi.rmk: Likewise.
16157 * conf/i386-linuxbios.rmk: Likewise.
16158 * conf/i386-ieee1275.rmk: Likewise.
16159 * conf/powerpc-ieee1275.rmk: Likewise.
16160 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16161
16162 2008-01-27 Robert Millan <rmh@aybabtu.com>
16163
16164 * NEWS: Add a few items.
16165
16166 2008-01-27 Robert Millan <rmh@aybabtu.com>
16167
16168 Fix parallel builds with grub-emu. Based on earlier commit for
16169 grub-probe and grub-setup.
16170
16171 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16172 (util/grub-emu.c_DEPENDENCIES): ... this.
16173 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16174 (util/grub-emu.c_DEPENDENCIES): ... this.
16175 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16176 (util/grub-emu.c_DEPENDENCIES): ... this.
16177 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16178 (util/grub-emu.c_DEPENDENCIES): ... this.
16179 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16180 (util/grub-emu.c_DEPENDENCIES): ... this.
16181
16182 2008-01-27 Pavel Roskin <proski@gnu.org>
16183
16184 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16185 to create a gap between _end and the modules added to the image
16186 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16187 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16188 * util/elf/grub-mkimage.c (add_segments): Likewise.
16189
16190 2008-01-26 Pavel Roskin <proski@gnu.org>
16191
16192 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16193 just return an error.
16194
16195 2008-01-26 Bean <bean123ch@gmail.com>
16196
16197 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16198 (grub_reiserfs_get_item): Save offset of the next item.
16199 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16200
16201 2008-01-25 Robert Millan <rmh@aybabtu.com>
16202
16203 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16204 make all filesystem sources appear together (possibly fixing omissions
16205 while at it).
16206 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16207 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16208 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16210
16211 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16212 add `kern/file.c'.
16213 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16214 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16215 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16216 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16217
16218 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16219 (probe): Add a sanity check to make sure of our ability to read
16220 requested files when probing for filesystem type.
16221
16222 * genmk.rb: Update copyright year (2007).
16223
16224 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16225 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16226 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16227 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16228 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16229 : Remove function prototypes.
16230
16231 2008-01-25 Robert Millan <rmh@aybabtu.com>
16232
16233 Revert my previous commits (based on wrong assumption of how grub_errno
16234 works).
16235
16236 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
16237 * kern/file.c (grub_file_open): Likewise.
16238
16239 2008-01-24 Pavel Roskin <proski@gnu.org>
16240
16241 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16242 that hang if GRUB tries to setup colors.
16243 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16244 colors for firmwares that don't support it.
16245 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16246 Recognize Open Hack'Ware, set flags to work around its
16247 limitations.
16248
16249 2008-01-24 Robert Millan <rmh@aybabtu.com>
16250
16251 * kern/file.c (grub_file_open): Do not account previous failures of
16252 unrelated functions when grub_errno is checked for.
16253 Reported by Oleg Strikov.
16254
16255 2008-01-24 Bean <bean123ch@gmail.com>
16256
16257 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16258 (grub_ufs_sblock): New member volume name.
16259 (grub_ufs_find_file): Fix string copy bug.
16260 (grub_ufs_label): Implement this function properly.
16261
16262 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16263 (grub_hfs_iterate_records): Use the correct file number for extents
16264 and catalog file. Fix problem in next index calculation.
16265 (grub_hfs_find_node): Replace recursive function call with loop.
16266 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16267
16268 2008-01-23 Robert Millan <rmh@aybabtu.com>
16269
16270 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16271 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16272 (grub_multiboot2_real_boot): New function prototype.
16273
16274 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16275 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16276
16277 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16278 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16279
16280 2008-01-23 Robert Millan <rmh@aybabtu.com>
16281
16282 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16283 #ifdef'ed out grub_printf().
16284
16285 2008-01-23 Robert Millan <rmh@aybabtu.com>
16286
16287 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16288 grub_dprintf calls, since they make "debug=all" mode unusable.
16289 (grub_console_checkkey): Likewise.
16290
16291 2008-01-23 Robert Millan <rmh@aybabtu.com>
16292
16293 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16294 `term/i386/pc/at_keyboard.c'.
16295 (pkglib_MODULES): Add `serial.mod'.
16296 (serial_mod_SOURCES): New variable.
16297 (serial_mod_CFLAGS): Likewise.
16298 (serial_mod_LDFLAGS): Likewise.
16299
16300 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16301 `<grub/powerpc/ieee1275/console.h>'.
16302 (grub_keyboard_controller_init): New function prototype.
16303 (grub_console_checkkey): Likewise.
16304 (grub_console_getkey): Likewise.
16305
16306 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16307 keyboard on i386.
16308
16309 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16310 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16311
16312 2008-01-23 Robert Millan <rmh@aybabtu.com>
16313
16314 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16315 present, "(memdisk)/boot/grub" becomes the default prefix.
16316
16317 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16318 a memdisk tarball with all the modules. Add --overlay=DIR option that
16319 allows users to overlay additional files into the image.
16320
16321 2008-01-23 Robert Millan <rmh@aybabtu.com>
16322
16323 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16324 and `machine/memory.h'.
16325 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16326 (_multiboot_mod_SOURCES): New variable.
16327 (_multiboot_mod_CFLAGS): Likewise.
16328 (_multiboot_mod_LDFLAGS): Likewise.
16329 (multiboot_mod_SOURCES): Likewise.
16330 (multiboot_mod_CFLAGS): Likewise.
16331 (multiboot_mod_LDFLAGS): Likewise.
16332
16333 * include/grub/i386/ieee1275/loader.h: New file.
16334
16335 * include/grub/i386/ieee1275/machine.h: Likewise.
16336
16337 * include/grub/i386/ieee1275/memory.h: Likewise.
16338
16339 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16340 variable declaration.
16341 (grub_os_area_size): Likewise.
16342
16343 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16344 (grub_lower_mem, grub_upper_mem): New variables.
16345 (grub_stop_floppy): New function (just to make
16346 grub_multiboot2_real_boot() happy).
16347
16348 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16349 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16350 (grub_stop): New function.
16351 Include `"../realmode.S"' and `"../loader.S"'.
16352
16353 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16354 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16355
16356 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16357 rely on grub_multiboot2_real_boot() for final boot.
16358
16359 2008-01-22 Robert Millan <rmh@aybabtu.com>
16360
16361 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16362 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16363 device that doesn't look like an SD card.
16364 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16365 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16366 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16367 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16368 found.
16369
16370 2008-01-22 Robert Millan <rmh@aybabtu.com>
16371
16372 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16373 avoid claiming over our own code.
16374
16375 2008-01-22 Bean <bean123ch@gmail.com>
16376
16377 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16378 (jpeg_mod_SOURCES): New variable.
16379 (jpeg_mod_CFLAGS): Likewise.
16380 (jpeg_mod_LDFLAGS): Likewise.
16381
16382 * video/readers/jpeg.c : New file.
16383
16384 2008-01-22 Bean <bean123ch@gmail.com>
16385
16386 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16387 there are no more items.
16388
16389 2008-01-21 Robert Millan <rmh@aybabtu.com>
16390
16391 * kern/mm.c (grub_mm_init_region): Improve debug message.
16392
16393 2008-01-21 Robert Millan <rmh@aybabtu.com>
16394
16395 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16396 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16397 address.
16398 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16399 a C macro.
16400 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16401 Indicates start of upper memory.
16402 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16403 (generate_image): Abort when image size is big enough to corrupt
16404 upper memory.
16405
16406 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16407 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16408 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16409 instead of hardcoding 0xA0000.
16410 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16411 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16412 instead of hardcoding 0xA0000.
16413
16414 2008-01-21 Robert Millan <rmh@aybabtu.com>
16415
16416 * disk/memdisk.c (memdisk_size): New variable.
16417 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16418 `memdisk_size'.
16419 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16420 image to dynamic memory.
16421 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16422 `memdisk_size'. Free memdisk block.
16423
16424 2008-01-21 Robert Millan <rmh@aybabtu.com>
16425
16426 Fix detection of very small filesystems (like tar).
16427
16428 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16429 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16430 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16431 a problem with this disk).
16432
16433 2008-01-21 Robert Millan <rmh@aybabtu.com>
16434
16435 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16436 on grub_biosdisk_rw_standard() error.
16437
16438 2008-01-21 Robert Millan <rmh@aybabtu.com>
16439
16440 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16441 recent changes.
16442 * kern/elf.c: Likewise.
16443 * kern/ieee1275/ieee1275.c: Likewise.
16444 * kern/powerpc/ieee1275/openfw.c: Likewise.
16445 * term/ieee1275/ofconsole.c: Likewise.
16446
16447 2008-01-21 Robert Millan <rmh@aybabtu.com>
16448
16449 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16450
16451 * include/grub/kernel.h (grub_arch_memdisk_addr)
16452 (grub_arch_memdisk_size): Moved from here ...
16453
16454 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16455 (grub_arch_memdisk_size): ... to here.
16456
16457 2008-01-21 Robert Millan <rmh@aybabtu.com>
16458
16459 Mostly based on bugfix from Bean.
16460
16461 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16462 attribute with hook() parameter.
16463 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16464 declaration.
16465 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16466 attribute with hook() parameter.
16467 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16468 declaration.
16469
16470 2008-01-21 Robert Millan <rmh@aybabtu.com>
16471
16472 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16473 (pkglib_MODULES): Add `memdisk.mod'.
16474 (memdisk_mod_SOURCES): New variable.
16475 (memdisk_mod_CFLAGS): Likewise.
16476 (memdisk_mod_LDFLAGS): Likewise.
16477
16478 * disk/memdisk.c: New file.
16479
16480 * include/grub/disk.h (grub_disk_dev_id): Add
16481 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16482
16483 * include/grub/i386/pc/kernel.h
16484 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16485 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16486 (grub_kernel_image_size): New variable declaration.
16487 (grub_total_module_size): Likewise.
16488 (grub_memdisk_image_size): Likewise.
16489
16490 * include/grub/i386/pc/memory.h
16491 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16492
16493 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16494 (grub_arch_memdisk_addr): New variable declaration.
16495 (grub_arch_memdisk_size): Likewise.
16496
16497 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16498 (grub_arch_memdisk_size): Likewise.
16499
16500 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16501 (codestart): Replace hardcoded `0x100000' with
16502 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16503
16504 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16505 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16506 not NULL, append the contents of the file it refers to, at the end of
16507 the compressed kernel image. Initialize `grub_memdisk_image_size'
16508 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16509 (options): Add "memdisk"|'m' option.
16510 (main): Parse --memdisk|-m option, and pass user-provided path as
16511 parameter to generate_image().
16512
16513 2008-01-20 Robert Millan <rmh@aybabtu.com>
16514
16515 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16516 grub_dprintf() calls from here ...
16517 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16518
16519 2008-01-20 Robert Millan <rmh@aybabtu.com>
16520
16521 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16522
16523 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16524 declaration.
16525 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16526 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16527 `GRUB_IEEE1275_FLAG_REAL_MODE'.
16528 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
16529 property).
16530 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16531 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16532
16533 2008-01-19 Robert Millan <rmh@aybabtu.com>
16534
16535 Get rid of confusing function (superseded by
16536 `grub_ieee1275_get_integer_property')
16537 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16538 prototype.
16539 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16540 function.
16541 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16542 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
16543 in native endianness from grub_ieee1275_get_integer_property().
16544
16545 2008-01-19 Robert Millan <rmh@aybabtu.com>
16546
16547 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16548 command after "shut-down", since implementations differ on which
16549 the command for halt is.
16550
16551 2008-01-19 Robert Millan <rmh@aybabtu.com>
16552
16553 * include/grub/i386/linuxbios/console.h: Add header protection.
16554 (grub_keyboard_controller_init): New function prototype.
16555 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16556 (KEYBOARD_COMMAND_READ): Likewise.
16557 (KEYBOARD_COMMAND_WRITE): Likewise.
16558 (KEYBOARD_SCANCODE_SET1): Likewise.
16559 (grub_keyboard_controller_write): New function.
16560 (grub_keyboard_controller_read): Likewise.
16561 (grub_keyboard_controller_init): Likewise.
16562
16563 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16564 (grub_console_init): On coreboot/LinuxBIOS, call
16565 grub_keyboard_controller_init().
16566
16567 2008-01-19 Robert Millan <rmh@aybabtu.com>
16568
16569 PowerPC changes provided by Pavel Roskin.
16570
16571 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16572 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16573 don't rely on cmain() doing it.
16574 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16575 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16576
16577 2008-01-16 Robert Millan <rmh@aybabtu.com>
16578
16579 * include/grub/i386/linuxbios/memory.h
16580 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16581 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16582 receive `table_header' as argument. Instead, probe for it in the
16583 known memory ranges where it can be present.
16584 (grub_available_iterate): Do not pass a fixed `table_header' address
16585 to grub_linuxbios_table_iterate().
16586
16587 2008-01-15 Robert Millan <rmh@aybabtu.com>
16588
16589 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16590 * conf/i386-ieee1275.rmk: New file.
16591 * include/grub/i386/ieee1275/console.h: Likewise.
16592 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16593 * include/grub/i386/ieee1275/kernel.h: Likewise.
16594 * include/grub/i386/ieee1275/time.h: Likewise.
16595 * kern/i386/ieee1275/init.c: Likewise.
16596 * kern/i386/ieee1275/startup.S: Likewise.
16597
16598 2008-01-15 Robert Millan <rmh@aybabtu.com>
16599
16600 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16601 when pointers are 32-bit (but still do set it to one when they are
16602 64-bit).
16603
16604 2008-01-15 Robert Millan <rmh@aybabtu.com>
16605
16606 * include/grub/ieee1275/ieee1275.h
16607 (grub_ieee1275_get_integer_property): New function prototype.
16608
16609 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16610 (grub_ieee1275_get_integer_property): New function. Wraps around
16611 grub_ieee1275_get_property() to handle endianness.
16612
16613 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16614 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
16615 where appropriate.
16616 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16617 (grub_map): Likewise.
16618 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16619
16620 2008-01-15 Bean <bean123ch@gmail.com>
16621
16622 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16623 (grub_script_execute_cmdline): Reset grub_errno.
16624
16625 * normal/main.c (read_config_file): Reset grub_errno.
16626
16627 * normal/parse.y (script_init): New.
16628 (script): Move function and menuentry here.
16629 (delimiter): New.
16630 (command): Add delimiter at the end of command.
16631 (commands): Adjust to match the new command.
16632 (commandblock): Remove grub_script_lexer_record_start.
16633 (menuentry): Add grub_script_lexer_record_start, use the new commands.
16634 (if): Use the new commands.
16635
16636 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16637
16638 2008-01-15 Robert Millan <rmh@aybabtu.com>
16639
16640 * normal/menu.c (run_menu): Move timeout message from here ...
16641 (print_timeout): ... to here.
16642 (run_menu): Use print_timeout() once during initial draw to print
16643 the whole message, and again in every clock tick to update only
16644 the number of seconds.
16645
16646 2008-01-15 Robert Millan <rmh@aybabtu.com>
16647
16648 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16649 actual size of `available' from grub_ieee1275_get_property(), and
16650 restrict parsing to that bound.
16651
16652 2008-01-15 Christian Franke <franke@computer.org>
16653
16654 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16655 (argp_program_version): Remove variable.
16656 (argp_program_bug_address): Likewise.
16657 (options): Convert from struct argp_option to struct option.
16658 (struct arguments): Remove.
16659 (parse_opt): Remove.
16660 (usage): New function.
16661 (main): Replace struct args members by simple variables.
16662 Replace argp_parse() by getopt_long().
16663 Add switch to evaluate options.
16664 Add missing "(...)" around root_dev in prefix string.
16665
16666 2008-01-14 Robert Millan <rmh@aybabtu.com>
16667
16668 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16669 for grub_ieee1275_exit(), in order to improve portability.
16670
16671 2008-01-14 Robert Millan <rmh@aybabtu.com>
16672
16673 * util/grub.d/10_linux.in (prefix): Define.
16674 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16675
16676 2008-01-13 Pavel Roskin <proski@gnu.org>
16677
16678 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16679 grub_errno if no errors have been detected.
16680
16681 2008-01-12 Robert Millan <rmh@aybabtu.com>
16682
16683 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16684 (grub_util_get_dev_abstraction): New function prototype.
16685
16686 * util/getroot.c: Include `<grub/util/getroot.h>'
16687 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16688 (grub_util_get_dev_abstraction): ... here (new function).
16689
16690 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16691 `PRINT_ABSTRACTION'.
16692 (probe): Probe for abstraction type when requested.
16693 (main): Understand `--target=abstraction'.
16694
16695 * util/i386/efi/grub-install.in: Add abstraction module to core
16696 image when it is found to be necessary.
16697 * util/i386/pc/grub-install.in: Likewise.
16698 * util/powerpc/ieee1275/grub-install.in: Likewise.
16699
16700 * util/update-grub_lib.in (font_path): Return system path without
16701 converting to GRUB path.
16702 * util/update-grub.in: Convert system path returned by font_path()
16703 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16704 abstraction module is needed for loading fonts (if any). Export
16705 that as `GRUB_PRELOAD_MODULES'.
16706 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16707 insmod commands).
16708
16709 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16710
16711 Remove some unused code from reiserfs.
16712
16713 * fs/reiserfs.c (struct grub_reiserfs_key)
16714 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16715 (struct grub_reiserfs_node_body): Removed.
16716 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16717 Likewise.
16718 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16719 Likewise.
16720 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16721 Likewise.
16722 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16723 Likewise.
16724 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16725 Likewise.
16726 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16727 Likewise.
16728 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16729 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16730 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16731
16732 2008-01-10 Robert Millan <rmh@aybabtu.com>
16733
16734 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16735 Determines if a file is garbage left by packaging systems, etc.
16736 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16737 for processing /etc/grub.d scripts.
16738 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16739 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16740 as a condition for processing Linux images.
16741
16742 2008-01-10 Pavel Roskin <proski@gnu.org>
16743
16744 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16745 to compile reiserfs.c on PowerPC.
16746
16747 2008-01-10 Robert Millan <rmh@aybabtu.com>
16748
16749 * kern/device.c (grub_device_iterate): Do not abort device iteration
16750 when one of the devices cannot be opened.
16751 * kern/disk.c (grub_disk_open): Do not account previous failures of
16752 unrelated functions when grub_errno is checked for.
16753
16754 2008-01-08 Robert Millan <rmh@aybabtu.com>
16755
16756 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16757 `! grub_linux_is_bzimage', change order of address comparison to make
16758 it more intuitive, and improve "too big zImage" error message.
16759
16760 2008-01-08 Robert Millan <rmh@aybabtu.com>
16761
16762 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16763 `$(update-grub_DATA)'.
16764 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16765 targets.
16766
16767 2008-01-07 Robert Millan <rmh@aybabtu.com>
16768
16769 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16770 which instruction is modified by grub-setup during installation
16771 (since it wasn't obvious by only looking at this file).
16772
16773 2008-01-07 Robert Millan <rmh@aybabtu.com>
16774
16775 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16776 listing actual TODO items.
16777
16778 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16779
16780 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16781 correctly.
16782 (grub_reiserfs_get_key_offset): Likewise.
16783 (grub_reiserfs_set_key_offset): Likewise.
16784 (grub_reiserfs_set_key_type): Likewise.
16785 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
16786
16787 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16788 better to remove the bitfield version completely.
16789
16790 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16791
16792 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16793 allocated from the heap, due to the fshelp implementation.
16794 (grub_reiserfs_dir): Free NODE, due to the same reason.
16795
16796 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16797
16798 Mostly from Vincent Pelletier:
16799
16800 * fs/reiserfs.c: New file.
16801
16802 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16803 (reiserfs_mod_SOURCES): New variable.
16804 (reiserfs_mod_CFLAGS): Likewise.
16805 (reiserfs_mod_LDFLAGS): Likewise.
16806
16807 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16808 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16809 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16810 normal/color.c.
16811
16812 2008-01-06 Robert Millan <rmh@aybabtu.com>
16813
16814 * normal/color.c: Remove `<grub/env.h>'.
16815
16816 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16817
16818 * include/grub/normal.h: Include <grub/env.h>.
16819
16820 2008-01-05 Robert Millan <rmh@aybabtu.com>
16821
16822 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16823 usage example with `(hd0,1)'.
16824 Reported by Samuel Thibault.
16825
16826 2008-01-05 Robert Millan <rmh@aybabtu.com>
16827
16828 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16829 (grub_linux_boot_zimage): Rename to ...
16830 (grub_linux_boot): ... this.
16831 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16832 (grub_linux_boot_zimage): Conditionalize zImage copy.
16833
16834 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16835 (grub_linux_boot_bzimage): Remove prototype.
16836 (grub_linux_boot_zimage): Rename to ...
16837 (grub_linux_boot): ... this.
16838
16839 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16840 (grub_linux_boot): Remove function.
16841
16842 2008-01-05 Robert Millan <rmh@aybabtu.com>
16843
16844 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16845 (grub_env_write_color_highlight): Likewise.
16846 (grub_wait_after_message): Likewise.
16847
16848 * normal/color.c: New file.
16849
16850 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16851 (normal_mod_DEPENDENCIES): Likewise.
16852
16853 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16854 (normal_mod_DEPENDENCIES): Likewise.
16855
16856 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16857 (normal_mod_DEPENDENCIES): Likewise.
16858
16859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16860 (normal_mod_DEPENDENCIES): Likewise.
16861
16862 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16863 for waiting after a message is printed.
16864 * normal/main.c (read_config_file): Likewise.
16865 (grub_normal_init): Register grub_env_write_color_normal() and
16866 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16867 `color_highlight' variables as global.
16868
16869 * normal/menu.c (grub_wait_after_message): New function.
16870 (grub_color_menu_normal): New variable. Replaces ...
16871 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16872 (grub_color_menu_highlight): New variable. Replaces ...
16873 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16874 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16875 `GRUB_TERM_COLOR_STANDARD'.
16876 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16877 `normal_code' and `highlight_code' to `old_color_normal' and
16878 `old_color_highlight', respectively.
16879 (grub_menu_init_page): Update colors when drawing the menu, based on
16880 `menu_color_normal' and `menu_color_highlight' variables.
16881 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16882 a message is printed.
16883
16884 2008-01-05 Robert Millan <rmh@aybabtu.com>
16885
16886 * kern/env.c (grub_env_context_open): Propagate hooks for global
16887 variables to new context.
16888
16889 * kern/main.c (grub_set_root_dev): Export `root' variable.
16890
16891 2008-01-05 Robert Millan <rmh@aybabtu.com>
16892
16893 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
16894 discs unconditionally, since udev and others have options to provide
16895 them.
16896
16897 2008-01-05 Robert Millan <rmh@aybabtu.com>
16898
16899 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16900
16901 2008-01-04 Christian Franke <franke@computer.org>
16902
16903 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16904 of eisa_mmap.
16905
16906 2008-01-03 Pavel Roskin <proski@gnu.org>
16907
16908 * kern/i386/linuxbios/init.c: Put "void" to all function
16909 declarations with no arguments.
16910 * kern/powerpc/ieee1275/init.c: Likewise.
16911 * term/i386/pc/at_keyboard.c: Likewise.
16912 * term/i386/pc/vga_text.c: Likewise.
16913 * util/grub-mkdevicemap.c: Likewise.
16914
16915 2008-01-02 Robert Millan <rmh@aybabtu.com>
16916
16917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16918 message when loaded image is out of bounds.
16919 (grub_multiboot_load_elf64): Likewise.
16920
16921 2008-01-02 Pavel Roskin <proski@gnu.org>
16922
16923 * util/grub.d/10_linux.in: Try version without ".old" when
16924 looking for initrd. It's better to use initrd from the newer
16925 kernel of the same version than no initrd at all.
16926
16927 2008-01-01 Robert Millan <rmh@aybabtu.com>
16928
16929 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16930
16931 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16932
16933 * include/grub/video.h: Added grub_video_unmap_color and
16934 grub_video_get_active_render_target.
16935 (grub_video_adapter): Added unmap_color and get_active_render_target.
16936
16937 * video/video.c: Added grub_video_unmap_color and
16938 grub_video_get_active_render_target.
16939 (grub_video_get_info): Changed method to accept NULL pointer as an
16940 argument to allow detection of active video adapter.
16941
16942 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16943 grub_video_vbe_unmap_color_int.
16944 Added grub_video_vbe_unmap_color and
16945 grub_video_vbe_get_active_render_target.
16946 (grub_video_vbe_adapter): Added unmap_color and
16947 get_active_render_target.
16948
16949 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
16950 with grub_video_vbe_unmap_color_int.
16951
16952 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16953 (DEFAULT_NORMAL_COLOR): Likewise.
16954 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16955 (DEFAULT_FG_COLOR): Removed.
16956 (DEFAULT_BG_COLOR): Likewise.
16957 (DEFAULT_CURSOR_COLOR): Changed value.
16958 (grub_virtual_screen): Added standard_color_setting,
16959 normal_color_setting, highlight_color_setting and term_color.
16960 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16961 (bitmap_width): Added.
16962 (bitmap_height): Likewise.
16963 (bitmap): Likewise.
16964 (set_term_color): Likewise.
16965 (grub_virtual_screen_setup): Changed to use new terminal coloring
16966 settings.
16967 (grub_gfxterm_init): Added init for bitmap.
16968 (grub_gfxterm_fini): Added destroy for bitmap.
16969 (redraw_screen_rect): Updated to use background bitmap and new
16970 terminal coloring.
16971 (scroll_up): Added optimization for case when there is no bitmap.
16972 (grub_gfxterm_cls): Fixed to use correct background color.
16973 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16974 coloring.
16975 (grub_virtual_screen_setcolor): Likewise.
16976 (grub_virtual_screen_getcolor): Added.
16977 (grub_gfxterm_background_image_cmd): Likewise.
16978 (grub_video_term): Added setcolor and getcolor.
16979 (MOD_INIT): Added registration of background_image command.
16980 (MOD_TERM): Added unregistration for background_image command.
16981
16982 2007-12-30 Pavel Roskin <proski@gnu.org>
16983
16984 * loader/multiboot_loader.c: Fix multiboot command
16985 unregistration. Fix all typos in the word "multiboot".
16986
16987 2007-12-29 Pavel Roskin <proski@gnu.org>
16988
16989 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16990 support for initrd names used in Fedora.
16991
16992 2007-12-26 Bean <bean123ch@gmail.com>
16993
16994 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16995 (cpio_mod_SOURCES): New variable.
16996 (cpio_mod_CFLAGS): Likewise.
16997 (cpio_mod_LDFLAGS): Likewise.
16998
16999 * fs/cpio.c: New file.
17000
17001 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
17002
17003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17004
17005 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17006
17007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17008
17009 2007-12-25 Robert Millan <rmh@aybabtu.com>
17010
17011 * include/grub/term.h (struct grub_term): Add `getcolor' function.
17012 (grub_getcolor): New function.
17013
17014 * kern/term.c (grub_getcolor): New function.
17015 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
17016 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
17017 (print_entry): Set normal and highlight colors to
17018 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
17019 respectively, before printing and restore them to old
17020 values afterwards.
17021 (grub_menu_init_page): Likewise. Fill an additional colored space
17022 that would otherwise be left blank.
17023
17024 * term/efi/console.c (grub_console_getcolor): New function.
17025 (struct grub_console_term.getcolor): New variable.
17026 * term/i386/pc/console.c (grub_console_getcolor): New function.
17027 (struct grub_console_term.getcolor): New variable.
17028 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
17029 (struct grub_console_term.getcolor): New variable.
17030
17031 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
17032 (struct grub_console_term.setcolor): Remove variable.
17033 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
17034 (struct grub_console_term.setcolor): Remove variable.
17035 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
17036 (struct grub_console_term.setcolor): Remove variable.
17037 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
17038 (struct grub_console_term.setcolor): Remove variable.
17039
17040 2007-12-25 Robert Millan <rmh@aybabtu.com>
17041
17042 * configure.ac: Search for possible unifont.hex locations, and
17043 define UNIFONT_HEX if found.
17044
17045 * Makefile.in (UNIFONT_HEX): Define variable.
17046 (DATA): Rename to ...
17047 (PKGLIB): ... this. Update all users.
17048 (PKGDATA): New variable.
17049 (pkgdata_IMAGES): Rename to ...
17050 (pkglib_IMAGES): ... this. Update all users.
17051 (pkgdata_MODULES): Rename to ...
17052 (pkglib_MODULES): ... this. Update all users.
17053 (pkgdata_PROGRAMS): Rename to ...
17054 (pkglib_PROGRAMS): ... this. Update all users.
17055 (pkgdata_DATA): Rename to ...
17056 (pkglib_DATA): ... this. Update all users.
17057 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
17058 (unicode.pff, ascii.pff): New rules.
17059 (all-local): Add `$(PKGDATA)' dependency.
17060 (install-local): Process `$(PKGDATA)'.
17061
17062 * util/update-grub_lib.in (font_path): Search for *.pff files in
17063 a few more locations, including `${pkgdata}'.
17064
17065 2007-12-23 Robert Millan <rmh@aybabtu.com>
17066
17067 Patch from Bean <bean123ch@gmail.com>:
17068 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
17069 `size'.
17070
17071 2007-12-21 Bean <bean123ch@gmail.com>
17072
17073 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
17074 (ntfscomp_mod_SOURCES): New variable.
17075 (ntfscomp_mod_CFLAGS): Likewise.
17076 (ntfscomp_mod_LDFLAGS): Likewise.
17077
17078 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17079 (grub_probe_SOURCES): Likewise.
17080 (grub_emu_SOURCES): Likewise.
17081
17082 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17083 (grub_emu_SOURCES): Likewise.
17084
17085 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17086 (grub_emu_SOURCES): Likewise.
17087
17088 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17089 (grub_emu_SOURCES): Likewise.
17090
17091 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17092 (read_run_list): Renamed to grub_ntfs_read_run_list.
17093 (decomp_nextvcn): Moved to ntfscomp.c.
17094 (decomp_getch): Likewise.
17095 (decomp_get16): Likewise.
17096 (decomp_block): Likewise.
17097 (read_block): Likewise.
17098 (read_data): Partially moved to ntfscomp.c.
17099 (fixup): Change unsigned to grub_uint16_t.
17100 (read_mft): Change unsigned long to grub_uint32_t.
17101 (read_attr): Likewise.
17102 (read_data): Likewise.
17103 (read_run_data): Likewise.
17104 (read_run_list): Likewise.
17105 (read_mft): Likewise.
17106
17107 * fs/ntfscomp.c: New file.
17108
17109 * include/grub/ntfs.h: New file.
17110
17111 2007-12-16 Robert Millan <rmh@aybabtu.com>
17112
17113 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17114 IDE disk check, since Linux is known to support 20 IDE disks.
17115 Reported by Colin Watson.
17116
17117 2007-12-15 Bean <bean123ch@gmail.com>
17118
17119 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17120 (lnxboot_img_SOURCES): New variable.
17121 (lnxboot_img_ASFLAGS): Likewise.
17122 (lnxboot_img_LDFLAGS): Likewise.
17123
17124 * boot/i386/pc/lnxboot.S: New file.
17125
17126 2007-11-24 Pavel Roskin <proski@gnu.org>
17127
17128 * configure.ac: Test if '--build-id=none' is supported by the
17129 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17130 objcopy to generate incorrect binary files (binutils
17131 2.17.50.0.18-1 as shipped by Fedora 8).
17132 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17133 linking, so that build ID doesn't break the test.
17134
17135 2007-11-24 Pavel Roskin <proski@gnu.org>
17136
17137 * include/grub/i386/time.h: use "void" in the argument list
17138 of grub_cpu_idle().
17139 * include/grub/powerpc/time.h: Likewise.
17140 * include/grub/sparc64/time.h: Likewise.
17141
17142 2007-11-18 Christian Franke <franke@computer.org>
17143
17144 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17145 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17146 This fixes the problem that function keys did not work in grub-emu.
17147
17148 2007-11-18 Christian Franke <franke@computer.org>
17149
17150 * disk/host.c (grub_host_open): Remove attribute unused from
17151 name parameter. Add check for "host". This fixes the problem
17152 that grub-emu does not find partitions.
17153
17154 2007-11-18 Christian Franke <franke@computer.org>
17155
17156 * util/hostfs.c (is_dir): New function.
17157 (grub_hostfs_dir): Handle missing dirent.d_type case.
17158 (grub_hostfs_read): Add missing fseek().
17159 (grub_hostfs_label): Clear label pointer. This fixes a crash
17160 of grub-emu on "ls (host)".
17161
17162 2007-11-18 Christian Franke <franke@computer.org>
17163
17164 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17165 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17166 to 64 bit boundary by default.
17167
17168 2007-11-18 Bean <bean123ch@gmail.com>
17169
17170 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17171 (hexdump_mod_SOURCES): New variable.
17172 (hexdump_mod_CFLAGS): Likewise.
17173 (hexdump_mod_LDFLAGS): Likewise.
17174
17175 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17176
17177 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17178
17179 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17180
17181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17182
17183 * include/grub/hexdump.h: New file.
17184
17185 * commands/hexdump.c: New file.
17186
17187 2007-11-10 Robert Millan <rmh@aybabtu.com>
17188
17189 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17190 in grub_outb() calls.
17191 (beep_on): Likewise.
17192
17193 2007-11-10 Christian Franke <franke@computer.org>
17194
17195 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17196 (grub_menu_run): Likewise.
17197
17198 2007-11-10 Robert Millan <rmh@aybabtu.com>
17199
17200 * include/grub/i386/efi/machine.h: New file.
17201 * include/grub/i386/linuxbios/machine.h: Likewise.
17202 * include/grub/i386/pc/machine.h: Likewise.
17203 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17204 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17205
17206 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17207 (serial_hw_io_addr): New variable.
17208 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17209 instead of `(unsigned short *) 0x400'.
17210
17211 2007-11-10 Bean <bean123ch@gmail.com>
17212
17213 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17214
17215 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17216
17217 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17218 (vga_mod_SOURCES): Added.
17219 (vga_mod_CFLAGS): Likewise.
17220 (vga_mod_LDFLAGS): Likewise.
17221
17222 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17223 grub_outb() calls.
17224 (set_map_mask): Likewise.
17225 (set_read_map): Likewise.
17226 (set_read_address): Likewise.
17227 (vga_font): Removed variable.
17228 (get_vga_glyph): Removed function.
17229 (invalidate_char): Likewise.
17230 (write_char): Changed to use grub_font_get_glyph() for font
17231 information.
17232 (grub_vga_putchar): Likewise.
17233 (grub_vga_getcharwidth): Likewise.
17234
17235 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17236
17237 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17238 flags.
17239 (pxeboot_img_LDFLAGS): Likewise.
17240 (diskboot_img_LDFLAGS): Likewise.
17241 (kernel_img_LDFLAGS): Likewise.
17242
17243 2007-11-06 Robert Millan <rmh@aybabtu.com>
17244
17245 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17246 in grub_outb() calls.
17247 (serial_hw_init): Likewise.
17248
17249 2007-11-05 Robert Millan <rmh@aybabtu.com>
17250
17251 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17252 spaces. Skip non-regular files.
17253
17254 2007-11-05 Robert Millan <rmh@aybabtu.com>
17255
17256 * kern/disk.c (grub_disk_firmware_fini)
17257 (grub_disk_firmware_is_tainted): New variables.
17258
17259 * include/grub/disk.h (grub_disk_firmware_fini)
17260 (grub_disk_firmware_is_tainted): Likewise.
17261
17262 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17263 (grub_disk_biosdisk_fini): ... to here.
17264 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17265 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17266 is set. Register grub_disk_biosdisk_fini() in
17267 `grub_disk_firmware_fini'.
17268
17269 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17270 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17271 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17272 to finish existing firmware disk interface.
17273
17274 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17275 (ata_mod_SOURCES): New variable.
17276 (ata_mod_CFLAGS): Likewise.
17277 (ata_mod_LDFLAGS): Likewise.
17278
17279 2007-11-05 Robert Millan <rmh@aybabtu.com>
17280
17281 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17282 (grub_ata_wait): Reimplement using grub_millisleep().
17283
17284 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17285 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17286
17287 2007-11-03 Marco Gerards <marco@gnu.org>
17288
17289 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17290 (CRTC_ADDR_PORT): New macro.
17291 (CRTC_DATA_PORT): Likewise.
17292 (CRTC_CURSOR): Likewise.
17293 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17294 (CRTC_CURSOR_ADDR_LOW): Likewise.
17295 (update_cursor): New function.
17296 (grub_console_real_putchar): Call `update_cursor'.
17297 (grub_console_gotoxy): Likewise.
17298 (grub_console_cls): Set the default color when clearing the
17299 screen.
17300 (grub_console_setcursor): Implemented.
17301
17302 2007-11-03 Marco Gerards <marco@gnu.org>
17303
17304 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17305 become activate.
17306 (grub_ata_pio_write): Likewise.
17307
17308 (grub_atapi_identify): Wait after issuing an ATA command.
17309 (grub_atapi_packet): Likewise.
17310 (grub_ata_identify): Likewise.
17311 (grub_ata_readwrite): Likewise.
17312
17313 2007-11-03 Marco Gerards <marco@gnu.org>
17314
17315 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17316 (grub_ata_pio_write): Likewise.
17317 (grub_ata_readwrite): Use `grub_error', instead of
17318 returning `grub_errno'.
17319
17320 2007-11-03 Marco Gerards <marco@gnu.org>
17321
17322 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17323 grub_ata_pio_write once for every single sector, instead of for
17324 multiple sectors.
17325
17326 2007-10-31 Robert Millan <rmh@aybabtu.com>
17327
17328 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17329
17330 * conf/i386-linuxbios.rmk: New file.
17331
17332 * kern/i386/pc/hardware.c: Likewise.
17333 * term/i386/pc/at_keyboard.c: Likewise.
17334 * term/i386/pc/vga_text.c: Likewise.
17335
17336 * include/grub/i386/linuxbios/boot.h: Likewise.
17337 * include/grub/i386/linuxbios/console.h: Likewise.
17338 * include/grub/i386/linuxbios/init.h: Likewise.
17339 * include/grub/i386/linuxbios/kernel.h: Likewise.
17340 * include/grub/i386/linuxbios/loader.h: Likewise.
17341 * include/grub/i386/linuxbios/memory.h: Likewise.
17342 * include/grub/i386/linuxbios/serial.h: Likewise.
17343 * include/grub/i386/linuxbios/time.h: Likewise.
17344
17345 * kern/i386/linuxbios/init.c: Likewise.
17346 * kern/i386/linuxbios/startup.S: Likewise.
17347 * kern/i386/linuxbios/table.c: Likewise.
17348
17349 2007-10-31 Marco Gerards <marco@gnu.org>
17350
17351 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17352 (ata_mod_SOURCES): New variable.
17353 (ata_mod_CFLAGS): Likewise.
17354 (ata_mod_LDFLAGS): Likewise.
17355
17356 * disk/ata.c: New file.
17357
17358 * include/grub/disk.h (grub_disk_dev_id): Add
17359 `GRUB_DISK_DEV_ATA_ID'.
17360
17361 2007-10-31 Robert Millan <rmh@aybabtu.com>
17362
17363 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17364 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17365
17366 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17367 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17368
17369 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17370 `<grub/types.h>'.
17371
17372 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17373
17374 2007-10-27 Robert Millan <rmh@aybabtu.com>
17375
17376 * include/grub/types.h (ULONG_MAX): Define macro.
17377
17378 2007-10-22 Robert Millan <rmh@aybabtu.com>
17379
17380 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17381 `"../realmode.S"'.
17382 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17383
17384 2007-10-22 Robert Millan <rmh@aybabtu.com>
17385
17386 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17387 (pkgdata_MODULES): Add `biosdisk.mod'.
17388 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17389 variables.
17390
17391 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17392 (grub_biosdisk_init): Replace with ...
17393 (GRUB_MOD_INIT(biosdisk)): ... this.
17394 (grub_biosdisk_fini): Replace with ...
17395 (GRUB_MOD_FINI(biosdisk)): ... this.
17396
17397 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17398 (grub_machine_init): Remove call to grub_biosdisk_init().
17399 (grub_machine_fini): Remove call to grub_machine_fini().
17400
17401 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17402
17403 2007-10-22 Robert Millan <rmh@aybabtu.com>
17404
17405 * include/grub/time.h: New file.
17406 * include/grub/i386/time.h: Likewise.
17407 * include/grub/powerpc/time.h: Likewise.
17408 * include/grub/sparc64/time.h: Likewise.
17409
17410 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17411 instances to ...
17412 (KERNEL_MACHINE_TIME_HEADER): ... this.
17413 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17414 instances to ...
17415 (KERNEL_MACHINE_TIME_HEADER): ... this.
17416 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17417 instances to ...
17418 (KERNEL_MACHINE_TIME_HEADER): ... this.
17419
17420 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17421 (grub_millisleep): New function.
17422 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17423 (grub_millisleep): New function.
17424 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17425 Remove `grub/machine/time.h' include.
17426 (grub_millisleep): New function.
17427 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17428 Remove `grub/machine/time.h' include.
17429 (grub_millisleep): New function.
17430
17431 * include/grub/misc.h (grub_div_roundup): New function.
17432
17433 * kern/misc.c: Include `<grub/time.h>'.
17434 (grub_millisleep_generic): New function.
17435
17436 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17437 Add `time.h'.
17438 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17439 Add `time.h'.
17440 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17441 `machine/time.h'. Add `time.h'.
17442 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17443
17444 2007-10-21 Robert Millan <rmh@aybabtu.com>
17445
17446 * include/grub/misc.h (grub_max): New function.
17447
17448 2007-10-21 Robert Millan <rmh@aybabtu.com>
17449
17450 * util/misc.c (grub_util_info): Call fflush() before returning.
17451
17452 2007-10-20 Robert Millan <rmh@aybabtu.com>
17453
17454 * genmk.rb (Image): Copy `extra_flags' from here ...
17455 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17456
17457 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17458 to `argc' and `args' arguments.
17459
17460 2007-10-17 Robert Millan <rmh@aybabtu.com>
17461
17462 * kern/i386/loader.S: New file.
17463
17464 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17465 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17466 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17467 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17468 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17469 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17470 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17471 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17472 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17473 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17474 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17475 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17476 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17477 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17478
17479 * kern/i386/realmode.S: New file.
17480
17481 * kern/i386/pc/startup.S (protstack): Moved from here ...
17482 * kern/i386/realmode.S (protstack)... to here.
17483 * kern/i386/pc/startup.S (gdt): Moved from here ...
17484 * kern/i386/realmode.S (gdt)... to here.
17485 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17486 * kern/i386/realmode.S (prot_to_real)... to here.
17487
17488 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17489 `kern/i386/realmode.S'.
17490
17491 2007-10-17 Robert Millan <rmh@aybabtu.com>
17492
17493 * include/grub/i386/loader.h: New file.
17494
17495 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17496 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17497 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17498 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17499 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17500 * include/grub/i386/loader.h (grub_linux_prot_size)
17501 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17502 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17503 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17504 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17505
17506 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17507
17508 2007-10-15 Robert Millan <rmh@aybabtu.com>
17509
17510 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17511 filesystem when dev->disk is unset.
17512 Do probe for filesystem even when dev->disk->has_partitions is set.
17513 In case a filesystem is found, always report it.
17514 In case it isn't, if dev->disk->has_partitions is set, report that
17515 a partition table was found instead of reporting that no filesystem
17516 could be identified.
17517
17518 2007-10-12 Robert Millan <rmh@aybabtu.com>
17519
17520 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17521 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17522
17523 * include/grub/types.h (grub_host_to_target16): New macro.
17524 (grub_host_to_target32): Likewise.
17525 (grub_host_to_target64): Likewise.
17526 (grub_target_to_host16): Likewise.
17527 (grub_target_to_host32): Likewise.
17528 (grub_target_to_host64): Likewise.
17529
17530 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17531 Renamed from to ...
17532 (GRUB_MOD_ALIGN): ...this. Update all users.
17533
17534 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17535 grub_host_to_target32.
17536 Replace grub_be_to_cpu32 with grub_target_to_host32.
17537 (load_modules): Likewise.
17538 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17539 Replace grub_be_to_cpu32 with grub_target_to_host32.
17540 Replace grub_cpu_to_be16 with grub_host_to_target16.
17541 Replace grub_cpu_to_be32 grub_host_to_target32.
17542
17543 2007-10-12 Robert Millan <rmh@aybabtu.com>
17544
17545 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17546 * util/elf/grub-mkimage.c: ... here.
17547
17548 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17549 `util/powerpc/ieee1275/grub-mkimage.c'.
17550
17551 2007-10-07 Robert Millan <rmh@aybabtu.com>
17552
17553 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17554 and make it easier to figure out.
17555 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17556 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17557 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17558 leave us with less than HEAP_MIN_SIZE total heap.
17559 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
17560
17561 2007-10-03 Robert Millan <rmh@aybabtu.com>
17562
17563 * include/grub/i386/io.h: New file.
17564 * commands/i386/pc/play.c (inb): Removed.
17565 (outb): Removed.
17566 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17567 with grub_outb().
17568 * term/i386/pc/serial.c (inb): Removed.
17569 (outb): Removed.
17570 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17571 with grub_outb().
17572 * term/i386/pc/vga.c (inb): Removed.
17573 (outb): Removed.
17574 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17575 with grub_outb().
17576
17577 2007-10-02 Robert Millan <rmh@aybabtu.com>
17578
17579 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17581 Reported by Marcin Kurek.
17582
17583 2007-09-07 Robert Millan <rmh@aybabtu.com>
17584
17585 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17586 SmartFirmware version updates (as released by Sven Luther), and avoid
17587 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17588 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17589 known broken.
17590
17591 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17592
17593 From Hitoshi Ozeki:
17594 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17595 when merging two regions.
17596
17597 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17598
17599 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17600 * normal/completion.c (grub_normal_do_completion): Likewise.
17601 Reported by Hitoshi Ozeki.
17602
17603 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17604
17605 Do not use devices at boot in chainloading.
17606
17607 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17608 (boot_part_addr): Likewise.
17609 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17610 with BOOT_DRIVE and BOOT_PART_ADDR.
17611 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17612 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17613
17614 2007-08-29 Robert Millan <rmh@aybabtu.com>
17615
17616 Patch from Simon Peter <dn.tlp@gmx.net>:
17617 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17618 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17619 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17620 util/i386/pc/grub-setup.c_DEPENDENCIES.
17621 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17622 util/grub-probe.c_DEPENDENCIES.
17623 * conf/powerpc-ieee1275.rmk: Likewise.
17624
17625 2007-08-28 Robert Millan <rmh@aybabtu.com>
17626
17627 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17628 to tell grub-mkdevicemap how to name devices.
17629 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17630 feature).
17631
17632 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17633 util/i386/get_disk_name.c.
17634 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17635 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17636 util/ieee1275/get_disk_name.c.
17637
17638 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17639
17640 * DISTLIST: Add util/i386/get_disk_name.c and
17641 util/ieee1275/get_disk_name.c.
17642
17643 * util/grub-mkdevicemap.c: Replace device naming logic with
17644 grub_util_get_disk_name() calls.
17645
17646 2007-08-20 Robert Millan <rmh@aybabtu.com>
17647
17648 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17649 (so that it works for both plural and singular quantities).
17650
17651 2007-08-05 Robert Millan <rmh@aybabtu.com>
17652
17653 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17654 so that [xz] isn't taken into account when determining order.
17655
17656 2007-08-02 Marco Gerards <marco@gnu.org>
17657
17658 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17659 `include/multiboot2.h', `include/grub/elfload.h',
17660 `include/multiboot.h', `include/grub/multiboot.h',
17661 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17662 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17663 `kern/elf.c', `loader/multiboot_loader.c',
17664 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17665 `loader/i386/pc/multiboot2.c',
17666 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17667 `util/i386/pc/grub-mkrescue.in'. Remove
17668 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17669 `include/grub/i386/pc/util/biosdisk.h' and
17670 `include/grub/powerpc/ieee1275/multiboot.h'.
17671
17672 2007-08-02 Bean <bean123ch@gmail.com>
17673
17674 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17675 (ntfs_mod_SOURCES): New variable.
17676 (ntfs_mod_CFLAGS): Likewise.
17677 (ntfs_mod_LDFLAGS): Likewise.
17678
17679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17680 (grub_probe_SOURCES): Likewise.
17681 (grub_emu_SOURCES): Likewise.
17682
17683 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17684 (grub_emu_SOURCES): Likewise.
17685
17686 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17687 (grub_emu_SOURCES): Likewise.
17688
17689 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17690
17691 * fs/ntfs.c: New file.
17692
17693 2007-08-02 Bean <bean123ch@gmail.com>
17694
17695 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17696
17697 * file.h (grub_file): Likewise.
17698
17699 * fshelp.h (grub_fshelp_read_file): Likewise.
17700
17701 * util/i386/pc/grub-setup.c (setup): Likewise.
17702 (save_first_sector): Likewise.
17703 (save_blocklists): Likewise.
17704
17705 * fs/affs.c (grub_affs_read_file): Likewise.
17706
17707 * fs/ext2.c (grub_ext2_read_file): Likewise.
17708
17709 * fs/fat.c (grub_fat_read_data): Likewise.
17710
17711 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17712
17713 * fs/hfs.c (grub_hfs_read_file): Likewise.
17714
17715 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17716
17717 * fs/jfs.c (grub_jfs_read_file): Likewise.
17718
17719 * fs/minix.c (grub_minix_read_file): Likewise.
17720
17721 * fs/sfs.c (grub_sfs_read_file): Likewise.
17722
17723 * fs/ufs.c (grub_ufs_read_file): Likewise.
17724
17725 * fs/xfs.c (grub_xfs_read_file): Likewise.
17726
17727 * command/blocklist.c (read_blocklist): Likewise.
17728 (print_blocklist): Likewise.
17729
17730 2007-08-02 Marco Gerards <marco@gnu.org>
17731
17732 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17733 `util/hostfs.c'.
17734
17735 * disk/host.c: New file.
17736
17737 * util/hostfs.c: Likewise.
17738
17739 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17740 return `GRUB_ERR_BAD_FS'.
17741 * fs/sfs.c (grub_sfs_mount): Likewise.
17742 * fs/xfs.c (grub_xfs_mount): Likewise.
17743
17744 * include/grub/disk.h (enum grub_disk_dev_id): Add
17745 `GRUB_DISK_DEVICE_HOST_ID'.
17746
17747 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17748
17749 2007-07-24 Jerone Young <jerone@gmail.com>
17750
17751 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
17752 modules for compilation.
17753 * conf/powerpc-ieee1275.rmk: Likewise.
17754
17755 * include/multiboot.h: Move multiboot definitions to one file. Rename
17756 many definitions to not get grub specific.
17757 * include/multiboot2.h: Create header with multiboot 2 definitions.
17758 * include/grub/multiboot.h: Header for grub specific function
17759 prototypes and definitions.
17760 * include/grub/multiboot2.h: Likewise.
17761 * include/grub/multiboot_loader.h: Likewise.
17762 * include/grub/i386/pc/multiboot.h: Removed.
17763 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17764
17765 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17766 and 2 to allow for one multiboot and module commands.
17767 * loader/multiboot2.c: Add multiboot2 functionality.
17768 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17769 and definition names.
17770 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17771 2 functions.
17772 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17773 ieee1275 specific multiboot2 code.
17774
17775 * kern/i386/pc/startup.S: Change headers and definition names for
17776 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17777
17778 2007-07-22 Robert Millan <rmh@aybabtu.com>
17779
17780 * geninitheader.sh: Process file specified in first parameter rather
17781 than hardcoding grub_modules_init.lst.
17782 * geninit.sh: Likewise. Also, construct header name dynamically rather
17783 than hardcoding grub_modules_init.h.
17784
17785 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17786 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17787 grub_probe_init.[ch] and grub_setup_init.[ch].
17788
17789 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17790 grub_modules_init.h with grub_emu_init.h.
17791 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17792 grub_probe_init.[ch] files.
17793 * conf/i386-efi.rmk: Likewise.
17794 * conf/i386-pc.rmk: Likewise.
17795 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17796 grub_setup_init.[ch] files.
17797
17798 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17799 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17800 to initialize modules rather than a list of hardcoded functions.
17801 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17802 grub_init_all() to initialize modules rather than a list of hardcoded
17803 functions.
17804
17805 2007-07-22 Robert Millan <rmh@aybabtu.com>
17806
17807 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17808 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17809
17810 2007-07-22 Robert Millan <rmh@aybabtu.com>
17811
17812 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17813 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17814 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17815 flag when running on SmartFirmware.
17816 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17817 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17818 was set.
17819
17820 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17821 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17822 rather than decreasing it.
17823
17824 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17825 there's not enough space to do it, fail in the same way as when it
17826 can't be done because there are no partitions.
17827
17828 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17829 when nvsetenv failed.
17830
17831 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17832
17833 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17834 because this rule is automatically generated.
17835 (grub-mkrescue): Removed for the same reason as above.
17836
17837 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17838
17839 Migrate to GNU General Public License Version 3.
17840
17841 * COPYING: Replaced with the plain text version of GPLv3.
17842
17843 * config.guess: Updated from gnulib.
17844 * config.sub: Likewise.
17845
17846 * geninit.sh: Output a GPLv3 copyright notice.
17847 * geninitheader.sh: Likewise.
17848 * genmodsrc.sh: Likewise.
17849 * gensymlist.sh.in: Likewise.
17850
17851 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17852 * boot/i386/pc/diskboot.S: Likewise.
17853 * boot/i386/pc/pxeboot.S: Likewise.
17854 * commands/blocklist.c: Likewise.
17855 * commands/boot.c: Likewise.
17856 * commands/cat.c: Likewise.
17857 * commands/cmp.c: Likewise.
17858 * commands/configfile.c: Likewise.
17859 * commands/echo.c: Likewise.
17860 * commands/help.c: Likewise.
17861 * commands/ls.c: Likewise.
17862 * commands/search.c: Likewise.
17863 * commands/terminal.c: Likewise.
17864 * commands/test.c: Likewise.
17865 * commands/videotest.c: Likewise.
17866 * commands/i386/cpuid.c: Likewise.
17867 * commands/i386/pc/halt.c: Likewise.
17868 * commands/i386/pc/play.c: Likewise.
17869 * commands/i386/pc/reboot.c: Likewise.
17870 * commands/i386/pc/vbeinfo.c: Likewise.
17871 * commands/i386/pc/vbetest.c: Likewise.
17872 * commands/ieee1275/halt.c: Likewise.
17873 * commands/ieee1275/reboot.c: Likewise.
17874 * commands/ieee1275/suspend.c: Likewise.
17875 * disk/loopback.c: Likewise.
17876 * disk/lvm.c: Likewise.
17877 * disk/raid.c: Likewise.
17878 * disk/efi/efidisk.c: Likewise.
17879 * disk/i386/pc/biosdisk.c: Likewise.
17880 * disk/ieee1275/ofdisk.c: Likewise.
17881 * font/manager.c: Likewise.
17882 * fs/affs.c: Likewise.
17883 * fs/ext2.c: Likewise.
17884 * fs/fat.c: Likewise.
17885 * fs/fshelp.c: Likewise.
17886 * fs/hfs.c: Likewise.
17887 * fs/hfsplus.c: Likewise.
17888 * fs/iso9660.c: Likewise.
17889 * fs/jfs.c: Likewise.
17890 * fs/minix.c: Likewise.
17891 * fs/sfs.c: Likewise.
17892 * fs/ufs.c: Likewise.
17893 * fs/xfs.c: Likewise.
17894 * hello/hello.c: Likewise.
17895 * include/grub/acorn_filecore.h: Likewise.
17896 * include/grub/arg.h: Likewise.
17897 * include/grub/bitmap.h: Likewise.
17898 * include/grub/boot.h: Likewise.
17899 * include/grub/cache.h: Likewise.
17900 * include/grub/device.h: Likewise.
17901 * include/grub/disk.h: Likewise.
17902 * include/grub/dl.h: Likewise.
17903 * include/grub/elfload.h: Likewise.
17904 * include/grub/env.h: Likewise.
17905 * include/grub/err.h: Likewise.
17906 * include/grub/file.h: Likewise.
17907 * include/grub/font.h: Likewise.
17908 * include/grub/fs.h: Likewise.
17909 * include/grub/fshelp.h: Likewise.
17910 * include/grub/gzio.h: Likewise.
17911 * include/grub/hfs.h: Likewise.
17912 * include/grub/kernel.h: Likewise.
17913 * include/grub/loader.h: Likewise.
17914 * include/grub/lvm.h: Likewise.
17915 * include/grub/misc.h: Likewise.
17916 * include/grub/mm.h: Likewise.
17917 * include/grub/net.h: Likewise.
17918 * include/grub/normal.h: Likewise.
17919 * include/grub/parser.h: Likewise.
17920 * include/grub/partition.h: Likewise.
17921 * include/grub/pc_partition.h: Likewise.
17922 * include/grub/raid.h: Likewise.
17923 * include/grub/rescue.h: Likewise.
17924 * include/grub/script.h: Likewise.
17925 * include/grub/setjmp.h: Likewise.
17926 * include/grub/symbol.h: Likewise.
17927 * include/grub/term.h: Likewise.
17928 * include/grub/terminfo.h: Likewise.
17929 * include/grub/tparm.h: Likewise.
17930 * include/grub/types.h: Likewise.
17931 * include/grub/video.h: Likewise.
17932 * include/grub/efi/api.h: Likewise.
17933 * include/grub/efi/chainloader.h: Likewise.
17934 * include/grub/efi/console.h: Likewise.
17935 * include/grub/efi/console_control.h: Likewise.
17936 * include/grub/efi/disk.h: Likewise.
17937 * include/grub/efi/efi.h: Likewise.
17938 * include/grub/efi/pe32.h: Likewise.
17939 * include/grub/efi/time.h: Likewise.
17940 * include/grub/i386/linux.h: Likewise.
17941 * include/grub/i386/setjmp.h: Likewise.
17942 * include/grub/i386/types.h: Likewise.
17943 * include/grub/i386/efi/kernel.h: Likewise.
17944 * include/grub/i386/efi/loader.h: Likewise.
17945 * include/grub/i386/efi/time.h: Likewise.
17946 * include/grub/i386/pc/biosdisk.h: Likewise.
17947 * include/grub/i386/pc/boot.h: Likewise.
17948 * include/grub/i386/pc/chainloader.h: Likewise.
17949 * include/grub/i386/pc/console.h: Likewise.
17950 * include/grub/i386/pc/init.h: Likewise.
17951 * include/grub/i386/pc/kernel.h: Likewise.
17952 * include/grub/i386/pc/loader.h: Likewise.
17953 * include/grub/i386/pc/memory.h: Likewise.
17954 * include/grub/i386/pc/multiboot.h: Likewise.
17955 * include/grub/i386/pc/serial.h: Likewise.
17956 * include/grub/i386/pc/time.h: Likewise.
17957 * include/grub/i386/pc/vbe.h: Likewise.
17958 * include/grub/i386/pc/vbeblit.h: Likewise.
17959 * include/grub/i386/pc/vbefill.h: Likewise.
17960 * include/grub/i386/pc/vbeutil.h: Likewise.
17961 * include/grub/i386/pc/vga.h: Likewise.
17962 * include/grub/ieee1275/ieee1275.h: Likewise.
17963 * include/grub/ieee1275/ofdisk.h: Likewise.
17964 * include/grub/powerpc/libgcc.h: Likewise.
17965 * include/grub/powerpc/setjmp.h: Likewise.
17966 * include/grub/powerpc/types.h: Likewise.
17967 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17968 * include/grub/powerpc/ieee1275/console.h: Likewise.
17969 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17970 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17971 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17972 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17973 * include/grub/powerpc/ieee1275/time.h: Likewise.
17974 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17975 * include/grub/sparc64/libgcc.h: Likewise.
17976 * include/grub/sparc64/setjmp.h: Likewise.
17977 * include/grub/sparc64/types.h: Likewise.
17978 * include/grub/sparc64/ieee1275/console.h: Likewise.
17979 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17980 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17981 * include/grub/sparc64/ieee1275/time.h: Likewise.
17982 * include/grub/util/biosdisk.h: Likewise.
17983 * include/grub/util/getroot.h: Likewise.
17984 * include/grub/util/lvm.h: Likewise.
17985 * include/grub/util/misc.h: Likewise.
17986 * include/grub/util/raid.h: Likewise.
17987 * include/grub/util/resolve.h: Likewise.
17988 * io/gzio.c: Likewise.
17989 * kern/device.c: Likewise.
17990 * kern/disk.c: Likewise.
17991 * kern/dl.c: Likewise.
17992 * kern/elf.c: Likewise.
17993 * kern/env.c: Likewise.
17994 * kern/err.c: Likewise.
17995 * kern/file.c: Likewise.
17996 * kern/fs.c: Likewise.
17997 * kern/loader.c: Likewise.
17998 * kern/main.c: Likewise.
17999 * kern/misc.c: Likewise.
18000 * kern/mm.c: Likewise.
18001 * kern/parser.c: Likewise.
18002 * kern/partition.c: Likewise.
18003 * kern/rescue.c: Likewise.
18004 * kern/term.c: Likewise.
18005 * kern/efi/efi.c: Likewise.
18006 * kern/efi/init.c: Likewise.
18007 * kern/efi/mm.c: Likewise.
18008 * kern/i386/dl.c: Likewise.
18009 * kern/i386/efi/init.c: Likewise.
18010 * kern/i386/efi/startup.S: Likewise.
18011 * kern/i386/pc/init.c: Likewise.
18012 * kern/i386/pc/lzo1x.S: Likewise.
18013 * kern/i386/pc/startup.S: Likewise.
18014 * kern/ieee1275/ieee1275.c: Likewise.
18015 * kern/powerpc/cache.S: Likewise.
18016 * kern/powerpc/dl.c: Likewise.
18017 * kern/powerpc/ieee1275/cmain.c: Likewise.
18018 * kern/powerpc/ieee1275/crt0.S: Likewise.
18019 * kern/powerpc/ieee1275/init.c: Likewise.
18020 * kern/powerpc/ieee1275/openfw.c: Likewise.
18021 * kern/sparc64/cache.S: Likewise.
18022 * kern/sparc64/dl.c: Likewise.
18023 * kern/sparc64/ieee1275/init.c: Likewise.
18024 * kern/sparc64/ieee1275/openfw.c: Likewise.
18025 * loader/efi/chainloader.c: Likewise.
18026 * loader/efi/chainloader_normal.c: Likewise.
18027 * loader/i386/efi/linux.c: Likewise.
18028 * loader/i386/efi/linux_normal.c: Likewise.
18029 * loader/i386/pc/chainloader.c: Likewise.
18030 * loader/i386/pc/chainloader_normal.c: Likewise.
18031 * loader/i386/pc/linux.c: Likewise.
18032 * loader/i386/pc/linux_normal.c: Likewise.
18033 * loader/i386/pc/multiboot.c: Likewise.
18034 * loader/i386/pc/multiboot_normal.c: Likewise.
18035 * loader/powerpc/ieee1275/linux.c: Likewise.
18036 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18037 * normal/arg.c: Likewise.
18038 * normal/cmdline.c: Likewise.
18039 * normal/command.c: Likewise.
18040 * normal/completion.c: Likewise.
18041 * normal/execute.c: Likewise.
18042 * normal/function.c: Likewise.
18043 * normal/lexer.c: Likewise.
18044 * normal/main.c: Likewise.
18045 * normal/menu.c: Likewise.
18046 * normal/menu_entry.c: Likewise.
18047 * normal/misc.c: Likewise.
18048 * normal/parser.y: Likewise.
18049 * normal/script.c: Likewise.
18050 * normal/i386/setjmp.S: Likewise.
18051 * normal/powerpc/setjmp.S: Likewise.
18052 * normal/sparc64/setjmp.S: Likewise.
18053 * partmap/acorn.c: Likewise.
18054 * partmap/amiga.c: Likewise.
18055 * partmap/apple.c: Likewise.
18056 * partmap/gpt.c: Likewise.
18057 * partmap/pc.c: Likewise.
18058 * partmap/sun.c: Likewise.
18059 * term/gfxterm.c: Likewise.
18060 * term/terminfo.c: Likewise.
18061 * term/efi/console.c: Likewise.
18062 * term/i386/pc/console.c: Likewise.
18063 * term/i386/pc/serial.c: Likewise.
18064 * term/i386/pc/vesafb.c: Likewise.
18065 * term/i386/pc/vga.c: Likewise.
18066 * term/ieee1275/ofconsole.c: Likewise.
18067 * util/biosdisk.c: Likewise.
18068 * util/console.c: Likewise.
18069 * util/genmoddep.c: Likewise.
18070 * util/getroot.c: Likewise.
18071 * util/grub-emu.c: Likewise.
18072 * util/grub-mkdevicemap.c: Likewise.
18073 * util/grub-probe.c: Likewise.
18074 * util/lvm.c: Likewise.
18075 * util/misc.c: Likewise.
18076 * util/raid.c: Likewise.
18077 * util/resolve.c: Likewise.
18078 * util/update-grub.in: Likewise.
18079 * util/update-grub_lib.in: Likewise.
18080 * util/grub.d/00_header.in: Likewise.
18081 * util/grub.d/10_hurd.in: Likewise.
18082 * util/grub.d/10_linux.in: Likewise.
18083 * util/i386/efi/grub-install.in: Likewise.
18084 * util/i386/efi/grub-mkimage.c: Likewise.
18085 * util/i386/pc/grub-install.in: Likewise.
18086 * util/i386/pc/grub-mkimage.c: Likewise.
18087 * util/i386/pc/grub-mkrescue.in: Likewise.
18088 * util/i386/pc/grub-setup.c: Likewise.
18089 * util/i386/pc/misc.c: Likewise.
18090 * util/powerpc/ieee1275/grub-install.in: Likewise.
18091 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18092 * util/powerpc/ieee1275/misc.c: Likewise.
18093 * video/bitmap.c: Likewise.
18094 * video/video.c: Likewise.
18095 * video/i386/pc/vbe.c: Likewise.
18096 * video/i386/pc/vbeblit.c: Likewise.
18097 * video/i386/pc/vbefill.c: Likewise.
18098 * video/i386/pc/vbeutil.c: Likewise.
18099 * video/readers/tga.c: Likewise.
18100
18101 2007-07-02 Robert Millan <rmh@aybabtu.com>
18102
18103 * conf/i386-efi.rmk: Replace obsolete reference to
18104 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18105 with util/getroot.c.
18106 * conf/powerpc-ieee1275.rmk: Likewise.
18107 * conf/sparc64-ieee1275.rmk: Likewise.
18108
18109 * util/grub-emu.c (main): Fix unchecked pointer handling.
18110
18111 2007-07-02 Robert Millan <rmh@aybabtu.com>
18112
18113 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18114 invocation to fail, in order to support partition-less media.
18115
18116 * util/i386/pc/grub-install.in: Likewise.
18117
18118 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18119 which fs or partmap modules are needed (akin to its sister scripts).
18120
18121 Also use grub-probe to get rid of unportable /proc/mounts check.
18122
18123 Print the same informational message that the other scripts do, before
18124 exiting.
18125
18126 2007-06-23 Robert Millan <rmh@aybabtu.com>
18127
18128 * util/update-grub_lib.in (font_path): New function. Determine whether
18129 a font file can be found and, if so, echo the GRUB path to it.
18130
18131 * util/update-grub.in: Handle multiple terminals depending on user
18132 input, platform availability and font file presence. Propagate
18133 variables of our findings to /etc/grub.d/ children.
18134
18135 * util/grub.d/00_header.in: Handle multiple terminals, based on
18136 environment setup by update-grub.
18137
18138 2007-06-23 Robert Millan <rmh@aybabtu.com>
18139
18140 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
18141
18142 2007-06-21 Robert Millan <rmh@aybabtu.com>
18143
18144 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18145 indicate end of data section in kernel image.
18146 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18147 GRUB_KERNEL_MACHINE_DATA_END.
18148
18149 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18150 space for it.
18151 * kern/i386/efi/startup.S: Likewise.
18152
18153 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18154 during image generation. Implement --prefix option to override this
18155 patch.
18156 * util/i386/efi/grub-mkimage.c: Likewise.
18157
18158 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18159 code to make path relative to its root into a separate function.
18160
18161 * util/i386/pc/grub-install.in: Use newly provided
18162 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18163 pass the result to grub-install --prefix.
18164
18165 2007-06-13 Robert Millan <rmh@aybabtu.com>
18166
18167 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18168 DEFAULT_DEVICE_MAP.
18169 * util/grub-emu.c: Use above definitions from misc.h instead of
18170 defining them.
18171 * util/grub-mkdevicemap.c: Likewise.
18172 * util/i386/pc/grub-setup.c: Likewise.
18173 * util/grub-probe.c: Likewise.
18174 (probe): Abort with grub_util_error() when either
18175 grub_guess_root_device or grub_util_get_grub_dev fails.
18176
18177 2007-06-12 Robert Millan <rmh@aybabtu.com>
18178
18179 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18180 "pager" assignment.
18181 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18182 "pcdata".
18183 * util/grub-probe.c (probe): Likewise for "drive_name".
18184
18185 2007-06-11 Robert Millan <rmh@aybabtu.com>
18186
18187 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18188 not just the cdrom one.
18189
18190 2007-06-11 Robert Millan <rmh@aybabtu.com>
18191
18192 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18193 Add --pkglibdir=DIR option to override pkglibdir.
18194 Mention --image-type=TYPE in help output.
18195 Fix --grub-mkimage (it was a no-op).
18196 Abort gracefully when no parameter is given.
18197
18198 2007-06-11 Robert Millan <rmh@aybabtu.com>
18199
18200 * util/i386/pc/grub-mkrescue.in: New file.
18201 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18202 * Makefile.in: Handle bin_SCRIPTS.
18203
18204 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18205
18206 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18207 list of video modes.
18208
18209 2007-06-06 Robert Millan <rmh@aybabtu.com>
18210
18211 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18212 file doesn't exist, or if it is in a filesystem grub can't read.
18213
18214 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18215 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18216 header comment to fit in 80 columns when the variables are resolved.
18217
18218 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18219 could be identified by update-grub. Remove redundant check for
18220 unifont.pff existence (since convert_system_path_to_grub_path now
18221 handles that).
18222
18223 2007-06-04 Robert Millan <rmh@aybabtu.com>
18224
18225 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18226
18227 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18228
18229 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18230
18231 2007-06-04 Robert Millan <rmh@aybabtu.com>
18232
18233 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18234
18235 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18236 grub_apple_partition_map_fini.
18237
18238 * util/biosdisk.c
18239 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18240 to access >2 TiB disks).
18241
18242 Print disk->total_sectors with %llu instead of %lu, since this
18243 variable is always 64-bit (prevents wrong disk size from being displayed
18244 on either >2 TiB disk or big-endian CPU).
18245
18246 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18247 into a generic case that supports all (sane) partition maps.
18248
18249 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18250 breaks big-endian.
18251
18252 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18253 and grub_apple_partition_map_fini() after that.
18254
18255 2007-06-01 Robert Millan <rmh@aybabtu.com>
18256
18257 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18258
18259 * util/grub.d/00_header.in: Only enable gfxterm when
18260 convert_system_path_to_grub_path() succeeds.
18261
18262 2007-05-20 Robert Millan <rmh@aybabtu.com>
18263
18264 * util/update-grub_lib.in: New file.
18265 * DISTLIST: Add update-grub_lib.in.
18266 * conf/common.rmk: Generate update-grub_lib and install it in
18267 $(lib_DATA).
18268 * Makefile.in: Add install routine for $(lib_DATA).
18269
18270 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18271 function provided by update-grub_lib to support arbitrary paths of
18272 unifont.pff.
18273 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18274 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18275
18276 2007-05-19 Robert Millan <rmh@aybabtu.com>
18277
18278 * commands/i386/cpuid.c: New module.
18279 * DISTLIST: Add it.
18280 * conf/i386-efi.rmk: Enable cpuid.mod.
18281 * conf/i386-pc.rmk: Likewise.
18282
18283 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18284
18285 * kern/disk.c (grub_disk_read): Check return value of
18286 grub_realloc().
18287
18288 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18289
18290 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18291 arrays.
18292 * disk/raid.c (grub_raid_open): Likewise.
18293
18294 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18295
18296 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18297 stack instead of on the heap.
18298
18299 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18300 before doing a read on it.
18301
18302 * configure.ac: Only use -fno-stack-protector for the target
18303 environment.
18304
18305 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18306
18307 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18308 __attribute_ ((unused)) to mode_type argument.
18309
18310 * util/getroot.c (grub_guess_root_device): Fix #endif.
18311
18312 * kern/misc.c (memcmp): Fix prototype.
18313
18314 * include/grub/partition.h [GRUB_UTIL]
18315 (grub_gpt_partition_map_init): Add prototype.
18316 (grub_gpt_partition_map_fini): Likewise.
18317
18318 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18319 at the right place.
18320
18321 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18322 (grub_fat_read_data): Likewise.
18323 (grub_fat_find_dir): Likewise.
18324
18325 * font/manager.c (find_glyph): Make table a const.
18326 (grub_font_get_glyph): Remove bitmap from if statement.
18327
18328 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18329
18330 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18331 code, first search for device in /dev/mapper, then in /dev.
18332 (grub_util_get_grub_dev): New function.
18333 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18334 prototype.
18335 * util/grub-probe.c (probe): Remove check for RAID, call
18336 grub_util_get_grub_dev() instead of
18337 grub_util_biosdisk_get_grub_dev().
18338 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18339 grub_util_biosdisk_get_grub_dev().
18340 * util/i386/pc/grub-setup.c (main): Likewise.
18341
18342 2007-05-16 Robert Millan <rmh@aybabtu.com>
18343
18344 * DISTLIST: Update for the latest changes.
18345 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18346 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18347 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18348 grub/util/biosdisk.h.
18349 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18350 grub/util/biosdisk.h.
18351
18352 2007-05-16 Robert Millan <rmh@aybabtu.com>
18353
18354 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18355
18356 2007-05-16 Robert Millan <rmh@aybabtu.com>
18357
18358 * util/i386/efi/grub-install.in: New.
18359 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18360 newly added grub-install.
18361 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18362 include.
18363 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18364 grub/util/biosdisk.h.
18365 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18366 grub/util/biosdisk.h.
18367
18368 2007-05-16 Robert Millan <rmh@aybabtu.com>
18369
18370 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18371 * include/grub/util/biosdisk.h: ... here.
18372 * util/i386/pc/biosdisk.c: Moved to ...
18373 * util/biosdisk.c: ... here.
18374 * util/i386/pc/getroot.c: Moved to ...
18375 * util/getroot.c: ... here.
18376 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18377 * util/grub-mkdevicemap.c: ... here.
18378 * util/i386/pc/grub-probe.c: Moved to ...
18379 * util/grub-probe.c: ... here.
18380
18381 2007-05-15 Robert Millan <rmh@aybabtu.com>
18382
18383 * util/update-grub.in: Remove duplicated line in grub.cfg header
18384 message.
18385
18386 2007-05-13 Robert Millan <rmh@aybabtu.com>
18387
18388 * util/update-grub.in: Fix a few assumptions about the devices holding
18389 /, /boot and /boot/grub being the same.
18390 * util/grub.d/00_header.in: Likewise.
18391 * util/grub.d/10_hurd.in: Likewise.
18392 * util/grub.d/10_linux.in: Likewise.
18393
18394 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18395 patterns. Use that to define the `.old' suffix as older than `'.
18396
18397 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18398
18399 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18400 the grub.cfg header message.
18401
18402 2007-05-11 Robert Millan <rmh@aybabtu.com>
18403
18404 * util/update-grub.in: Create device.map if it doesn't already exist,
18405 before attempting to run grub-probe.
18406 Check for grub-probe and grub-mkdevicemap with the same code
18407 grub-install is using.
18408 Remove test mode.
18409
18410 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18411
18412 * Makefile.in: Add the datarootdir autoconf variable.
18413
18414 2007-05-09 Robert Millan <rmh@aybabtu.com>
18415
18416 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
18417 fail gracefully if dev->disk->partition == NULL.
18418
18419 2007-05-07 Robert Millan <rmh@aybabtu.com>
18420
18421 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18422 determine partition map module.
18423 * util/i386/pc/grub-install.in: Use this feature to decide which
18424 partition module to load, instead of hardcoding pc and gpt.
18425
18426 2007-05-07 Robert Millan <rmh@aybabtu.com>
18427
18428 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18429 source directory differs from build directory.
18430
18431 2007-05-05 Robert Millan <rmh@aybabtu.com>
18432
18433 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18434 initialisation.
18435
18436 2007-05-05 Robert Millan <rmh@aybabtu.com>
18437
18438 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18439
18440 2007-05-05 Robert Millan <rmh@aybabtu.com>
18441
18442 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18443 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18444
18445 2007-05-05 Robert Millan <rmh@aybabtu.com>
18446
18447 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18448 (grub_probe_SOURCES): Likewise.
18449 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18450 GPT and initialize dos_part and bsd_part accordingly.
18451 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18452 install_bsd_part.
18453 (main): Activate gpt module for use during partition identification,
18454 and deactivate it afterwards.
18455 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18456 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18457 partition identification, and deactivate it afterwards.
18458
18459 2007-05-05 Robert Millan <rmh@aybabtu.com>
18460
18461 * term/i386/pc/console.c (grub_console_fini): Call
18462 grub_term_set_current() before grub_term_unregister().
18463
18464 2007-05-04 Robert Millan <rmh@aybabtu.com>
18465
18466 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18467 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18468 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18469 and update-grub_DATA.
18470 * conf/common.rmk: Build and install update-grub components.
18471 * conf/common.mk: Regenerate.
18472 * util/update-grub.in: New. Core of update-grub.
18473 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18474 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18475 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18476 * util/grub.d/README: New. Document grub.d directory layout.
18477
18478 2007-05-01 Robert Millan <rmh@aybabtu.com>
18479
18480 * util/grub-emu.c: Move initialization functions
18481 grub_util_biosdisk_init() and grub_init_all() before
18482 grub_util_biosdisk_get_grub_dev(), which relies on them.
18483
18484 2007-04-19 Robert Millan <rmh@aybabtu.com>
18485
18486 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18487 it is used later.
18488
18489 2007-04-18 Jerone Young <jerone@gmail.com>
18490
18491 * kernel/elf.c: Add missing parenthesis for conditional statement
18492 stanza.
18493
18494 2007-04-10 Jerone Young <jerone@gmail.com>
18495
18496 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18497 continue on and look for device node with real device name.
18498
18499 2007-04-10 Jerone Young <jerone@gmail.com>
18500
18501 * configure.ac: Add argument for autoconf to use transformation
18502 ability.
18503 * Makefile.in: Add autoconf package transformation code.
18504 * util/i386/pc/grub-install.in: Likewise.
18505 * util/powerpc/ieee1275/grub-install.in: Likewise.
18506
18507 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18508
18509 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18510 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18511 (EXT2_REVISION): Likewise.
18512 (EXT2_INODE_SIZE): Likewise.
18513 (struct grub_ext2_block_group): Added a missing member
18514 "used_dirs".
18515 (grub_ext2_read_inode): Divide by the inode size in a superblock
18516 instead of 128 to obtain INODES_PER_BLOCK.
18517 Use the macro EXT2_INODE_SIZE instead of directly using
18518 SBLOCK->INODE_SIZE.
18519
18520 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18521
18522 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18523 superblock instead of the structure size to compute an
18524 offset. This fixes the problem that GRUB could not read a
18525 filesystem when inode size is different from 128-byte.
18526
18527 2007-03-05 Marco Gerards <marco@gnu.org>
18528
18529 * normal/main.c (read_config_file): When "menu" is not set, create
18530 an initial context.
18531
18532 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18533
18534 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18535 (HEAP_LIMIT): New macro.
18536 (grub_claim_heap): Claim memory up to `heaplimit'.
18537
18538 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18539
18540 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18541 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18542 (_start): Likewise.
18543 (grub_arch_modules_addr): Return address after `_end'.
18544 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18545 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18546 (add_segments): Calculate `_end' from phdr size and location.
18547 (ALIGN_UP): Moved to ...
18548 * include/grub/misc.h: here.
18549 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18550 New macro.
18551 (GRUB_IEEE1275_MODULE_BASE): Removed.
18552
18553 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18554
18555 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18556 loop boundary.
18557
18558 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18559
18560 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18561 All users updated.
18562 (grub_elf64_load_hook_t): Likewise.
18563 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18564 debug output.
18565
18566 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18567
18568 * kern/mm.c: Update copyright.
18569 (grub_mm_debug): Correct syntax error.
18570 (grub_mm_dump_free): New function.
18571 (grub_debug_free): Call `grub_free'.
18572 * include/grub/mm.h: Update copyright.
18573 (grub_mm_dump_free): Add declaration.
18574
18575 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18576
18577 * include/grub/ieee1275/ieee1275.h: Update copyright.
18578 * kern/powerpc/ieee1275/init.c: Likewise.
18579 * kern/powerpc/ieee1275/openfw.c: Likewise.
18580
18581 * loader/powerpc/ieee1275/linux.c: Likewise.
18582 * include/grub/elfload.h: Likewise.
18583 * kern/elf.c: Likewise.
18584 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18585 callers.
18586 (grub_elf64_load): Likewise.
18587 (grub_elf32_load_segment): Move to a nested function.
18588 (grub_elf64_load_segment): Likewise.
18589
18590 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18591
18592 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18593 prototype.
18594 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18595 (grub_heap_len): Likewise.
18596 (HEAP_SIZE): New macro.
18597 (grub_claim_heap): New function.
18598 (grub_machine_init): Don't claim heap directly. Call
18599 `grub_claim_heap'.
18600 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18601 (grub_available_iterate): New function.
18602
18603 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18604
18605 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18606 * configure.ac: Use it for testing the HOST and TARGET compilers.
18607
18608 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18609
18610 * Makefile.in (enable_grub_emu): New variable.
18611 * configure.ac (--enable-grub-emu): New option.
18612 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18613 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18614 * conf/i386-pc.rmk: Likewise.
18615 * conf/powerpc-ieee1275.rmk: Likewise.
18616 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18617
18618 2006-12-12 Marco Gerards <marco@gnu.org>
18619
18620 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18621
18622 * kern/env.c (grub_env_unset): Don't free the member `value' when
18623 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18624 pointer.
18625
18626 * normal/main.c (current_menu): Removed.
18627 (free_menu): Unset the `menu' environment variable.
18628 (grub_normal_menu_addentry): Make use of the environment variable
18629 `menu', instead of using the global `current_menu'. Allocate
18630 memory for the sourcecode of this entry.
18631 (read_config_file): New argument `nested', changed all callers.
18632 Only in the case of a new context, initialize a new menu. Set the
18633 `menu' environment variable.
18634 (grub_normal_execute): Don't set and unset the environment
18635 variable `menu' here anymore. Only free the menu when leaving the
18636 context.
18637
18638 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18639 leak.
18640
18641 2006-12-11 Marco Gerards <marco@gnu.org>
18642
18643 * normal/menu_entry.c (run): Fix off by one bug so the last line
18644 is executed. Move the loader check to outside the loop.
18645
18646 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18647
18648 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18649
18650 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18651
18652 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18653 the number of sectors. Reported by Andrey Shuvikov
18654 <mr_hyro@yahoo.com>.
18655
18656 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18657
18658 * kern/disk.c (grub_disk_read): When there is a read error, always
18659 try to read only the necessary data.
18660
18661 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18662 disk/raid.c.
18663 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18664 prototype.
18665 [GRUB_UTIL] (grub_raid_fini): Likewise.
18666 [GRUB_UTIL] (grub_lvm_init): Likewise.
18667 [GRUB_UTIL] (grub_lvm_fini): Likewise.
18668 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18669 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18670 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18671 and grub_raid_fini().
18672
18673 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18674
18675 * include/grub/types.h (__unused): Rename to UNUSED.
18676 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18677 (grub_elf64_size): Likewise.
18678
18679 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18680
18681 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18682 grub_error_push and grub_error_pop in the error-handling path.
18683 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18684 length.
18685
18686 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18687
18688 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18689 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18691 (kernel_elf_SOURCES): Likewise.
18692 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18693 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18694 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18695 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18696 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18697 (elf_mod_SOURCES): New variable.
18698 (elf_mod_CFLAGS): Likewise.
18699 (elf_mod_LDFLAGS): Likewise.
18700 * include/grub/types.h (__unused): New macro.
18701 * include/grub/elfload.h: New file.
18702 * kern/elf.c: Likewise.
18703 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18704 (ELF32_LOADMASK): New macro.
18705 (ELF64_LOADMASK): Likewise.
18706 (vmlinux): Removed.
18707 (grub_linux_load32): New function.
18708 (grub_linux_load64): Likewise.
18709 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18710 Use grub_elf_t instead of grub_file_t.
18711
18712 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18713
18714 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18715 `catch_result' to struct set_color_args.
18716
18717 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18718
18719 * normal/menu.c: Include grub/script.h.
18720 * normal/menu_entry.c: Likewise.
18721 * include/grub/normal.h: Do not include grub/script.h.
18722
18723 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18724
18725 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18726
18727 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18728
18729 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18730 disk.
18731 (grub_disk_close): Print debug messages when closing a disk.
18732 (grub_disk_read): Print debug messages when disk read fails.
18733 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18734 filesystem type.
18735 * kern/partition.c: Include misc.h.
18736 (grub_partition_iterate): Print debug messages when detecting
18737 partition type.
18738
18739 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18740
18741 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18742 is negative.
18743 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18744
18745 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18746
18747 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18748 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18749
18750 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18751
18752 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18753 instead of sizeof(lv). Patch by Michael Guntsche.
18754
18755 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18756
18757 * disk/lvm.c: Rename VGS to VG_LIST.
18758 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18759 (grub_lvm_open): Likewise.
18760 Thanks to Michael Guntsche for finding this bug.
18761
18762 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18763
18764 * configure.ac (AC_INIT): Bumped to 1.95.
18765
18766 2006-10-14 Robert Millan <rmh@aybabtu.com>
18767
18768 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18769 with "/dev/.static/dev/md".
18770
18771 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18772
18773 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18774 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18775 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18776 DRIVE_NAME are always freed.
18777
18778 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18779 DOS_PART, as a DOS partition is counted from one instead of zero
18780 now. Reported by Robert Millan.
18781
18782 2006-10-14 Robert Millan <rmh@aybabtu.com>
18783
18784 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18785 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18786 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18787 string returned by grub_guess_root_device.
18788 * util/i386/pc/grub-setup.c: Likewise.
18789 * util/i386/pc/grub-probefs.c: Likewise.
18790
18791 * util/i386/pc/grub-probefs.c: Rename to ...
18792 * util/i386/pc/grub-probe.c: ... this.
18793 * DISTLIST: Remove grub-probefs, add grub-probe.
18794 * conf/i386-efi.rmk: Likewise.
18795 * conf/i386-pc.rmk: Likewise.
18796 * util/i386/pc/grub-install.in: Likewise.
18797
18798 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18799 choose which information we want to print.
18800
18801 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18802
18803 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18804 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18805 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18806 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18807 video/readers/tga.c and video/i386/pc/vbeutil.c.
18808
18809 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18810
18811 Added support for RAID and LVM.
18812
18813 * disk/lvm.c: New file.
18814 * disk/raid.c: Likewise.
18815 * include/grub/lvm.h: Likewise.
18816 * include/grub/raid.h: Likewise.
18817 * include/grub/util/lvm.h: Likewise.
18818 * include/grub/util/raid.h: Likewise.
18819 * util/lvm.c: Likewise.
18820 * util/raid.c: Likewise.
18821
18822 * include/grub/disk.h (grub_disk_dev_id): Add
18823 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18824 (grub_disk_get_size): New prototype.
18825 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18826 returns a partition.
18827 (grub_disk_get_size): New function.
18828
18829 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18830 verbatim if grub_install_dos_part is -2.
18831
18832 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18833 and LVM devices.
18834
18835 * util/i386/pc/grub-setup.c (setup): New argument
18836 MUST_EMBED. Force embedding of GRUB when the argument is
18837 true. Close FILE before returning.
18838 (main): Add support for RAID and LVM.
18839
18840 * conf/common.rmk: Add RAID and LVM modules.
18841 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18842 util/lvm.c.
18843 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18844
18845 * kern/misc.c (grub_strstr): New function.
18846 * include/grub/misc.h (grub_strstr): New prototype.
18847
18848 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18849
18850 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18851
18852 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18853
18854 * kern/misc.c (grub_strtoull): Guess the base only if not
18855 specified.
18856
18857 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
18858
18859 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18860 PowerMac support.
18861
18862 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
18863
18864 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18865
18866 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18867 Remove `flags' argument. All callers changed.
18868 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18869 (IEEE1275_IHANDLE_INVALID): New variable.
18870 (IEEE1275_CELL_INVALID): New variable.
18871 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18872 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18873 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18874 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18875 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18876 codes from Open Firmware. All callers updated.
18877 (grub_ieee1275_next_property): Directly return Open Firmware return
18878 code.
18879 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18880 Standardize error checking from `grub_ieee1275_get_property'.
18881 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18882 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18883
18884 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
18885
18886 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18887 `instance_to_package_args' to `instance_to_path_args'.
18888
18889 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18890 `grub_ieee1275_chosen'.
18891
18892 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18893 `grub_ieee1275_interpret'.
18894
18895 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
18896
18897 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18898
18899 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
18900
18901 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18902 (__cmpdi): Likewise.
18903
18904 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18905 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18906 `grub_ssize_t'.
18907
18908 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
18909
18910 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18911 to type `grub_ssize_t'.
18912 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18913
18914 2006-09-22 Marco Gerards <marco@gnu.org>
18915
18916 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18917 newlines.
18918
18919 2006-09-22 Marco Gerards <marco@gnu.org>
18920
18921 * commands/echo.c: New file.
18922
18923 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18924
18925 * conf/common.rmk (echo_mod_SOURCES): New variable.
18926 (echo_mod_CFLAGS): Likewise.
18927 (echo_mod_LDFLAGS): Likewise.
18928
18929 2006-09-22 Marco Gerards <marco@gnu.org>
18930
18931 * normal/main.c (get_line): Malloc memory instead of using
18932 preallocated memory. Removed the arguments `cmdline' and
18933 `max_len'. Updated all callers.
18934
18935 2006-09-22 Marco Gerards <marco@gnu.org>
18936
18937 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18938 (normal_mod_DEPENDENCIES): Likewise.
18939
18940 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18941 (normal_mod_DEPENDENCIES): Likewise.
18942
18943 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18944
18945 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
18946
18947 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18948 programs.
18949 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18950 (normal_mod_DEPENDENCIES): Likewise.
18951 * conf/i386-pc.mk: Regenerate.
18952 * conf/i386-efi.mk: Likewise
18953 * conf/common.mk: Likewise.
18954 * conf/powerpc-ieee1275.mk: Likewise.
18955 * conf/sparc64-ieee1275.mk: Likewise.
18956
18957 2006-09-22 Robert Millan <rmh@aybabtu.com>
18958
18959 Sync with i386 version.
18960 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18961 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18962
18963 2006-09-21 Robert Millan <rmh@aybabtu.com>
18964
18965 Import from GRUB Legacy (lib/device.c):
18966 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18967 (init_device_map) [__linux__]: Add support for I2O devices.
18968
18969 2006-09-14 Marco Gerards <marco@gnu.org>
18970
18971 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18972 `-melf_i386'.
18973
18974 2006-09-14 Robert Millan <rmh@aybabtu.com>
18975
18976 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18977 /boot/grub/*.lst.
18978
18979 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
18980
18981 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18982 before adding it to device.map.
18983
18984 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
18985
18986 * genmk.rb: Let GCC generate dependencies the first time it
18987 compiles a file; using the -MD option.
18988 * conf/common.mk: Regenerate.
18989 * conf/i386-pc.mk: Likewise.
18990 * conf/i386-efi.mk: Likewise.
18991 * conf/powerpc-ieee1275.mk: Likewise.
18992 * conf/sparc64-ieee1275.mk: Likewise.
18993
18994 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18995
18996 Move the prototypes of grub_setjmp and grub_longjmp to
18997 cpu/setjmp.h, so that each architecture may specify different
18998 attributes.
18999
19000 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
19001 (grub_longjmp): Likewise.
19002 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
19003 (grub_longjmp): Likewise.
19004 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
19005 (grub_longjmp): Likewise.
19006
19007 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
19008 [!GRUB_UTIL] (grub_longjmp): Removed.
19009
19010 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
19011
19012 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
19013 "color!" method does not return any value.
19014
19015 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19016
19017 * include/grub/bitmap.h: New file.
19018
19019 * include/grub/i386/pc/vbeutil.h: Likewise.
19020
19021 * video/bitmap.c: Likewise.
19022
19023 * video/readers/tga.c: Likewise.
19024
19025 * video/i386/pc/vbeutil.c: Likewise.
19026
19027 * commands/videotest.c: Code cleanup and updated to reflect to new
19028 video API.
19029
19030 * term/gfxterm.c: Likewise.
19031
19032 * video/video.c: Likewise.
19033
19034 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
19035 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
19036 (bitmap_mod_SOURCES): New entry.
19037 (bitmap_mod_CFLAGS): Likewise.
19038 (bitmap_mod_LDFLAGS): Likewise.
19039 (tga_mod_SOURCES): Likewise.
19040 (tga_mod_CFLAGS): Likewise.
19041 (tga_mod_LDFLAGS): Likewise.
19042
19043 * include/grub/video.h (grub_video_blit_operators): New enum type.
19044 (grub_video_render_target): Changed as forward declaration and moved
19045 actual definition to be video driver specific.
19046 (grub_video_adapter.blit_bitmap): Added blitting operator.
19047 (grub_video_adapter.blit_render_target): Likewise.
19048 (grub_video_blit_bitmap): Likewise.
19049 (grub_video_blit_render_target): Likewise.
19050
19051 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
19052 driver specific render target definition.
19053 (grub_video_vbe_map_rgba): Added driver internal helper.
19054 (grub_video_vbe_unmap_color): Updated to use
19055 grub_video_i386_vbeblit_info.
19056 (grub_video_vbe_get_video_ptr): Likewise.
19057
19058 * include/grub/i386/pc/vbeblit.h
19059 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
19060 grub_video_i386_vbeblit_info.
19061 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19062 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19063 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19064 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19065 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19066 (grub_video_i386_vbeblit_index_index): Likewise.
19067 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
19068 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19069 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19070 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
19071 operator.
19072 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
19073 operator.
19074
19075 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19076 include/grub/i386/pc/vbeblit.h.
19077
19078 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19079 Updated to use grub_video_i386_vbeblit_info.
19080 (grub_video_i386_vbefill_R8G8B8): Likewise.
19081 (grub_video_i386_vbefill_index): Likewise.
19082 (grub_video_i386_vbefill): Added generic filler.
19083
19084 * video/i386/pc/vbefill.c: Updated to reflect changes on
19085 include/grub/i386/pc/vbefill.h.
19086
19087 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19088 grub_video_i386_vbeblit_info.
19089 (grub_video_vbe_unmap_color): Likewise.
19090 (grub_video_vbe_blit_glyph): Likewise.
19091 (grub_video_vbe_scroll): Likewise.
19092 (grub_video_vbe_draw_pixel): Removed function.
19093 (grub_video_vbe_get_pixel): Likewise.
19094 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19095 updated code to use it.
19096 (common_blitter): Added common blitter for render target and bitmap.
19097 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19098 (grub_video_vbe_blit_render_target): Likewise.
19099
19100 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
19101
19102 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19103 is in text mode if there is no console control protocol instance
19104 available.
19105
19106 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19107
19108 * include/grub/video.h: Code cleanup.
19109
19110 * include/grub/i386/pc/vbe.h: Likewise.
19111
19112 * video/i386/pc/vbe.c: Likewise.
19113
19114 * video/i386/pc/vbeblit.c: Likewise.
19115
19116 * video/i386/pc/vbefill.c: Likewise.
19117
19118 * video/video.c: Likewise. Also added more comments.
19119
19120 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19121
19122 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19123 (struct grub_biosdisk_dap): Likewise.
19124
19125 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19126 linkage settings for all functions.
19127
19128 2006-07-12 Marco Gerards <marco@gnu.org>
19129
19130 * configure.ac (--enable-mm-debug): Fix typo.
19131
19132 * genkernsyms.sh.in: Use proper quoting for `CC'.
19133
19134 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19135
19136 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19137 (normal_mod_ASFLAGS): Remove "-m32".
19138
19139 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19140
19141 * util/misc.c: Include config.h.
19142 [!HAVE_MEMALIGN]: Do not include malloc.h.
19143 (grub_memalign): Use posix_memalign, if present. Then, use
19144 memalign, if present. Otherwise, emit an error.
19145
19146 * util/grub-emu.c: Do not include malloc.h.
19147
19148 * include/grub/util/misc.h: Include unistd.h. This is required for
19149 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19150 D. Eades III <hde@foobar-qux.org>.
19151
19152 * configure.ac (AC_GNU_SOURCE): Added.
19153 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19154 type.
19155
19156 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19157
19158 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19159 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19160
19161 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19162
19163 * include/grub/types.h (grub_host_addr_t): Rename to
19164 grub_target_addr_t.
19165 (grub_host_off_t): Rename to grub_target_off_t.
19166 (grub_host_size_t): Rename to grub_target_size_t.
19167 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19168 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19169
19170 * include/grub/kernel.h (struct grub_module_header): Change type
19171 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19172 (grub_module_info): Likewise.
19173
19174 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19175
19176 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19177 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19178 Velazquez <jesus.velazquez@gmail.com>.
19179
19180 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19181
19182 Count partitions from 1 instead of 0 in the string representation
19183 of partitions. Still use 0-based internally.
19184
19185 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19186 (sun_partition_map_iterate): Use grub_partition_t instead of
19187 struct grub_partition *. Cast DESC->START_CYLINDER to
19188 grub_uint64_t after converting the endian.
19189 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19190 (sun_partition_map_get_name): Add 1 to P->INDEX.
19191
19192 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19193 PCDATA->DOS_PART.
19194 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19195
19196 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19197 zero instead of one.
19198 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19199 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19200
19201 * partmap/apple.c (apple_partition_map_iterate): Change the type
19202 of POS to unsigned.
19203 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19204 (apple_partition_map_get_name): Add 1 into P->INDEX.
19205
19206 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19207 of POS to unsigned.
19208 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19209 calculate the offset of a partition.
19210 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19211 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19212
19213 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19214 SECTOR to grub_disk_addr_t.
19215 (acorn_partition_map_iterate): Likewise.
19216 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19217 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19218 top.
19219 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19220
19221 * kern/i386/pc/init.c (make_install_device): Add 1 into
19222 GRUB_INSTALL_DOS_PART.
19223
19224 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19225 conditional.
19226
19227 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19228
19229 Clean up the code to support 64-bit addressing in disks and
19230 files. This change is not enough for filesystems yet.
19231
19232 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19233 type of "start" to grub_uint64_t.
19234 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19235 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19236 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19237 convert addresses.
19238
19239 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19240 to grub_disk_addr_t.
19241
19242 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19243 string.
19244
19245 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19246
19247 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19248 to char *.
19249
19250 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19251
19252 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19253
19254 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19255
19256 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19257 to grub_off_t, to detect an error from grub_file_seek.
19258 (grub_multiboot_load_elf32): Likewise.
19259
19260 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19261 maximum unsigned long value when an overflow is detected.
19262 (grub_strtoull): New function.
19263 (grub_divmod64): Likewise.
19264 (grub_lltoa): use grub_divmod64.
19265
19266 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19267 grub_disk_addr_t.
19268 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19269 the pointer to next character. Use grub_strtoull instead of
19270 grub_strtoul.
19271 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19272 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19273 respectively.
19274
19275 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
19276 return value is signed.
19277 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19278 test if OFFSET is less than zero, as OFFSET is unsigned now.
19279
19280 * kern/disk.c (struct grub_disk_cache): Change the type of
19281 "sector" to grub_disk_addr_t.
19282 (grub_disk_cache_get_index): Change the type of SECTOR to
19283 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19284 unsigned after shifting.
19285 (grub_disk_cache_invalidate): Change the type of SECTOR to
19286 grub_disk_addr_t.
19287 (grub_disk_cache_unlock): Likewise.
19288 (grub_disk_cache_store): Likewise.
19289 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19290 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19291 grub_disk_addr_t and grub_uint64_t, respectively.
19292 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19293 body, as the value of OFFSET is tweaked by
19294 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19295 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19296 respectively.
19297 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19298 body, as the value of OFFSET is tweaked by
19299 grub_disk_check_range. Change the types of LEN and N to
19300 grub_size_t.
19301
19302 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19303 and "saved_offset" to grub_off_t.
19304 (test_header): Cast BUF to char *.
19305 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19306 to char *.
19307 (grub_gzio_read): Change the types of OFFSET and SIZE to
19308 grub_off_t and grub_size_t, respectively.
19309
19310 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19311 Removed.
19312 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19313 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19314 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19315 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19316 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19317
19318 * include/grub/types.h (grub_off_t): Unconditionally set to
19319 grub_uint64_t.
19320 (grub_disk_addr_t): Changed to grub_uint64_t.
19321
19322 * include/grub/partition.h (struct grub_partition): Change the
19323 types of "start", "len" and "offset" to grub_disk_addr_t,
19324 grub_uint64_t and grub_disk_addr_t, respectively.
19325 (grub_partition_get_start): Return grub_disk_addr_t.
19326 (grub_partition_get_len): Return grub_uint64_t.
19327
19328 * include/grub/misc.h (grub_strtoull): New prototype.
19329 (grub_divmod64): Likewise.
19330
19331 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19332 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19333 grub_off_t, respectively.
19334 All callers and references changed.
19335
19336 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19337 grub_size_t in "read".
19338 All callers and references changed.
19339
19340 * include/grub/file.h (struct grub_file): Change the types of
19341 "offset" and "size" to grub_off_t and grub_off_t,
19342 respectively. Change the type of SECTOR to grub_disk_addr_t in
19343 "read_hook".
19344 (grub_file_read): Change the type of LEN to grub_size_t.
19345 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19346 grub_off_t.
19347 (grub_file_size): Return grub_off_t.
19348 (grub_file_tell): Likewise.
19349 All callers and references changed.
19350
19351 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19352 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19353 "write".
19354 (struct grub_disk): Change the type of "total_sectors" to
19355 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
19356 "read_hook".
19357 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19358 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19359 (grub_disk_write): Likewise.
19360 All callers and references changed.
19361
19362 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19363 char * for grub_strncmp to silence gcc.
19364 (grub_iso9660_mount): Likewise.
19365 (grub_iso9660_mount): Likewise.
19366 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19367 return statement.
19368 (grub_iso9660_iterate_dir): Likewise.
19369 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19370
19371 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19372 LEN to grub_disk_addr_t and grub_size_t, respectively.
19373
19374 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19375
19376 * fs/jfs.c (grub_jfs_read_file): Likewise.
19377
19378 * fs/minix.c (grub_jfs_read_file): Likewise.
19379
19380 * fs/sfs.c (grub_jfs_read_file): Likewise.
19381
19382 * fs/ufs.c (grub_jfs_read_file): Likewise.
19383
19384 * fs/xfs.c (grub_jfs_read_file): Likewise.
19385
19386 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19387 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19388 respectively.
19389
19390 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19391 BLKNR to -1 instead of returning GRUB_ERRNO.
19392 (grub_ext2_read_file): Change the types of SECTOR and
19393 LEN to grub_disk_addr_t and grub_size_t, respectively.
19394
19395 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19396 LEN to grub_disk_addr_t and grub_size_t, respectively.
19397
19398 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19399 grub_file_read.
19400
19401 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19402 string. Do not cast SECTOR explicitly.
19403
19404 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19405 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19406 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19407 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19408 over 2TB and LBA mode is not supported, raise an error.
19409 (get_safe_sectors): New function.
19410 (grub_biosdisk_read): Use get_safe_sectors.
19411 (grub_biosdisk_write): Likewise.
19412
19413 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19414 (grub_efidisk_write): Likewise.
19415
19416 * disk/loopback.c (delete_loopback): Cosmetic changes.
19417 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19418 correctly.
19419 (grub_loopback_open): Likewise.
19420 (grub_loopback_read): Likewise. Also, change the type of POS to
19421 grub_off_t, and fix the usage of grub_memset.
19422
19423 * commands/i386/pc/play.c: Include grub/machine/time.h.
19424
19425 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19426 print FILE->SIZE.
19427
19428 * commands/configfile.c: Include grub/env.h.
19429
19430 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19431 GRUB_ERRNO directly instead. Change the type of POS to
19432 grub_off_t. Follow the coding standard.
19433
19434 * commands/blocklist.c: Include grub/partition.h.
19435 (grub_cmd_blocklist): Return an error if the underlying device is
19436 not a disk. Take the starting sector of a partition into account,
19437 if a partition is used.
19438
19439 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19440 a length field.
19441 (lba_mode): Support 64-bit addresses.
19442 (chs_mode): Likewise.
19443 (copy_buffer): Adapted to the new offsets of a length field and a
19444 segment field.
19445 (blocklist_default_start): Allocate 64-bit space.
19446
19447 * boot/i386/pc/boot.S (force_lba): Removed.
19448 (boot_drive): Moved to under KERNEL_SECTOR.
19449 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
19450 space.
19451 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19452 is useless.
19453 (lba_mode): Refactored to support a 64-bit address. More size
19454 optimization.
19455 (setup_sectors): Likewise.
19456
19457 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19458
19459 * DISTLIST: Added include/grub/i386/linux.h. Removed
19460 include/grub/i386/pc/linux.h
19461
19462 * configure.ac (AC_INIT): Bumped to 1.94.
19463
19464 * config.guess: Updated from gnulib.
19465 * config.sub: Likewise.
19466 * install-sh: Likewise.
19467 * mkinstalldirs: Likewise.
19468
19469 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19470
19471 * conf/common.rmk (grub_modules_init.lst): Depended on
19472 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19473 MODSRCFILES.
19474
19475 * genmk.rb (PModule::rule): Reverted the previous change.
19476
19477 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19478
19479 * conf/common.rmk (grub_modules_init.lst): Depends on
19480 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19481 that the target does not exist before producing.
19482 (grub_modules_init.h): Remove the target before generating.
19483 (grub_emu_init.c): Likewise.
19484
19485 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19486
19487 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19488
19489 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19490 for the target-specific tests. Make sure that we also have the
19491 up-to-date target variables for those tests.
19492
19493 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19494
19495 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19496 (PModule::rule): Likewise.
19497
19498 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19499
19500 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19501 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19502 target-specific flags should be prefixed.
19503 (PModule::rule): Likewise.
19504
19505 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19506
19507 * configure.ac (CMP): Check if cmp is available explicitly.
19508
19509 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19510
19511 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19512 (target_cpu): New variable.
19513 (pkglibdir): Use target_cpu instead of host_cpu.
19514
19515 * util/i386/pc/grub-install.in (host_cpu): Removed.
19516 (target_cpu): New variable.
19517 (pkglibdir): Use target_cpu instead of host_cpu.
19518
19519 * util/genmoddep.c: Removed.
19520
19521 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19522 instead of GRUB_HOST_SIZEOF_VOID_P.
19523 * kern/dl.c: Likewise.
19524
19525 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19526 ...
19527 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19528 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19529 (GRUB_TARGET_SIZEOF_LONG): ... this.
19530 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19531 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19532 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19533 to ...
19534 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19535 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19536 (GRUB_TARGET_SIZEOF_LONG): ... this.
19537 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19538 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19539 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19540 to ...
19541 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19542 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19543 (GRUB_TARGET_SIZEOF_LONG): ... this.
19544 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19545 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19546
19547 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19548 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19549 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19550 instead of GRUB_HOST_SIZEOF_LONG.
19551 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19552 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19553 GRUB_CPU_WORDS_BIGENDIAN.
19554 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19555 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19556 grub_host_ssize_t.
19557
19558 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19559 (genmoddep_SOURCES): Likewise.
19560 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19561 (genmoddep_SOURCES): Likewise.
19562 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19563 (genmoddep_SOURCES): Likewise.
19564 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19565 Likewise.
19566 (genmoddep_SOURCES): Likewise.
19567
19568 * genmoddep.awk: New file.
19569
19570 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19571 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19572 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19573 (PModule::rule): Likewise.
19574 (Program::rule): Likewise.
19575 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19576 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19577 respectively.
19578
19579 * configure.ac: Rewritten intensively to use host and target
19580 instead of build and host, respectively.
19581
19582 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19583 (host_cpu): Removed.
19584 (target_cpu): New variable.
19585 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19586 (BUILD_CC): Removed.
19587 (BUILD_CFLAGS): Likewise.
19588 (BUILD_CPPFLAGS): Likewise.
19589 (TARGET_CC): New variable.
19590 (TARGET_CFLAGS): Likewise.
19591 (TARGET_CPPFLAGS): Likewise.
19592 (TARGET_LDFLAGS): Likewise.
19593 (AWK): Likewise.
19594 (include): Use target_cpu instead of host_cpu.
19595 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
19596
19597 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19598
19599 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19600
19601 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19602 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19603 field 'false' to 'exec_on_false'.
19604 (grub_script_create_cmdif): Renamed argument names to reflect above
19605 changes.
19606
19607 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19608
19609 * normal/script.c (grub_script_create_cmdif): Likewise.
19610
19611 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19612
19613 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19614 top.
19615 (grub_hfsplus_btree_recptr): Likewise.
19616 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19617 FILEBLOCK both to pass a block number and store next block
19618 number.
19619 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19620 overflow file correctly. Specify errors appropriately, because
19621 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19622 grub_hfsplus_btree_recptr to get the pointer to a found key.
19623 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19624 is found.
19625
19626 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19627 linux.mod.
19628 (_linux_mod_SOURCES): New variable.
19629 (_linux_mod_CFLAGS): Likewise.
19630 (_linux_mod_LDFLAGS): Likewise.
19631 (linux_mod_SOURCES): Likewise.
19632 (linux_mod_CFLAGS): Likewise.
19633 (linux_mod_LDFLAGS): Likewise.
19634
19635 * DISTLIST: Added loader/i386/efi/linux.c,
19636 loader/i386/efi/linux_normal.c and
19637 include/grub/i386/efi/loader.h.
19638
19639 * loader/i386/efi/linux.c: New file.
19640 * loader/i386/efi/linux_normal.c: Likewise.
19641 * include/grub/i386/efi/loader.h: Likewise.
19642
19643 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19644
19645 * commands/blocklist.c: New file.
19646
19647 * DISTLIST: Added commands/blocklist.c.
19648
19649 * term/efi/console.c (grub_console_highlight_color): Use a lighter
19650 color for the background, and a darker color for the foreground.
19651 (grub_console_checkkey): Return READ_KEY.
19652 (grub_console_cls): Set the background to
19653 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19654
19655 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19656
19657 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19658 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19659
19660 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19661 prototype.
19662
19663 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19664 BG. The spec is wrong again.
19665
19666 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19667 prototype.
19668 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19669
19670 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19671 commands/blocklist.c.
19672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19673
19674 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19675 (blocklist_mod_SOURCES): New variable.
19676 (blocklist_mod_CFLAGS): Likewise.
19677 (blocklist_mod_LDFLAGS): Likewise.
19678
19679 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19680
19681 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19682 duplication.
19683 (lba_mode): Use %eax more intensively to reduce the code size.
19684
19685 2006-05-20 Marco Gerards <marco@gnu.org>
19686
19687 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19688
19689 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19690 for `menuentry'.
19691 (script): Accept leading newlines.
19692 (newlines): New rule to describe 0 or more newlines.
19693 (commands): Accept `command' with trailing newline. Fixed the
19694 order in which arguments were passed to `grub_script_add_cmd'.
19695 Accept commands separated by newlines.
19696 (function): Changed to accept newlines.
19697 (menuentry) Rewritten.
19698
19699 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19700 front of the list, instead of to the end.
19701
19702 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19703
19704 * util/i386/pc/grub-install.in (bindir): New variable.
19705 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19706 Shaver <lbgwjl@gmail.com>.
19707
19708 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19709
19710 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19711 grub/machine/linux.h
19712 * loader/i386/pc/linux.c: Likewise.
19713
19714 * include/grub/i386/pc/linux.h: Moved to ...
19715 * include/grub/i386/linux.h: ... here.
19716
19717 * include/grub/i386/linux.h (struct linux_kernel_params): New
19718 struct.
19719
19720 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19721
19722 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19723 checking.
19724 (grub_video_vbe_blit_glyph): Likewise.
19725 (grub_video_vbe_blit_bitmap): Likewise.
19726 (grub_video_vbe_blit_render_target): Likewise.
19727
19728 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19729
19730 * configure.ac (--with-platform): Properly quote the square
19731 brackets.
19732
19733 2006-05-08 Marco Gerards <marco@gnu.org>
19734
19735 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19736 this...
19737 (kernel_elf_HEADERS): ...to this. Updated all users.
19738 (grubof_symlist.c): Renamed from this...
19739 (kernel_elf_symlist.c): ...to this. Updated all users.
19740 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19741 (grubof_SOURCES): Renamed from this...
19742 (kernel_elf_SOURCES): ...to this.
19743 (grubof_HEADERS): Renamed from this...
19744 (kernel_elf_HEADERS): ...to this.
19745 (grubof_CFLAGS): Renamed from this...
19746 (kernel_elf_CFLAGS): ...to this.
19747 (grubof_ASFLAGS): Renamed from this...
19748 (kernel_elf_ASFLAGS): ...to this.
19749 (grubof_LDFLAGS): Renamed from this...
19750 (kernel_elf_LDFLAGS): ...to this.
19751
19752 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19753 this...
19754 (kernel_elf_HEADERS): ...to this. Updated all users.
19755 (grubof_symlist.c): Renamed from this...
19756 (kernel_elf_symlist.c): ...to this. Updated all users.
19757 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19758 (grubof_SOURCES): Renamed from this...
19759 (kernel_elf_SOURCES): ...to this.
19760 (grubof_HEADERS): Renamed from this...
19761 (kernel_elf_HEADERS): ...to this.
19762 (grubof_CFLAGS): Renamed from this...
19763 (kernel_elf_CFLAGS): ...to this.
19764 (grubof_ASFLAGS): Renamed from this...
19765 (kernel_elf_ASFLAGS): ...to this.
19766 (grubof_LDFLAGS): Renamed from this...
19767 (kernel_elf_LDFLAGS): ...to this.
19768
19769 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19770 `kernel.elf' instead of `grubof'.
19771
19772 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19773
19774 Add --with-platform to configure. Use pkglibdir instead of
19775 pkgdatadir. This is reported by Roger Leigh.
19776
19777 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19778 (host_vendor): Likewise.
19779 (host_os): Likewise.
19780 (pkgdatadir): Likewise.
19781 (platform): New variable.
19782 (pkglibdir): Likewise.
19783 Use PKGLIBDIR instead of PKGDATADIR.
19784
19785 * util/i386/pc/grub-install.in (datadir): Removed.
19786 (host_vendor): Likewise.
19787 (host_os): Likewise.
19788 (pkgdatadir): Likewise.
19789 (platform): New variable.
19790 (pkglibdir): Likewise.
19791 Use PKGLIBDIR instead of PKGDATADIR.
19792
19793 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19794 instead of GRUB_DATADIR.
19795 (main): Likewise.
19796 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19797 (main): Likewise.
19798 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19799 (main): Likewise.
19800
19801 * configure.ac (--with-platform): New option.
19802 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19803
19804 * Makefile.in: Include a makefile based on PLATFORM instead of
19805 HOST_VENDOR.
19806 (pkgdatadir): Not appended by the machine type.
19807 (pkglibdir): Appended by the machine type.
19808 (host_vendor): Removed.
19809 (platform): New variable.
19810 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19811 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19812 (uninstall): Likewise.
19813
19814 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19815
19816 Use the environment context in the menu. Remove the commands
19817 "default" and "timeout", and use variables instead.
19818
19819 * normal/menu.c: Include grub/env.h.
19820 (print_entry): Cast TITLE to silence gcc.
19821 (get_timeout): New function.
19822 (set_timeout): Likewise.
19823 (get_entry_number): Likewise.
19824 (run_menu): Use a default entry, a fallback entry and a timeout
19825 in the environment variables "default", "fallback" and
19826 "timeout". Also, tweak the default entry if it is not within the
19827 current menu entries.
19828 (grub_menu_run): Use a fallback entry in the environment variable
19829 "fallback".
19830
19831 * normal/main.c (read_config_file): Do not initialize
19832 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19833 NEWMENU->TIMEOUT.
19834 (grub_normal_execute): Use a data slot to store the menu.
19835
19836 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19837 fallback_entry and timeout.
19838 (struct grub_menu_list): Removed.
19839 (grub_menu_list_t): Likewise.
19840 (struct grub_context): Likewise.
19841 (grub_context_t): Likewise.
19842 (grub_context_get): Likewise.
19843 (grub_context_get_current_menu): Likewise.
19844 (grub_context_push_menu): Likewise.
19845 (grub_context_pop_menu): Likewise.
19846 (grub_default_init): Likewise.
19847 (grub_default_fini): Likewise.
19848 (grub_timeout_init): Likewise.
19849 (grub_timeout_fini): Likewise.
19850
19851 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19852 and timeout.mod.
19853 (normal_mod_SOURCES): Removed normal/context.c.
19854
19855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19856 commands/default.c, commands/timeout.c and normal/context.c.
19857 (normal_mod_SOURCES): Removed normal/context.c.
19858
19859 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19860 commands/timeout.c and normal/context.c.
19861 (normal_mod_SOURCES): Removed normal/context.c.
19862
19863 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19864 commands/default.c, commands/timeout.c and normal/context.c.
19865 (normal_mod_SOURCES): Removed normal/context.c.
19866
19867 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19868 timeout.mod.
19869 (default_mod_SOURCES): Removed.
19870 (default_mod_CFLAGS): Likewise.
19871 (default_mod_LDFLAGS): Likewise.
19872 (timeout_mod_SOURCES): Removed.
19873 (timeout_mod_CFLAGS): Likewise.
19874 (timeout_mod_LDFLAGS): Likewise.
19875
19876 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19877 normal/context.c.
19878
19879 * commands/default.c: Removed.
19880 * commands/timeout.c: Likewise.
19881 * normal/context.c: Likewise.
19882
19883 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19884
19885 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19886
19887 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19888
19889 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19890 "next" to "prev" for readability.
19891 (struct grub_env_sorted_var): New struct.
19892 (grub_env_context): Renamed to ...
19893 (initial_context): ... this.
19894 (grub_env_var_context): Renamed to ...
19895 (current_context): ... this.
19896 (grub_env_find): Look only at CURRENT_CONTEXT.
19897 (grub_env_context_open): Rewritten to copy exported variables from
19898 previous context.
19899 (grub_env_context_close): Rewritten according to the new
19900 scheme. Also, add an assertion to prevent the initial context from
19901 removed.
19902 (grub_env_insert): Removed the code for the sorted list.
19903 (grub_env_remove): Likewise.
19904 (grub_env_export): Simply mark the variable with
19905 GRUB_ENV_VAR_GLOBAL.
19906 (grub_env_set): A cosmetic change for naming consistency.
19907 (grub_env_get): Likewise.
19908 (grub_env_unset): Likewise.
19909 (grub_env_iterate): Rewritten to sort variables within this
19910 function.
19911 (grub_register_variable_hook): Fixed for naming consistency. Call
19912 grub_env_find again, only if NAME is not found at the first time.
19913 (mangle_data_slot_name): New function.
19914 (grub_env_set_data_slot): Likewise.
19915 (grub_env_get_data_slot): Likewise.
19916 (grub_env_unset_data_slot): Likewise.
19917
19918 * include/grub/env.h (grub_env_var_type): New enum.
19919 (GRUB_ENV_VAR_LOCAL): New constant.
19920 (GRUB_ENV_VAR_GLOBAL): Likewise.
19921 (GRUB_ENV_VAR_DATA): Likewise.
19922 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19923 "type".
19924 (grub_env_set): Replace VAR with NAME for consistency.
19925 (grub_register_variable_hook): Likewise.
19926 (grub_env_export): Specify the name of the argument.
19927 (grub_env_set_data_slot): New prototype.
19928 (grub_env_get_data_slot): Likewise.
19929 (grub_env_unset_data_slot): Likewise.
19930
19931 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19932
19933 Extend the loader so that GRUB can accept a loader which comes
19934 back to GRUB when a loaded image exits. Also, this change adds
19935 support for a chainloader on EFI.
19936
19937 * term/efi/console.c: Include grub/misc.h.
19938 (grub_console_checkkey): Display a scan code on the top for
19939 debugging. This will be removed once the EFI port gets stable.
19940 Correct the scan code mapping.
19941
19942 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19943 allocate memory from larger regions, in order to reduce the number
19944 of allocated regions. Otherwise, the MacOSX loader panics.
19945 (filter_memory_map): Avoid less than 1MB for compatibility with
19946 other loaders.
19947 (add_memory_regions): Allocate from the tail of a region, if
19948 possible, to avoid allocating a region near to 1MB, for the MacOSX
19949 loader.
19950
19951 * kern/efi/init.c (grub_efi_set_prefix): Specify
19952 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19953
19954 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19955 argument IMAGE_HANDLE and specify it to get a loaded image.
19956 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19957 grub_efi_get_loaded_image.
19958 (grub_efi_get_filename): Divide the length by the size of
19959 grub_efi_char16_t.
19960 (grub_efi_get_device_path): New function.
19961 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19962 the length by the size of grub_efi_char16_t for a file path device
19963 path node.
19964
19965 * kern/loader.c (grub_loader_noreturn): New variable.
19966 (grub_loader_set): Accept a new argument NORETURN. Set
19967 GRUB_LOADER_NORETURN to NORETURN.
19968 All callers changed.
19969 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19970 grub_machine_fini.
19971
19972 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19973 prototype.
19974 (grub_efi_get_loaded_image): Take an argument to specify an image
19975 handle.
19976
19977 * include/grub/loader.h (grub_loader_set): Added one more argument
19978 NORETURN.
19979
19980 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19981 instead of grub_efi_open_protocol.
19982 (grub_efidisk_get_device_name): Likewise.
19983 (grub_efidisk_close): Print a newline.
19984 (grub_efidisk_get_device_handle): Fixed to use
19985 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19986 GRUB_EFI_DEVICE_PATH_TYPE.
19987
19988 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19989 * kern/efi/efi.c (device_path_guid): ... here.
19990
19991 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19992 chain.mod.
19993 (kernel_mod_HEADERS): Added efi/disk.h.
19994 (_chain_mod_SOURCES): New variable.
19995 (_chain_mod_CFLAGS): Likewise.
19996 (_chain_mod_LDFLAGS): Likewise.
19997 (chain_mod_SOURCES): Likewise.
19998 (chain_mod_CFLAGS): Likewise.
19999 (chain_mod_LDFLAGS): Likewise.
20000
20001 * DISTLIST: Added include/grub/efi/chainloader.h,
20002 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
20003
20004 * include/grub/efi/chainloader.h: New file.
20005 * loader/efi/chainloader.c: Likewise.
20006 * loader/efi/chainloader_normal.c: Likewise.
20007
20008 2006-04-30 Marco Gerards <marco@gnu.org>
20009
20010 * commands/configfile.c (grub_cmd_source): New function.
20011 (GRUB_MOD_INIT): Register the commands `source' and `.'.
20012 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
20013
20014 2006-04-30 Marco Gerards <marco@gnu.org>
20015
20016 * normal/execute.c (grub_script_execute_cmd): Change the return
20017 type to `grub_err_t'. Correctly return the error.
20018 (grub_script_execute_cmdline): In case a command line is not a
20019 command or a function, try to interpret it as an assignment.
20020
20021 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20022
20023 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
20024 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
20025 skip a node whose name is obviously invalid as UTF-16,
20026 i.e. contains a NUL character. Stop the iteration when the last
20027 directory entry is found. Instead of using the return value of
20028 grub_hfsplus_btree_iterate_node, store the value in RET and use
20029 it, because the iterator can be stopped by the last directory
20030 entry.
20031
20032 2006-04-30 Marco Gerards <marco@gnu.org>
20033
20034 * include/grub/env.h (grub_env_export): New prototype. Reported
20035 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
20036
20037 2006-04-30 Marco Gerards <marco@gnu.org>
20038
20039 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
20040 size of the extents in a catalog file record.
20041
20042 2006-04-29 Marco Gerards <marco@gnu.org>
20043
20044 * commands/configfile.c (grub_cmd_configfile): Execute the
20045 configfile within its own context.
20046
20047 * include/grub/env.h (grub_env_context_open): New prototype.
20048 (grub_env_context_close): Likewise.
20049
20050 * kern/env.c (grub_env): Removed.
20051 (grub_env_sorted): Likewise.
20052 (grub_env_context): New variable.
20053 (grub_env_var_context): Likewise.
20054 (grub_env_find): Search both the active context and the global
20055 context.
20056 (grub_env_context_open): New function.
20057 (grub_env_context_close): Likewise.
20058 (grub_env_insert): Likewise.
20059 (grub_env_remove): Likewise.
20060 (grub_env_export): Likewise.
20061 (grub_env_set): Changed to use helper functions to avoid code
20062 duplication.
20063 (grub_env_iterate): Rewritten so both the current context and the
20064 global context are being used.
20065
20066 * normal/command.c (export_command): New function.
20067 (grub_command_init): Register the `export' function.
20068
20069 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
20070
20071 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
20072 explicitly to suppress gcc's warnings.
20073 * fs/fat.c (grub_fat_find_dir): Likewise.
20074 (grub_fat_label): Likewise.
20075 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20076 (grub_xfs_mount): Likewise.
20077 (grub_xfs_label): Likewise.
20078 * fs/affs.c (grub_affs_mount): Likewise.
20079 (grub_affs_label): Likewise.
20080 (grub_affs_iterate_dir): Likewise.
20081 * fs/sfs.c (grub_sfs_mount): Likewise.
20082 (grub_sfs_iterate_dir): Likewise.
20083 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20084 * fs/hfs.c (grub_hfs_mount): Likewise.
20085 (grub_hfs_cmp_catkeys): Likewise.
20086 (grub_hfs_find_dir): Likewise.
20087 (grub_hfs_dir): Likewise.
20088 (grub_hfs_label): Likewise.
20089 * fs/jfs.c (grub_jfs_mount): Likewise.
20090 (grub_jfs_opendir): Likewise.
20091 (grub_jfs_getent): Likewise.
20092 (grub_jfs_lookup_symlink): Likewise.
20093 (grub_jfs_label): Likewise.
20094 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20095 (grub_hfsplus_iterate_dir): Likewise.
20096 (grub_hfsplus_btree_iterate_node): Made static.
20097
20098 * util/grub-emu.c (prefix): New variable.
20099 (grub_machine_set_prefix): New function.
20100 (main): Do not set the environment variable "prefix" here. Only
20101 set PREFIX, which is used later by grub_machine_set_prefix.
20102
20103 * include/grub/video.h: Do not include grub/symbol.h.
20104 (grub_video_register): Not exported. This symbol is not defined in
20105 the kernel.
20106 (grub_video_unregister): Likewise.
20107 (grub_video_iterate): Likewise.
20108 (grub_video_setup): Likewise.
20109 (grub_video_restore): Likewise.
20110 (grub_video_get_info): Likewise.
20111 (grub_video_get_blit_format): Likewise.
20112 (grub_video_set_palette): Likewise.
20113 (grub_video_get_palette): Likewise.
20114 (grub_video_set_viewport): Likewise.
20115 (grub_video_get_viewport): Likewise.
20116 (grub_video_map_color): Likewise.
20117 (grub_video_map_rgb): Likewise.
20118 (grub_video_map_rgba): Likewise.
20119 (grub_video_fill_rect): Likewise.
20120 (grub_video_blit_glyph): Likewise.
20121 (grub_video_blit_bitmap): Likewise.
20122 (grub_video_blit_render_target): Likewise.
20123 (grub_video_scroll): Likewise.
20124 (grub_video_swap_buffers): Likewise.
20125 (grub_video_create_render_target): Likewise.
20126 (grub_video_delete_render_target): Likewise.
20127 (grub_video_set_active_render_target): Likewise.
20128
20129 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20130 Undefined.
20131 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20132
20133 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20134 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20135 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20136 instead of $(srcdir)/genkernsyms.sh.
20137
20138 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20139 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20140 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20141 instead of $(srcdir)/genkernsyms.sh.
20142
20143 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20144 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20145 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20146 instead of $(srcdir)/genkernsyms.sh.
20147
20148 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20149 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20150 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20151 instead of $(srcdir)/genkernsyms.sh.
20152
20153 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20154 genkernsyms.sh.
20155
20156 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20157 genkernsyms.sh.
20158 (gensymlist.sh): New target.
20159 (genkernsyms.sh): Likewise.
20160
20161 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20162 genkernsyms.sh.in and gensymlist.sh.in.
20163
20164 * genkernsyms.sh: Removed.
20165 * gensymlist.sh: Likewise.
20166
20167 * genkernsyms.sh.in: New file.
20168 * gensymlist.sh.in: Likewise.
20169
20170 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20171
20172 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20173 clobber "prefix", since we may have already set it manually.
20174
20175 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20176
20177 * kern/misc.c (abort): New alias for grub_abort.
20178
20179 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20180
20181 A new machine-specific function "grub_machine_set_prefix" is
20182 defined. This is called after loading modules, so that a prefix
20183 initialization can use modules. Also, this change adds an
20184 intensive debugging feature for the memory manager via the
20185 configure option "--enable-mm-debug".
20186
20187 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20188 PART.LEN.
20189
20190 * kern/sparc64/ieee1275/init.c (abort): Removed.
20191 (grub_stop): Likewise.
20192 (grub_exit): New function.
20193 (grub_set_prefix): Renamed to ...
20194 (grub_machine_set_prefix): ... this.
20195 (grub_machine_init): Do not call grub_set_prefix.
20196
20197 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20198 (grub_machine_set_prefix): ... this.
20199 (grub_machine_init): Do not call grub_set_prefix.
20200
20201 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20202 (grub_machine_init): Do not set the prefix here.
20203
20204 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20205
20206 * kern/efi/init.c: Include grub/mm.h.
20207 (grub_efi_set_prefix): New function.
20208
20209 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20210 (grub_efi_get_filename): New function.
20211 (grub_print_device_path): Renamed to ...
20212 (grub_efi_print_device_path): ... this.
20213
20214 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20215 [MM_DEBUG] (grub_realloc): Likewise.
20216 [MM_DEBUG] (grub_free): Likewise.
20217 [MM_DEBUG] (grub_memalign): Likewise.
20218 [MM_DEBUG] (grub_mm_debug): New variable.
20219 [MM_DEBUG] (grub_debug_malloc): New function.
20220 [MM_DEBUG] (grub_debug_free): New function.
20221 [MM_DEBUG] (grub_debug_realloc): New function.
20222 [MM_DEBUG] (grub_debug_memalign): New function.
20223
20224 * kern/misc.c (grub_abort): Print a newline to distinguish
20225 the message.
20226
20227 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20228 grub_set_root_dev after loading modules. This is necessary when
20229 setting a prefix depends on modules.
20230
20231 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20232 (grub_efi_print_device_path): ... this.
20233 (grub_efi_get_filename): New prototype.
20234 (grub_efi_set_prefix): Likewise.
20235
20236 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20237 and grub/disk.h.
20238 (grub_efidisk_get_device_handle): New prototype.
20239 (grub_efidisk_get_device_name): Likewise.
20240
20241 * include/grub/mm.h: Include config.h.
20242 (MM_DEBUG): Removed.
20243 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20244 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20245 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20246 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20247 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20248 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20249 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20250 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20251 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20252
20253 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20254
20255 * disk/efi/efidisk.c: Include grub/partition.h.
20256 (iterate_child_devices): New function.
20257 (add_device): First, compare only last device path nodes, so that
20258 devices are sorted by the types.
20259 (grub_efidisk_get_device_handle): New function.
20260 (grub_efidisk_get_device_name): Likewise.
20261
20262 * configure.ac (--enable-mm-debug): New option to enable the
20263 memory manager debugging feature. This makes the binary much
20264 bigger, so is disabled by default.
20265
20266 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20267
20268 Use grub_abort instead of grub_stop, and grub_exit must be
20269 define in each architecture now. Also, this change adds support
20270 for EFI disks.
20271
20272 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20273 (grub_getkey): New function.
20274 (grub_term_get_current): Likewise.
20275
20276 * util/i386/pc/grub-setup.c: Include grub/term.h.
20277 (grub_getkey): New function.
20278 (grub_term_get_current): Likewise.
20279
20280 * util/misc.c (grub_stop): Renamed to ...
20281 (grub_exit): ... this.
20282
20283 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20284 (grub_exit): ... this.
20285 (grub_machine_init): Use grub_abort instead of abort.
20286 (grub_stop): Removed.
20287
20288 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20289 abort.
20290
20291 * kern/i386/pc/startup.S (grub_exit): New function.
20292 (cold_reboot): New label.
20293
20294 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20295 (grub_efi_init): Call grub_efidisk_init.
20296 (grub_efi_fini): Call grub_efidisk_fini.
20297
20298 * kern/efi/efi.c: Include grub/mm.h.
20299 (grub_efi_console_control_guid): Renamed to ...
20300 (console_control_guid): ... this.
20301 (grub_efi_loaded_image_guid): Renamed to ...
20302 (loaded_image_guid): ... this.
20303 (grub_efi_locate_handle): New function.
20304 (grub_efi_open_protocol): Likewise.
20305 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20306 GRUB_EFI_CONSOLE_CONTROL_GUID.
20307 (grub_efi_exit): Removed.
20308 (grub_stop): Likewise.
20309 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20310 (grub_exit): New function.
20311 (grub_print_device_path): Likewise.
20312
20313 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20314 (grub_enter_rescue_mode): Register "exit".
20315
20316 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20317 (grub_abort): New function.
20318
20319 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20320
20321 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20322
20323 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20324
20325 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20326 (grub_print_device_path): New prototype.
20327 (grub_efi_locate_handle): Likewise.
20328 (grub_efi_open_protocol): Likewise.
20329
20330 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20331 * disk/efi/efidisk.c: Likewise.
20332
20333 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20334
20335 * include/grub/efi/console_control.h
20336 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20337
20338 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20339 last 8 bytes as an array.
20340 (GRUB_EFI_DISK_IO_GUID): New macro.
20341 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20342 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20343 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20344 grub_uint8_t.
20345 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20346 (struct grub_efi_device_path): Rename the member "sub_type" to
20347 "subtype".
20348 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20349 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20350 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20351 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20352 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20353 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20354 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20355 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20356 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20357 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20358 (struct grub_efi_pci_device_path): New structure.
20359 (grub_efi_pci_device_path_t): New type.
20360 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20361 (struct grub_efi_pccard_device_path): New structure.
20362 (grub_efi_pccard_device_path_t): New type.
20363 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20364 (struct grub_efi_memory_mapped_device_path): New structure.
20365 (grub_efi_memory_mapped_device_path_t): New type.
20366 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20367 (struct grub_efi_vendor_device_path): New structure.
20368 (grub_efi_vendor_device_path_t): New type.
20369 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20370 (struct grub_efi_controller_device_path): New structure.
20371 (grub_efi_controller_device_path_t): New type.
20372 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20373 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20374 (struct grub_efi_acpi_device_path): New structure.
20375 (grub_efi_acpi_device_path_t): New type.
20376 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20377 (struct grub_efi_expanded_acpi_device_path): New structure.
20378 (grub_efi_expanded_acpi_device_path_t): New type.
20379 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20380 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20381 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20382 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20383 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20384 (struct grub_efi_atapi_device_path): New structure.
20385 (grub_efi_atapi_device_path_t): New type.
20386 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20387 (struct grub_efi_fibre_channel_device_path): New structure.
20388 (grub_efi_fibre_channel_device_path_t): New type.
20389 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20390 (struct grub_efi_1394_device_path): New structure.
20391 (grub_efi_1394_device_path_t): New type.
20392 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20393 (struct grub_efi_usb_device_path): New structure.
20394 (grub_efi_usb_device_path_t): New type.
20395 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20396 (struct grub_efi_usb_class_device_path): New structure.
20397 (grub_efi_usb_class_device_path_t): New type.
20398 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20399 (struct grub_efi_i2o_device_path): New structure.
20400 (grub_efi_i2o_device_path_t): New type.
20401 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20402 (struct grub_efi_mac_address_device_path): New structure.
20403 (grub_efi_mac_address_device_path_t): New type.
20404 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20405 (struct grub_efi_ipv4_device_path): New structure.
20406 (grub_efi_ipv4_device_path_t): New type.
20407 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20408 (struct grub_efi_ipv6_device_path): New structure.
20409 (grub_efi_ipv6_device_path_t): New type.
20410 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20411 (struct grub_efi_infiniband_device_path): New structure.
20412 (grub_efi_infiniband_device_path_t): New type.
20413 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20414 (struct grub_efi_uart_device_path): New structure.
20415 (grub_efi_uart_device_path_t): New type.
20416 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20417 (struct grub_efi_vendor_messaging_device_path): New structure.
20418 (grub_efi_vendor_messaging_device_path_t): New type.
20419 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20420 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20421 (struct grub_efi_hard_drive_device_path): New structure.
20422 (grub_efi_hard_drive_device_path_t): New type.
20423 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20424 (struct grub_efi_cdrom_device_path): New structure.
20425 (grub_efi_cdrom_device_path_t): New type.
20426 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20427 (struct grub_efi_vendor_media_device_path): New structure.
20428 (grub_efi_vendor_media_device_path_t): New type.
20429 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20430 (struct grub_efi_file_path_device_path): New structure.
20431 (grub_efi_file_path_device_path_t): New type.
20432 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20433 (struct grub_efi_protocol_device_path): New structure.
20434 (grub_efi_protocol_device_path_t): New type.
20435 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20436 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20437 (struct grub_efi_bios_device_path): New structure.
20438 (grub_efi_bios_device_path_t): New type.
20439 (struct grub_efi_disk_io): New structure.
20440 (grub_efi_disk_io_t): New type.
20441 (struct grub_efi_block_io_media): New structure.
20442 (grub_efi_block_io_media_t): New type.
20443 (struct grub_efi_block_io): New structure.
20444 (grub_efi_block_io_t): New type.
20445
20446 * include/grub/misc.h (grub_stop): Removed.
20447 (grub_exit): New prototype.
20448 (grub_abort): Likewise.
20449
20450 * include/grub/disk.h (enum grub_disk_dev_id): Added
20451 GRUB_DISK_DEVICE_EFIDISK_ID.
20452
20453 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20454 disk/efi/efidisk.c.
20455 (kernel_syms.lst): Remove the target if an error occurs.
20456
20457 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20458
20459 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20460 as it was simply too buggy.
20461
20462 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20463
20464 * kern/misc.c (grub_lltoa): New function.
20465 (grub_vsprintf): Added support for the long long suffix,
20466 i.e. "ll".
20467
20468 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20469
20470 * Makefile.in (LDFLAGS): Add variable.
20471 (LD): Remove variable.
20472 * configure.ac: Add -m32 to LDFLAGS.
20473 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20474 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20475 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20476 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20477 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20478 variables.
20479 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20480 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20481 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20482
20483 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20484
20485 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20486 length for unknown glyph.
20487
20488 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20489
20490 Add support for pre-loaded modules into the EFI port.
20491
20492 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20493 completely. Accept one more argument DIR. The caller has changed.
20494
20495 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20496
20497 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20498 (grub_efi_loaded_image_guid): New variable.
20499 (grub_efi_get_loaded_image): New function.
20500 (grub_arch_modules_addr): Likewise.
20501
20502 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20503 prototype.
20504
20505 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20506 (struct grub_efi_loaded_image): New structure.
20507 (grub_efi_loaded_image_t): New type.
20508
20509 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20510
20511 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20512 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20513 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20514
20515 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20516
20517 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20518
20519 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20520
20521 * DISTLIST: Added include/grub/efi/console.h,
20522 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20523 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20524
20525 * include/grub/efi/console.h: New file.
20526 * include/grub/efi/time.h: Likewise.
20527 * include/grub/i386/efi/kernel.h: Likewise.
20528 * kern/efi/init.c: Likewise.
20529 * kern/efi/mm.c: Likewise.
20530 * term/efi/console.c: Likewise.
20531
20532 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20533 (grub_stop): Removed.
20534 (grub_get_rtc): Likewise.
20535 (grub_machine_init): Simply call grub_efi_init.
20536 (grub_machine_fini): Call grub_efi_fini.
20537
20538 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20539 (grub_efi_output_string): Removed.
20540 (grub_efi_stall): New function.
20541 (grub_stop): Likewise.
20542 (grub_get_rtc): Likewise.
20543
20544 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20545 (grub_efi_stall): New prototype.
20546 (grub_efi_allocate_pages): Likewise.
20547 (grub_efi_free_pages): Likewise.
20548 (grub_efi_get_memory_map): Likewise.
20549 (grub_efi_mm_init): Likewise.
20550 (grub_efi_mm_fini): Likewise.
20551 (grub_efi_init): Likewise.
20552 (grub_efi_fini): Likewise.
20553
20554 * include/grub/i386/efi/time.h: Do not include
20555 grub/symbol.h. Include grub/efi/time.h.
20556 (GRUB_TICKS_PER_SECOND): Removed.
20557 (grub_get_rtc): Likewise.
20558
20559 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20560 Added padding. The EFI spec is buggy.
20561 (GRUB_EFI_BLACK): New macro.
20562 (GRUB_EFI_BLUE): Likewise.
20563 (GRUB_EFI_GREEN): Likewise.
20564 (GRUB_EFI_CYAN): Likewise.
20565 (GRUB_EFI_RED): Likewise.
20566 (GRUB_EFI_MAGENTA): Likewise.
20567 (GRUB_EFI_BROWN): Likewise.
20568 (GRUB_EFI_LIGHTGRAY): Likewise.
20569 (GRUB_EFI_BRIGHT): Likewise.
20570 (GRUB_EFI_DARKGRAY): Likewise.
20571 (GRUB_EFI_LIGHTBLUE): Likewise.
20572 (GRUB_EFI_LIGHTGREEN): Likewise.
20573 (GRUB_EFI_LIGHTCYAN): Likewise.
20574 (GRUB_EFI_LIGHTRED): Likewise.
20575 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20576 (GRUB_EFI_YELLOW): Likewise.
20577 (GRUB_EFI_WHITE): Likewise.
20578 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20579 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20580 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20581 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20582 (GRUB_EFI_BACKGROUND_RED): Likewise.
20583 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20584 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20585 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20586 (GRUB_EFI_TEXT_ATTR): Likewise.
20587
20588 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20589 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20590 (kernel_mod_HEADERS): Added efi/time.h.
20591
20592 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20593
20594 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20595 include/grub/efi/api.h, include/grub/efi/console_control.h,
20596 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20597 include/grub/i386/efi/time.h, kern/efi/efi.c,
20598 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20599 and util/i386/efi/grub-mkimage.c.
20600
20601 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20602
20603 * genmk.rb (PModule#rule): Do not export symbols if
20604 #{prefix}_EXPORTS is set to "no".
20605
20606 * conf/i386-efi.mk: New file.
20607 * conf/i386-efi.rmk: Likewise.
20608 * include/grub/efi/api.h: Likewise.
20609 * include/grub/efi/console_control.h: Likewise.
20610 * include/grub/efi/efi.h: Likewise.
20611 * include/grub/efi/pe32.h: Likewise.
20612 * include/grub/i386/efi/time.h: Likewise.
20613 * kern/efi/efi.c: Likewise.
20614 * kern/i386/efi/init.c: Likewise.
20615 * kern/i386/efi/startup.S: Likewise.
20616 * util/i386/efi/grub-mkimage.c: Likewise.
20617
20618 2006-04-17 Marco Gerards <marco@gnu.org>
20619
20620 * include/grub/script.h: Include <grub/parser.h> and
20621 "grub_script.tab.h".
20622 (struct grub_lexer_param): New struct.
20623 (struct grub_parser_param): Likewise.
20624 (grub_script_create_arglist): Pass the state in an argument.
20625 (grub_script_add_arglist): Likewise.
20626 (grub_script_create_cmdline): Likewise.
20627 (grub_script_create_cmdblock): Likewise.
20628 (grub_script_create_cmdif): Likewise.
20629 (grub_script_create_cmdmenu): Likewise.
20630 (grub_script_add_cmd): Likewise.
20631 (grub_script_arg_add): Likewise.
20632 (grub_script_lexer_ref): Likewise.
20633 (grub_script_lexer_deref): Likewise.
20634 (grub_script_lexer_record_start): Likewise.
20635 (grub_script_lexer_record_stop): Likewise.
20636 (grub_script_mem_record): Likewise.
20637 (grub_script_mem_record_stop): Likewise.
20638 (grub_script_malloc): Likewise.
20639 (grub_script_yylex): Likewise.
20640 (grub_script_yyparse): Likewise.
20641 (grub_script_yyerror): Likewise.
20642 (grub_script_yylex): Likewise.
20643 (grub_script_lexer_init): Return the state.
20644
20645 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20646 (grub_script_lexer_done): Likewise.
20647 (grub_script_lexer_getline): Likewise.
20648 (grub_script_lexer_refs): Likewise.
20649 (script): Likewise.
20650 (newscript): Likewise.
20651 (record): Likewise.
20652 (recording): Likewise.
20653 (recordpos): Likewise.
20654 (recordlen): Likewise.
20655 (grub_script_lexer_init): Return the state instead of setting
20656 global variables.
20657 (grub_script_lexer_ref): Use the newly added argument for state
20658 instead of globals.
20659 (grub_script_lexer_deref): Likewise.
20660 (grub_script_lexer_record_start): Likewise.
20661 (grub_script_lexer_record_stop): Likewise.
20662 (recordchar): Likewise.
20663 (nextchar): Likewise.
20664 (grub_script_yylex2): Likewise.
20665 (grub_script_yylex): Likewise.
20666 (grub_script_yyerror): Likewise.
20667
20668 * normal/parser.y (func_mem): Removed variable.
20669 (menu_entry): Likewise.
20670 (err): Likewise.
20671 (%lex-param): New parser option.
20672 (%parse-param): Likewise.
20673 (script): Always return the AST.
20674 (argument): Pass the state around.
20675 (arguments): Likewise.
20676 (grubcmd): Likewise.
20677 (commands): Likewise.
20678 (function): Likewise.
20679 (menuentry): Likewise.
20680 (if_statement): Likewise.
20681 (if): Likewise.
20682
20683 * normal/script.c (grub_script_memused): Removed variable.
20684 (grub_script_parsed): Likewise.
20685 (grub_script_malloc): Added a state argument. Use that instead of
20686 global variables.
20687 (grub_script_mem_record): Likewise.
20688 (grub_script_mem_record_stop): Likewise.
20689 (grub_script_arg_add): Likewise.
20690 (grub_script_add_arglist): Likewise.
20691 (grub_script_create_cmdline): Likewise.
20692 (grub_script_create_cmdif): Likewise.
20693 (grub_script_create_cmdmenu): Likewise.
20694 (grub_script_add_cmd): Likewise.
20695 (grub_script_parse): Setup the state before calling the parser.
20696
20697 2006-04-16 Marco Gerards <marco@gnu.org>
20698
20699 * normal/command.c (grub_command_init): Remove the title command.
20700
20701 * normal/lexer.c (grub_script_yylex): Renamed from this...
20702 (grub_script_yylex2): ... to this.
20703 (grub_script_yylex): New function. Temporary
20704 introduced to filter some tokens.
20705 (grub_script_yyerror): Print a newline.
20706
20707 * normal/main.c (read_config_file): Output information about the
20708 lines that contain errors. Wait for a key after all lines have
20709 been processed. Don't return an empty menu.
20710
20711 * normal/parser.y (func_mem): Don't initialize.
20712 (menu_entry): Likewise.
20713 (err): New variable.
20714 (script): Don't return anything when an error was encountered.
20715 (ws, returns): Removed rules.
20716 (argument): Disabled concatenated variable support.
20717 (arguments): Remove explicit separators.
20718 (grubcmd): Likewise.
20719 (function): Likewise.
20720 (menuentry): Likewise.
20721 (if): Likewise.
20722 (commands): Likewise. Add error handling.
20723
20724 * normal/script.c (grub_script_create_cmdline): If
20725 `grub_script_parsed' is 0, assume the parser encountered an error.
20726
20727 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20728
20729 * configure.ac: Add support for EFI. Fix the typo
20730 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20731
20732 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20733
20734 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20735 foreign multibyte characters should be shown correctly.
20736
20737 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20738
20739 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20740 calculation.
20741 (read_config_file): Made it to close file before returning.
20742
20743 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20744
20745 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20746 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20747 video/i386/pc/vbefill.c.
20748
20749 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20750 video/i386/pc/vbefill.c.
20751
20752 * include/grub/video.h (grub_video_blit_format): New enum.
20753 (grub_video_mode_info): Added new member blit_format.
20754 (grub_video_get_blit_format): New function prototype.
20755
20756 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20757 function prototype.
20758 (grub_video_vbe_map_rgb): Likewise.
20759 (grub_video_vbe_unmap_color): Likewise.
20760
20761 * include/grub/i386/pc/vbeblit.h: New file.
20762
20763 * include/grub/i386/pc/vbefill.h: New file.
20764
20765 * video/video.c (grub_video_get_blit_format): New function.
20766 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20767 (grub_video_vbe_map_rgb): Likewise.
20768 (grub_video_vbe_unmap_color): Likewise.
20769
20770 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20771 optimized fills.
20772 (grub_video_vbe_blit_render_target): Changed to use more optimized
20773 blits.
20774 (grub_video_vbe_setup): Added detection for optimized settings.
20775 (grub_video_vbe_create_render_target): Likewise.
20776
20777 * video/i386/pc/vbeblit.c: New file.
20778
20779 * video/i386/pc/vbefill.c: New file.
20780
20781 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20782
20783 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20784 here...
20785
20786 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20787 parsing to support both hex and dec ranges. If filename was missing
20788 show usage information.
20789
20790 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20791
20792 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20793 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20794
20795 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20796 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20797 (video_mod_SOURCES): Added.
20798 (video_mod_CFLAGS): Likewise.
20799 (video_mod_LDFLAGS): Likewise.
20800 (gfxterm_mod_SOURCES): Likewise.
20801 (gfxterm_mod_CFLAGS): Likewise.
20802 (gfxterm_mod_LDFLAGS): Likewise.
20803 (videotest_mod_SOURCES): Likewise.
20804 (videotest_mod_CFLAGS): Likewise.
20805 (videotest_mod_LDFLAGS): Likewise.
20806 (vesafb_mod_SOURCES): Removed.
20807 (vesafb_mod_CFLAGS): Likewise.
20808 (vesafb_mod_LDFLAGS): Likewise.
20809 (vga_mod_SOURCES): Likewise.
20810 (vga_mod_CFLAGS): Likewise.
20811 (vga_mod_LDFLAGS): Likewise.
20812
20813 * commands/videotest.c: New file.
20814
20815 * font/manager.c (fill_with_default_glyph): Modified to use
20816 grub_font_glyph.
20817 (grub_font_get_glyph): Likewise.
20818 (fontmanager): Renamed from this...
20819 (font_manager): ... to this.
20820
20821 * include/grub/font.h (grub_font_glyph): Added new structure.
20822 (grub_font_get_glyph): Modified to use grub_font_glyph.
20823
20824 * include/grub/misc.h (grub_abs): Added as inline function.
20825
20826 * include/grub/video.h: New file.
20827
20828 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20829 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20830 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20831 (grub_vbe_get_controller_info): Renamed from this...
20832 (grub_vbe_bios_get_controller_info): ... to this.
20833 (grub_vbe_get_mode_info): Renamed from this...
20834 (grub_vbe_bios_get_mode_info): ... to this.
20835 (grub_vbe_set_mode): Renamed from this...
20836 (grub_vbe_bios_set_mode): ... to this.
20837 (grub_vbe_get_mode): Renamed from this...
20838 (grub_vbe_bios_get_mode): ... to this.
20839 (grub_vbe_set_memory_window): Renamed from this...
20840 (grub_vbe_bios_set_memory_window): ... to this.
20841 (grub_vbe_get_memory_window): Renamed from this...
20842 (grub_vbe_bios_get_memory_window): ... to this.
20843 (grub_vbe_set_scanline_length): Renamed from this...
20844 (grub_vbe_set_scanline_length): ... to this.
20845 (grub_vbe_get_scanline_length): Renamed from this...
20846 (grub_vbe_bios_get_scanline_length): ... to this.
20847 (grub_vbe_set_display_start): Renamed from this...
20848 (grub_vbe_bios_set_display_start): ... to this.
20849 (grub_vbe_get_display_start): Renamed from this...
20850 (grub_vbe_bios_get_display_start): ... to this.
20851 (grub_vbe_set_palette_data): Renamed from this...
20852 (grub_vbe_bios_set_palette_data): ... to this.
20853 (grub_vbe_set_pixel_rgb): Removed.
20854 (grub_vbe_set_pixel_index): Likewise.
20855
20856 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20857 from this...
20858 (grub_vbe_bios_get_controller_info): ... to this.
20859 (grub_vbe_get_mode_info): Renamed from this...
20860 (grub_vbe_bios_get_mode_info): ... to this.
20861 (grub_vbe_set_mode): Renamed from this...
20862 (grub_vbe_bios_set_mode): ... to this.
20863 (grub_vbe_get_mode): Renamed from this...
20864 (grub_vbe_bios_get_mode): ... to this.
20865 (grub_vbe_set_memory_window): Renamed from this...
20866 (grub_vbe_bios_set_memory_window): ... to this.
20867 (grub_vbe_get_memory_window): Renamed from this...
20868 (grub_vbe_bios_get_memory_window): ... to this.
20869 (grub_vbe_set_scanline_length): Renamed from this...
20870 (grub_vbe_set_scanline_length): ... to this.
20871 (grub_vbe_get_scanline_length): Renamed from this...
20872 (grub_vbe_bios_get_scanline_length): ... to this.
20873 (grub_vbe_set_display_start): Renamed from this...
20874 (grub_vbe_bios_set_display_start): ... to this.
20875 (grub_vbe_get_display_start): Renamed from this...
20876 (grub_vbe_bios_get_display_start): ... to this.
20877 (grub_vbe_set_palette_data): Renamed from this...
20878 (grub_vbe_bios_set_palette_data): ... to this.
20879 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20880 getting corrupted after calling it. Added more pushes and pops.
20881 (grub_vbe_bios_set_mode): Likewise.
20882 (grub_vbe_bios_get_mode): Likewise.
20883 (grub_vbe_bios_get_memory_window): Likewise.
20884 (grub_vbe_bios_set_scanline_length): Likewise.
20885 (grub_vbe_bios_get_scanline_length): Likewise.
20886 (grub_vbe_bios_get_display_start): Likewise.
20887 (grub_vbe_bios_set_palette_data): Likewise.
20888
20889 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20890 (cl_insert): Likewise.
20891 (cl_delete): Likewise.
20892
20893 * term/gfxterm.c: New file.
20894
20895 * term/i386/pc/vesafb.c: Removed file.
20896
20897 * video/video.c: New file.
20898
20899 * video/i386/pc/vbe.c (real2pm): Added new function.
20900 (grub_video_vbe_draw_pixel): Likewise.
20901 (grub_video_vbe_get_video_ptr): Likewise.
20902 (grub_video_vbe_get_pixel): Likewise
20903 (grub_video_vbe_init): Likewise.
20904 (grub_video_vbe_fini): Likewise.
20905 (grub_video_vbe_setup): Likewise.
20906 (grub_video_vbe_get_info): Likewise.
20907 (grub_video_vbe_set_palette): Likewise.
20908 (grub_video_vbe_get_palette): Likewise.
20909 (grub_video_vbe_set_viewport): Likewise.
20910 (grub_video_vbe_get_viewport): Likewise.
20911 (grub_video_vbe_map_color): Likewise.
20912 (grub_video_vbe_map_rgb): Likewise.
20913 (grub_video_vbe_map_rgba): Likewise.
20914 (grub_video_vbe_unmap_color): Likewise.
20915 (grub_video_vbe_fill_rect): Likewise.
20916 (grub_video_vbe_blit_glyph): Likewise.
20917 (grub_video_vbe_blit_bitmap): Likewise.
20918 (grub_video_vbe_blit_render_target): Likewise.
20919 (grub_video_vbe_scroll): Likewise.
20920 (grub_video_vbe_swap_buffers): Likewise.
20921 (grub_video_vbe_create_render_target): Likewise.
20922 (grub_video_vbe_delete_render_target): Likewise.
20923 (grub_video_vbe_set_active_render_target): Likewise.
20924 (grub_vbe_set_pixel_rgb): Remove function.
20925 (grub_vbe_set_pixel_index): Likewise.
20926 (index_color_mode): Remove static variable.
20927 (active_mode): Likewise.
20928 (framebuffer): Likewise.
20929 (bytes_per_scan_line): Likewise.
20930 (grub_video_vbe_adapter): Added new static variable.
20931 (framebuffer): Likewise.
20932 (render_target): Likewise.
20933 (initial_mode): Likewise.
20934 (mode_in_use): Likewise.
20935 (mode_list): Likewise.
20936
20937 2006-03-10 Marco Gerards <marco@gnu.org>
20938
20939 * configure.ac (AC_INIT): Bumped to 1.93.
20940
20941 * DISTLIST: Added `include/grub/hfs.h'.
20942
20943 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20944
20945 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20946 18H, which might help the BIOS falling back to next boot media.
20947
20948 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20949
20950 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20951 Poe Chen <poe.poechen@gmail.com>.
20952
20953 2006-01-17 Marco Gerards <marco@gnu.org>
20954
20955 * include/grub/normal.h: Include <grub/script.h>.
20956 (grub_command_list): Removed struct.
20957 (grub_command_list_t): Removed type.
20958 (grub_menu_entry): Remove members `num' and `command_list'. Add
20959 members `commands' and `sourcecode'.
20960 * include/grub/script.h: Add inclusion guards.
20961 (grub_script_cmd_menuentry): New struct.
20962 (grub_script_execute_menuentry): New prototype.
20963 (grub_script_lexer_record_start): Likewise.
20964 (grub_script_lexer_record_stop): Likewise.
20965 * normal/execute.c (grub_script_execute_menuentry): New function.
20966 * normal/lexer.c (record, recording, recordpos, recordlen): New
20967 variables.
20968 (grub_script_lexer_record_start): New function.
20969 (grub_script_lexer_record_stop): Likewise.
20970 (recordchar): Likewise.
20971 (nextchar): Likewise.
20972 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20973 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20974 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20975 (current_menu): New variable.
20976 (free_menu): Mainly rewritten.
20977 (grub_normal_menu_addentry): New function.
20978 (read_config_file): Rewritten.
20979 * normal/menu.c (run_menu_entry): Mainly rewritten.
20980 * normal/menu_entry.c (make_screen): Rewritten the code to insert
20981 the menu entry.
20982 (run): Mainly rewritten.
20983 * normal/parser.y (menu_entry): New variable.
20984 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20985 (menuentry): New rule.
20986 (command): Add `menuentry'.
20987 (if_statement): Allow additional returns before `fi'.
20988 * normal/script.c (grub_script_create_cmdmenu): New function.
20989
20990 2006-01-03 Marco Gerards <marco@gnu.org>
20991
20992 * INSTALL: GNU Bison is required.
20993 * configure.ac: Rewritten the test to detect Bison.
20994 * Makefile.in (YACC): New variable. Reported by Xun Sun
20995 <xun.sun.cn@gmail.com>.
20996
20997 2006-01-03 Marco Gerards <marco@gnu.org>
20998
20999 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
21000 the HFS+ filesystem to filesystem blocks.
21001 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
21002 GCC warning is silenced.
21003
21004 2006-01-03 Marco Gerards <marco@gnu.org>
21005
21006 * partmap/apple.c (apple_partition_map_iterate): Convert the data
21007 read from disk from big endian to host byte order.
21008
21009 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
21010
21011 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
21012 documentation.
21013 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
21014 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
21015 embedded HFS+ filesystem.
21016 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
21017 (grub_hfs_sblock): Move from here...
21018 * include/grub/hfs.h: To here... New file.
21019 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
21020 documentation.
21021 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
21022 New macros.
21023 (grub_hfsplus_volheader): Change type of member `magic' to
21024 `grub_uint16_t'.
21025 (grub_hfsplus_data): Add new member `embedded_offset'.
21026 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
21027 returned block.
21028 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
21029 Calculate the offset.
21030
21031 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21032
21033 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
21034 Removed.
21035 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
21036
21037 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21038
21039 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
21040 ENV->NAME is NULL after allocating ENV->VALUE.
21041
21042 2005-12-25 Marco Gerards <marco@gnu.org>
21043
21044 * kern/env.c (grub_env_set): Rewritten the error handling code.
21045
21046 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21047
21048 * geninit.sh: Made more robust, and more portable.
21049
21050 2005-12-25 Marco Gerards <marco@gnu.org>
21051
21052 Add support for Apple HFS+ filesystems.
21053
21054 * fs/hfsplus.c: New file.
21055
21056 * DISTLIST: Added `fs/hfsplus.c'.
21057
21058 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
21059 (hfsplus_mod_SOURCES): New variable.
21060 (hfsplus_mod_CFLAGS): Likewise.
21061 (hfsplus_mod_LDFLAGS): Likewise.
21062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
21063 (grub_setup_SOURCES): Likewise.
21064 (grub_mkdevicemap_SOURCES): Likewise.
21065 (grub_emu_SOURCES): Likewise.
21066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21067
21068 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
21069
21070 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
21071
21072 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21073
21074 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
21075 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21076 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21077 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21078 normal/lexer.c, normal/parser.y, normal/script.c, and
21079 partmap/gpt.c.
21080 Removed kern/sparc64/cache.c.
21081
21082 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21083 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21084 grub_emu_init.c.
21085
21086 * configure.ac (AC_INIT): Bumped to 1.92.
21087
21088 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21089
21090 * kern/err.c (grub_error_push): Added new function to support error
21091 stacks.
21092 (grub_error_pop): Likewise.
21093 (grub_error_stack_items): New local variable to support error stacks.
21094 (grub_error_stack_pos): Likewise.
21095 (grub_error_stack_assert): Likewise.
21096 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21097 stack depth.
21098 (grub_print_error): Added support to print errors from error stack.
21099
21100 * include/grub/err.h (grub_error_push): Added function prototype.
21101 (grub_error_pop): Likewise.
21102
21103 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21104
21105 * configure.ac: Accept `powerpc64' as host_cpu.
21106 (amd64): Rename to `biarch32'.
21107
21108 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21109 non-cacheline-aligned addresses.
21110
21111 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21112 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21113 if `size' is non-zero.
21114
21115 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
21116
21117 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21118 and `cd' to make sure the filename is not prefixed with a
21119 directory name.
21120 (pkgdata_MODULES): Add `gpt.mod'.
21121 (gpt_mod_SOURCES): New variable.
21122 (gpt_mod_CFLAGS): Likewise.
21123 (gpt_mod_LDFLAGS): Likewise.
21124
21125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21126
21127 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21128 New macro.
21129
21130 * partmap/gpt.c: New file.
21131
21132 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21133 GPT partition map is detected.
21134
21135 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21136
21137 * commands/i386/pc/play.c: New file.
21138 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21139 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21140 macros.
21141
21142 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
21143
21144 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21145 ((unused))' to silence gcc warning.
21146
21147 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21148
21149 * configure.ac: Correct `AC_PROG_YACC' test.
21150
21151 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21152
21153 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21154 check before installing files.
21155
21156 2005-11-22 Mike Small <smallm@panix.com>
21157
21158 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21159 number regex so multidigit numbers are recognized correctly.
21160
21161 2005-11-22 Mike Small <smallm@panix.com>
21162
21163 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21164 debugging message before attempting to claim memory.
21165 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21166 multiple addresses in case of failure.
21167
21168 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21169
21170 * term/tparm.c (get_space): Remove empty `if' statement.
21171
21172 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21173
21174 * kern/parser.c (check_varstate): Rename `state' to 's'.
21175
21176 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21177
21178 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21179 variable definitions to the beginning of each function. Sort stack
21180 variables by size.
21181 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21182 `buf' argument to `char *'.
21183
21184 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21185
21186 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21187 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
21188 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
21189 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21190 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21191 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21192 configfile.mod, search.mod, gzio.mod and test.mod.
21193 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21194 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21195 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21196 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21197 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21198 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21199 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21200 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21201 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21202 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21203 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21204 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21205 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21206 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21207 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21208 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21209 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21210 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21211 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21212 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21213 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21214 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21215 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21216
21217 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21218 `grep --include'.
21219 (pkgdata_MODULES): Add test.mod.
21220
21221 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21222
21223 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21224 appending to variables with "+=".
21225 (PModule): Use full pathname to generate *.lst filenames.
21226
21227 * Makefile.in: Fixed list rules moved from genmk.rb.
21228 (.DELETE_ON_ERROR): New special target.
21229 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21230
21231 * conf/i386-pc.rmk: Include conf/common.mk.
21232 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
21233 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
21234 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21235 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21236 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21237 configfile.mod, search.mod, gzio.mod and test.mod.
21238 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21239 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21240 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21241 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21242 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21243 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21244 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21245 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21246 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21247 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21248 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21249 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21250 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21251 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21252 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21253 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21254 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21255 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21256 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21257 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21258 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21259 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21260 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21261 here...
21262 * conf/common.rmk: ... to here. New file.
21263
21264 * conf/common.mk: New file.
21265
21266 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21267
21268 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21269 (grub_script.tab.c): ... here.
21270
21271 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21272 (grub_script.tab.c): ... here.
21273
21274 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21275 (grub_script.tab.c): ... here.
21276
21277 * normal/command.c (grub_command_find): Fixed a memory leak of
21278 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21279
21280 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21281
21282 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21283 "@" which marks the start of a comment on ARM.
21284 (VARIABLE): Likewise.
21285
21286 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21287
21288 Add support for Linux/ADFS partition tables.
21289
21290 * partmap/acorn.c: New file.
21291
21292 * include/grub/acorn_filecore.h: Likewise.
21293
21294 * DISTLIST: Added `partmap/acorn.c' and
21295 `include/grub/acorn_filecore.h'.
21296
21297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21298 `partmap/acorn.c'.
21299 (pkgdata_MODULES): Add `acorn.mod'.
21300 (acorn_mod_SOURCES): New variable.
21301 (acorn_mod_CFLAGS): Likewise.
21302
21303 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21304 `partmap/acorn.c'.
21305 (pkgdata_MODULES): Add `acorn.mod'.
21306 (acorn_mod_SOURCES): New variable.
21307 (acorn_mod_CFLAGS): Likewise.
21308
21309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21310 (pkgdata_MODULES): Add `acorn.mod'.
21311 (acorn_mod_SOURCES): New variable.
21312 (acorn_mod_CFLAGS): Likewise.
21313 (acorn_mod_LDFLAGS): Likewise.
21314
21315 * include/types.h (grub_disk_addr_t): New typedef.
21316
21317 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
21318
21319 * geninit.sh: New file.
21320
21321 * geninitheader.sh: Likewise.
21322
21323 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21324 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21325 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21326 * commands/configfile.c (grub_configfile_init)
21327 (grub_configfile_fini): Likewise.
21328 * commands/default.c (grub_default_init, grub_default_fini):
21329 Likewise.
21330 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21331 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21332 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21333 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21334 Likewise.
21335 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21336 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21337 Likewise.
21338 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
21339 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
21340 Likewise.
21341 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21342 Likewise.
21343 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
21344 Likewise.
21345 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21346 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21347 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21348 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21349 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21350 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21351 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21352 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21353 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21354 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21355 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21356 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21357 * partmap/amiga.c (grub_amiga_partition_map_init)
21358 (grub_amiga_partition_map_fini): Likewise.
21359 * partmap/apple.c (grub_apple_partition_map_init)
21360 (grub_apple_partition_map_fini): Likewise.
21361 * partmap/pc.c (grub_pc_partition_map_init)
21362 (grub_pc_partition_map_fini): Likewise.
21363 * partmap/sun.c (grub_sun_partition_map_init,
21364 grub_sun_partition_map_fini): Likewise.
21365 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21366 Likewise.
21367
21368 * util/grub-emu.c: Include <grub_modules_init.h>.
21369 (main): Don't initialize and de-initialize any modules directly,
21370 use `grub_init_all' and `grub_fini_all' instead.
21371
21372 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21373 `grub_vesafb_mod_init'.
21374 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21375 all users.
21376 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21377 `grub_vga_mod_init'. Updated all users.
21378 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
21379
21380 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21381 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21382 rules.
21383
21384 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21385 Generate a function to initialize the module in utilities.
21386 Updated all callers.
21387 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21388 initialize the module in utilities. Updated all callers.
21389
21390 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21391
21392 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21393 escape sequence and a literal ^L to clear the screen.
21394
21395 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21396 when returning from Open Firmware.
21397
21398 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21399
21400 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21401 (grub_ofconsole_height): Likewise.
21402 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21403 manually insert a '\n'.
21404 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21405 `grub_ofconsole_height'. Return early if these are already set.
21406
21407 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21408
21409 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21410 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21411 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21412 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21413 and `normal/script.c'.
21414 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21415 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21416 (test_mod_SOURCES): New variable.
21417 (test_mod_CFLAGS): Likewise.
21418 (test_mod_LDFLAGS): Likewise.
21419 (pkgdata_MODULES): Add `test.mod'.
21420 (grub_script.tab.c): New rule.
21421 (grub_script.tab.h): Likewise.
21422
21423 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
21424
21425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21426 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21427 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21428 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21429 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21430 (test_mod_SOURCES): New variable.
21431 (test_mod_CFLAGS): Likewise.
21432 (pkgdata_MODULES): Add `test.mod'.
21433 (grub_script.tab.c): New rule.
21434 (grub_script.tab.h): Likewise.
21435
21436 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
21437
21438 Add initial scripting support.
21439
21440 * commands/test.c: New file.
21441 * include/grub/script.h: Likewise.
21442 * normal/execute.c: Likewise.
21443 * normal/function.c: Likewise.
21444 * normal/lexer.c: Likewise.
21445 * normal/parser.y: Likewise.
21446 * normal/script.c: Likewise.
21447
21448 * configure.ac: Add `AC_PROG_YACC' test.
21449
21450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21451 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21452 `normal/function.c' and `normal/script.c'.
21453 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21454 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21455 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21456 variables.
21457 (pkgdata_MODULES): Add `test.mod'.
21458 (grub_script.tab.c): New rule.
21459 (grub_script.tab.h): Likewise.
21460
21461 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21462
21463 * include/grub/normal.h (grub_test_init): New prototype.
21464 (grub_test_fini): Likewise.
21465
21466 * normal/command.c: Include <grub/script.h>.
21467 (grub_command_execute): Rewritten.
21468
21469 * util/grub-emu.c (main): Call `grub_test_init' and
21470 `grub_test_fini'.
21471
21472 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21473
21474 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21475 to 0.
21476 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21477 there are no pending characters.
21478
21479 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21480
21481 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21482 `grub_strndup' to drop device arguments. Replace unnecessary
21483 `grub_strndup' with `grub_strdup'.
21484
21485 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21486
21487 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21488 `debug' environment variable has been set.
21489
21490 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
21491
21492 * Makefile.in (install-local): Use $(DATA).
21493 (uninstall): Likewise.
21494 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21495 (sbin_UTILITIES): ... to here.
21496 (sbin_SCRIPTS): New variable.
21497 (grub_install_SOURCES): New variable.
21498 * util/powerpc/ieee1275/grub-install.in: New file.
21499 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21500 variable.
21501 (add_segments): Call `grub_util_get_path'.
21502
21503 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21504
21505 From Timothy Baldwin:
21506 * commands/ls.c (grub_ls_list_files): Close FILE with
21507 grub_file_close.
21508 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21509
21510 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
21511
21512 * include/grub/parser.h: New file.
21513
21514 * kern/parser.c: Likewise.
21515
21516 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21517 (grub_setup_SOURCES): Likewise.
21518 (grub_probefs_SOURCES): Likewise.
21519 (grub_emu_SOURCES): Likewise.
21520 (kernel_img_HEADERS): Add `parser.h'.
21521
21522 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21523 (grub_emu_SOURCES): Add `kern/parser.c'.
21524 (grubof_SOURCES): Likewise.
21525
21526 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21527 (grubof_SOURCES): Add `kern/parser.c'.
21528
21529 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21530
21531 * kern/misc.c (grub_split_cmdline): Removed function.
21532
21533 * kern/rescue.c: Include <grub/parser.h>.
21534 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21535 of `grub_split_cmdline'.
21536
21537 * normal/command.c: Include <grub/parser.h>.
21538 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21539 of `grub_split_cmdline'.
21540
21541 * normal/completion.c: Include <grub/parser.h>.
21542 (cmdline_state): New variable.
21543 (iterate_dir): End the filename with a quote depending on the
21544 command line state.
21545 (get_state): new function.
21546 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21547 split the arguments and determine the current argument. When the
21548 argument string is not quoted, escape all spaces.
21549
21550 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21551
21552 * normal/sparc64/setjmp.S: New file.
21553
21554 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21555
21556 * include/grub/sparc64/libgcc.h: New file.
21557 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21558 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21559 normal/sparc64/setjmp.c.
21560
21561 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21562
21563 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21564 * kern/sparc64/cache.S: New file.
21565 * kern/sparc64/cache.c: Removed.
21566 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21567 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21568 -mtune=ultrasparc.
21569 (COMMON_LDFLAGS): Add -melf64_sparc.
21570 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21571 (grubof_SOURCES): Use cache.S instead of cache.c.
21572 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21573 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21574 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21575 commented though.
21576 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21577 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21578 (linux_mod_CFLAGS): Commented out.
21579 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21580 out because module isn't built.
21581 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21582 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21583 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21584 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21585 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21586 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21587 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21588 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21589 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21590 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21591 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21592 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21593 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21594 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21595
21596 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21597
21598 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21599 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21600 longer, because HFS should not be used on PC.
21601
21602 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21603
21604 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21605 consistently within the loop.
21606
21607 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
21608
21609 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21610 directory can not be read.
21611
21612 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21613
21614 * configure.ac (AC_INIT): Increase the version number to 1.91.
21615
21616 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21617 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21618 term/i386/pc/serial.c.
21619
21620 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21621
21622 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21623 file size must be permitted.
21624
21625 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21626 between %ah and %al.
21627
21628 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21629
21630 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21631 grub_uint64_t.
21632 Call the hook with a NUL-terminated filename.
21633 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21634 grub_cpu_to_be32.
21635
21636 * kern/term.c (cursor_state): New variable.
21637 (grub_term_set_current): Reset the cursor state on a new
21638 terminal.
21639 (grub_setcursor): Rewritten to use CURSOR_STATE.
21640 (grub_getcursor): New function.
21641
21642 * include/grub/term.h (grub_getcursor): New prototype.
21643
21644 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21645 integers on ARM. Reported by Timothy Baldwin
21646 <T.E.Baldwin99@members.leeds.ac.uk>.
21647
21648 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
21649
21650 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21651 allocated.
21652 (grub_sfs_dir): Likewise.
21653
21654 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
21655
21656 Add support for the SFS filesystem.
21657
21658 * fs/sfs.c: New file.
21659
21660 * DISTLIST: Added `fs/sfs.c'.
21661
21662 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21663 (grub_probefs_SOURCES): Likewise.
21664 (grub_emu_SOURCES): Likewise.
21665 (pkgdata_MODULES): Add `sfs.mod'.
21666 (sfs_mod_SOURCES): New variable.
21667 (sfs_mod_CFLAGS): Likewise.
21668 (sfs_mod_LDFLAGS): Likewise.
21669
21670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21671 (pkgdata_MODULES): Add `sfs.mod'.
21672 (sfs_mod_SOURCES): New variable.
21673 (sfs_mod_CFLAGS): Likewise.
21674
21675 * util/grub-emu.c (main): Call `grub_sfs_init' and
21676 `grub_sfs_fini'.
21677
21678 * include/grub/fs.h (grub_sfs_init): New prototype.
21679 (grub_sfs_fini): Likewise.
21680
21681 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
21682
21683 Add support for the AFFS filesystem.
21684
21685 * fs/affs.c: New file.
21686
21687 * DISTLIST: Added `fs/affs.c'.
21688
21689 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21690 (grub_probefs_SOURCES): Likewise.
21691 (grub_emu_SOURCES): Likewise.
21692 (pkgdata_MODULES): Add `affs.mod'.
21693 (affs_mod_SOURCES): New variable.
21694 (affs_mod_CFLAGS): Likewise.
21695 (affs_mod_LDFLAGS): Likewise.
21696
21697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21698 (pkgdata_MODULES): Add `affs.mod'.
21699 (affs_mod_SOURCES): New variable.
21700 (affs_mod_CFLAGS): Likewise.
21701
21702 * util/grub-emu.c (main): Call `grub_affs_init' and
21703 `grub_affs_fini'.
21704
21705 * include/grub/fs.h (grub_affs_init): New prototype.
21706 (grub_affs_fini): Likewise.
21707
21708 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
21709
21710 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21711
21712 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
21713
21714 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21715 `-m32' to CFLAGS.
21716
21717 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21718 linking.
21719
21720 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21721 (COMMON_LDFLAGS): New variable.
21722 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21723 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21724 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21725 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21726 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21727 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21728 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21729 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21730 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21731 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21732 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21733 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21734 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21735 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21736 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21737 variables.
21738 (normal_mod_ASFLAGS): Add `-m32'.
21739
21740 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21741 (grub_host_size_t, grub_host_ssize_t): New types.
21742 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
21743 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
21744 `GRUB_HOST_SIZEOF_VOID_P'.
21745
21746 * include/grub/kernel.h (struct grub_module_header): Type of
21747 member offset changed to `grub_host_off_t'. Type of member size
21748 changed to `grub_host_size_t'.
21749 (struct grub_module_info): Type of member offset changed to
21750 `grub_host_off_t'. Type of member size changed to
21751 `grub_host_size_t'.
21752
21753 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21754
21755 Make GRUB's kernel compliant to Multiboot Specification.
21756
21757 * kern/i386/pc/startup.S (multiboot_header): New label.
21758 (multiboot_entry): Likewise.
21759 (multiboot_trampoline): Likewise.
21760
21761 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21762 Increased to 0x4A0.
21763
21764 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21765 put parentheses after a question mark.
21766 [!GRUB_UTIL] (my_mod): New variable.
21767
21768 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21769
21770 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
21771
21772 Adds support for the XFS filesystem. Btrees are not supported
21773 yet.
21774
21775 * fs/xfs.c: New file.
21776
21777 * DISTLIST: Added `fs/xfs.c'.
21778
21779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21780 (grub_probefs_SOURCES): Likewise.
21781 (grub_emu_SOURCES): Likewise.
21782 (pkgdata_MODULES): Add `xfs.mod'.
21783 (xfs_mod_SOURCES): New variable.
21784 (xfs_mod_CFLAGS): Likewise.
21785
21786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21787 (pkgdata_MODULES): Add `xfs.mod'.
21788 (xfs_mod_SOURCES): New variable.
21789 (xfs_mod_CFLAGS): Likewise.
21790
21791 * util/grub-emu.c (main): Call `grub_xfs_init' and
21792 `grub_xfs_fini'.
21793
21794 * include/grub/fs.h (grub_xfs_init): New prototype.
21795 (grub_xfs_fini): Likewise.
21796
21797
21798 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21799
21800 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21801 color modes, allow greater than 16 colors to be configured as
21802 a default palette.
21803
21804 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21805
21806 * normal/completion.c (complete_arguments): Add the qualifier
21807 const into OPTIONS.
21808
21809 From Omniflux <omniflux+lists@omniflux.com>:
21810 * include/grub/terminfo.h: New file.
21811 * include/grub/tparm.h: Likewise.
21812 * include/grub/i386/pc/serial.h: Likewise.
21813 * term/terminfo.c: Likewise.
21814 * term/tparm.c: Likewise.
21815 * term/i386/pc/serial.c: Likewise.
21816 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21817 serial.mod.
21818 (terminfo_mod_SOURCES): New variable.
21819 (terminfo_mod_CFLAGS): Likewise.
21820 (serial_mod_SOURCES): Likewise.
21821 (serial_mod_CFLAGS): Likewise.
21822
21823 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21824
21825 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21826 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21827 and kern/powerpc/ieee1275/cmain.c, respectively.
21828
21829 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21830 * kern/powerpc/ieee1275/crt0.S: ... here.
21831
21832 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21833 * kern/powerpc/ieee1275/cmain.c: ... here.
21834
21835 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21836 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21837 instead of boot/powerpc/ieee1275/crt0.S and
21838 boot/powerpc/ieee1275/cmain.c, respectively.
21839
21840 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21841 sectors. It was not used anyway.
21842
21843 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21844
21845 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21846 `unused parameter' warning.
21847
21848 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21849
21850 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21851 function.
21852 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21853 getcharwidth.
21854
21855 2005-08-28 Marco Gerards <metgerards@student.han.nl>
21856
21857 * include/grub/normal.h (enum grub_completion_type): Added
21858 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21859
21860 * normal/cmdline.c (print_completion): Handle
21861 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21862 * normal/menu_entry.c (store_completion): Likewise.
21863
21864 * normal/completion.c (complete_arguments): New function.
21865 (grub_normal_do_completion): Call `complete_arguments' when the
21866 current words start with a dash.
21867
21868 2005-08-27 Marco Gerards <metgerards@student.han.nl>
21869
21870 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21871 `gzio.mod' instead of `io.mod').
21872
21873 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21874
21875 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21876 (DISTDIRS): Added io and video.
21877 Rewrite the search routine to make an output consistently.
21878
21879 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21880 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21881 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21882 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21883 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21884 util/powerpc/ieee1275/misc.c.
21885
21886 * include/grub/gzio.h: New file.
21887 * io/gzio.c: Likewise.
21888
21889 * kern/file.c (grub_file_close): Call grub_device_close only if
21890 FILE->DEVICE is not NULL.
21891
21892 * include/grub/mm.h [!NULL] (NULL): New macro.
21893
21894 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21895
21896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21897 (pkgdata_MODULES): Added gzio.mod.
21898 (gzio_mod_SOURCES): New variable.
21899 (gzio_mod_CFLAGS): Likewise.
21900
21901 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21902 (pkgdata_MODULES): Added gzio.mod.
21903 (gzio_mod_SOURCES): New variable.
21904 (gzio_mod_CFLAGS): Likewise.
21905
21906 * commands/cat.c: Include grub/gzio.h.
21907 (grub_cmd_cat): Use grub_gzfile_open instead of
21908 grub_file_open.
21909
21910 * commands/cmp.c: Include grub/gzio.h.
21911 (grub_cmd_cmp): Use grub_gzfile_open instead of
21912 grub_file_open.
21913
21914 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21915 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21916 grub_file_open.
21917 (grub_rescue_cmd_module): Likewise.
21918
21919 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21920
21921 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21922 kern/sparc64/ieee1275/init.c because it contains _start.
21923 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21924
21925 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21926
21927 * configure.ac: Add support for sparc64 host with ieee1275
21928 firmware.
21929 * configure: Generated from configure.ac.
21930 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21931 instead of int.
21932 (grub_ofdisk_read): Likewise.
21933 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21934 pointers as (void *) to remove a warning.
21935 (grub_ofdisk_close): Likewise.
21936 (grub_ofdisk_read): Likewise.
21937 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21938 returns, so make it return void to remove a warning.
21939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21940 Corresponding prototype change.
21941 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21942 values, and cast the pointers as (void *) to remove a warning.
21943 (grub_mm_dump): Likewise.
21944 * conf/sparc64-ieee1275.mk: New file.
21945 * conf/sparc64-ieee1275.rmk: Likewise.
21946 * include/grub/sparc64/setjmp.h: Likewise.
21947 * include/grub/sparc64/types.h: Likewise.
21948 * include/grub/sparc64/ieee1275/console.h: Likewise.
21949 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21950 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21951 * include/grub/sparc64/ieee1275/time.h: Likewise.
21952 * kern/sparc64/cache.c: Likewise.
21953 * kern/sparc64/dl.c: Likewise.
21954 * kern/sparc64/ieee1275/init.c: Likewise.
21955 * kern/sparc64/ieee1275/openfw.c: Likewise.
21956
21957 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21958
21959 * util/console.c (grub_ncurses_putchar): If C is greater than
21960 0x7f, set C to a question mark.
21961 (grub_ncurses_getcharwidth): New function.
21962 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21963 getcharwidth.
21964
21965 * normal/menu.c (print_entry): Made aware of Unicode. First,
21966 convert TITLE to UCS-4, and predict the cursor position by
21967 grub_getcharwidth.
21968
21969 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21970 const to SRC.
21971 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21972
21973 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21974
21975 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21976 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21977 grub_strcat.
21978
21979 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21980 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21981 grub_strcpy and grub_strlen. Take it into account that a space
21982 character is inserted as a delimiter.
21983
21984 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21985
21986 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
21987 invalid magic in the error.
21988
21989 * commands/search.c: New file.
21990
21991 * util/grub-emu.c (main): Call grub_search_init and
21992 grub_search_fini.
21993
21994 * kern/rescue.c (grub_rescue_print_disks): Removed.
21995 (grub_rescue_print_devices): New function.
21996 (grub_rescue_cmd_ls): Use grub_device_iterate with
21997 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21998 grub_rescue_print_disks.
21999
22000 * kern/partition.c (grub_partition_iterate): Return the result of
22001 PARTMAP->ITERATE instead of GRUB_ERRNO.
22002
22003 * kern/device.c: Include grub/partition.h.
22004 (grub_device_iterate): New function.
22005
22006 * include/grub/partition.h (grub_partition_iterate): Return int
22007 instead of grub_err_t.
22008
22009 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
22010 prototype.
22011 [GRUB_UTIL] (grub_search_fini): Likewise.
22012
22013 * include/grub/device.h (grub_device_iterate): New prototype.
22014
22015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22016 commands/search.c.
22017 (pkgdata_MODULES): Added search.mod.
22018 (search_mod_SOURCES): New variable.
22019 (search_mod_CFLAGS): Likewise.
22020
22021 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
22022 (pkgdata_MODULES): Added search.mod.
22023 (search_mod_SOURCES): New variable.
22024 (search_mod_CFLAGS): Likewise.
22025
22026 * commands/ls.c (grub_ls_list_disks): Renamed to ...
22027 (grub_ls_list_devices): ... this, and use grub_device_iterate.
22028 All callers changed.
22029
22030 * DISTLIST: Added commands/search.c.
22031
22032 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22033
22034 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
22035 conversion.
22036 (grub_getcharwidth): New function.
22037
22038 * kern/misc.c (grub_utf8_to_ucs4): New function.
22039
22040 * include/grub/term.h (struct grub_term): Added a new member
22041 "getcharwidth".
22042 (grub_getcharwidth): New prototype.
22043
22044 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
22045
22046 * term/i386/pc/console.c (map_char): New function. Segregated from
22047 grub_console_putchar.
22048 (grub_console_putchar): Use map_char.
22049 (grub_console_getcharwidth): New function.
22050 (grub_console_term): Specified grub_console_getcharwidth as
22051 getcharwidth.
22052
22053 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
22054 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
22055
22056 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
22057 GRUB_ERRNO.
22058 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
22059 on grub_strtoul completely.
22060 (write_char): Declare local variables in the beginning of the
22061 function.
22062 (grub_vesafb_getcharwidth): New function.
22063 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
22064 getcharwidth.
22065
22066 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
22067
22068 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
22069 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
22070 commands/i386/pc/vbetest.c.
22071
22072 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
22073 call grub_vbe_get_controller_info again, because the returned
22074 information is volatile.
22075 (grub_vbe_set_video_mode): Mostly rewritten.
22076 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22077 grub_vbe_status_t correctly.
22078 (grub_vbe_get_video_mode_info): Likewise.
22079 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22080 several if statements.
22081
22082 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22083 * commands/i386/pc/vbeinfo.c: ... this.
22084
22085 * commands/i386/pc/vbe_test.c: Renamed to ...
22086 * commands/i386/pc/vbetest.c: ... this.
22087
22088 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22089 ...
22090 (grub_cmd_vbeinfo): ... this. Save video modes before
22091 iterating. Skip a video mode, if it is not available, not enough
22092 information is given or it is monochrome. Show the memory
22093 model. Leave the interpretation of MODEVAR to grub_strtoul
22094 completely.
22095 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22096 (GRUB_MOD_FINI): Likewise.
22097
22098 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22099 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22100 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22101 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22102 grub_strtoul completely.
22103 (real2pm): Removed.
22104 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22105 (GRUB_MOD_FINI): Likewise.
22106
22107 * normal/misc.c: Include grub/mm.h.
22108
22109 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22110 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22111 (vbe_list_modes_mod_SOURCES): Removed.
22112 (vbe_list_modes_mod_CFLAGS): Likewise.
22113 (vbe_test_mod_SOURCES): Likewise.
22114 (vbe_test_mod_CFLAGS): Likewise.
22115 (vbeinfo_mod_SOURCES): New variable.
22116 (vbeinfo_mod_CFLAGS): Likewise.
22117 (vbetest_mod_SOURCES): Likewise.
22118 (vbetest_mod_CFLAGS): Likewise.
22119
22120 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22121
22122 * normal/misc.c: New file.
22123
22124 * DISTLIST: Added normal/misc.c.
22125
22126 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22127 DISK to HOOK. Call HOOK with DISK.
22128 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22129 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22130 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22131
22132 * normal/menu_entry.c (struct screen): Added a new member
22133 "completion_shown".
22134 (completion_buffer): New global variable.
22135 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22136 (store_completion): New function.
22137 (complete): Likewise.
22138 (clear_completions): Likewise.
22139 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22140 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22141 a tab, call complete.
22142
22143 * normal/completion.c (disk_dev): Removed.
22144 (print_simple_completion): Likewise.
22145 (print_partition_completion): Likewise.
22146 (print_func): New global variable.
22147 (add_completion): Do not take the arguments WHAT or PRINT any
22148 longer. Added a new argument TYPE. Instead of printing directly,
22149 call PRINT_FUNC if not NULL.
22150 All callers changed.
22151 (complete_device): Use a local variable DEV instead of
22152 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22153 (grub_normal_do_completion): Take a new argument HOOK. Do not
22154 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22155 empty string, return NULL instead.
22156 All callers changed.
22157
22158 * normal/cmdline.c (print_completion): New function.
22159
22160 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22161 to HOOK.
22162 All callers changed.
22163
22164 * kern/disk.c (grub_print_partinfo): Removed.
22165
22166 * include/grub/partition.h (struct grub_partition_map): Add a new
22167 argument DISK into HOOK of ITERATE.
22168 (grub_partition_iterate): Add a new argument DISK to HOOK.
22169
22170 * include/grub/normal.h (enum grub_completion_type): New enum.
22171 (grub_completion_type_t): New type.
22172 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22173 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22174 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22175 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22176 (grub_normal_do_completion): Added a new argument HOOK.
22177 (grub_normal_print_device_info): New prototype.
22178
22179 * include/grub/disk.h (grub_print_partinfo): Removed.
22180
22181 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22182 (normal_mod_SOURCES): Likewise.
22183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22184 (normal_mod_SOURCES): Likewise.
22185
22186 * commands/ls.c (grub_ls_list_disks): Use
22187 grub_normal_print_device_info instead of grub_print_partinfo. Free
22188 PNAME.
22189 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22190 duplicating the code.
22191
22192 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22193
22194 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
22195 follow GCS more precisely.
22196 * commands/i386/pc/vbe_test.c: Likewise.
22197 * include/grub/i386/pc/vbe.h: Likewise.
22198 * term/i386/pc/vesafb.c: Likewise.
22199 * video/i386/pc/vbe.c: Likewise.
22200
22201 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22202
22203 * DISTLIST: Added term/i386/pc/vesafb.c
22204 DISTLIST: Added video/i386/pc/vbe.c
22205 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22206 DISTLIST: Added commands/i386/pc/vbe_test.c.
22207 * commands/i386/pc/vbe_list_modes.c: New file.
22208 * commands/i386/pc/vbe_test.c: Likewise.
22209 * term/i386/pc/vesafb.c: Likewise.
22210 * video/i386/pc/vbe.c: Likewise.
22211 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22212 (grub_vbe_probe) Added prototype.
22213 (grub_vbe_set_video_mode) Likewise.
22214 (grub_vbe_get_video_mode) Likewise.
22215 (grub_vbe_get_video_mode_info) Likewise.
22216 (grub_vbe_set_pixel_rgb) Likewise.
22217 (grub_vbe_set_pixel_index) Likewise.
22218 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22219 (pkgdata_MODULES): Added vesafb.mod.
22220 (pkgdata_MODULES): Added vbe_list_modes.mod.
22221 (pkgdata_MODULES): Added vbe_test.mod.
22222 (vbe_mod_SOURCES): Added.
22223 (vbe_mod_CFLAGS): Likewise.
22224 (vesafb_mod_SOURCES): Likewise.
22225 (vesafb_mod_CFLAGS): Likewise.
22226 (vbe_list_modes_mod_SOURCES): Likewise.
22227 (vbe_list_modes_mod_CFLAGS): Likewise.
22228 (vbe_test_mod_SOURCES): Likewise.
22229 (vbe_test_mod_CFLAGS): Likewise.
22230
22231 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22232
22233 * normal/command.c (grub_command_execute): If INTERACTIVE is
22234 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22235 CMDLINE. Disable the pager if INTERACTIVE is true.
22236 All callers are changed.
22237
22238 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22239 before reading a config file.
22240 * normal/main.c (read_config_file): Even if a command is not
22241 found, register it if it is within an entry.
22242
22243 * util/grub-emu.c: Include sys/types.h and unistd.h.
22244 (options): Added --hold.
22245 (struct arguments): Added a new member "hold".
22246 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22247 missing.
22248 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22249 cleared by a debugger, if it is not zero.
22250
22251 * include/grub/normal.h (grub_command_execute): Add an argument
22252 INTERACTIVE.
22253
22254 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22255
22256 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22257
22258 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22259
22260 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22261 program with another one, because the old one didn't detect a bug
22262 in gcc-3.4. Always use regparm 2, because the new test is still
22263 not enough for gcc-4.0. Someone must investigate a simple test
22264 case which detects a bug in gcc-4.0.
22265
22266 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22267
22268 * DISTLIST: Added normal/completion.c.
22269
22270 * normal/completion.c: New file.
22271
22272 * term/i386/pc/console.c (grub_console_getwh): New function.
22273 (grub_console_term): Assign grub_console_getwh to getwh.
22274
22275 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22276 function is defined in normal/completion.c as
22277 grub_normal_do_completion.
22278 (grub_cmdline_get): Use grub_normal_do_completion instead of
22279 grub_tab_complete.
22280
22281 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22282 returns non-zero, otherwise return 0.
22283 (grub_partition_iterate): First, probe the partition map. Then,
22284 call ITERATE only for this partition map.
22285
22286 * kern/misc.c (grub_strncmp): Rewritten.
22287
22288 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22289 returns non-zero. Otherwise return 0.
22290
22291 * include/grub/partition.h (grub_partition_map_iterate): Return
22292 int instead of void.
22293
22294 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22295
22296 * include/grub/misc.h (grub_strncmp): Change the type of N to
22297 grub_size_t.
22298
22299 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22300 of void.
22301
22302 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
22303 unsigned explicitly before comparing it with I.
22304
22305 * kern/main.c (grub_env_write_root): Add the attribute unused into
22306 VAR.
22307
22308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22309 normal/completion.c.
22310 (normal_mod_SOURCES): Likewise.
22311 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22312 (normal_mod_SOURCES): Likewise.
22313
22314 * normal/command.c (grub_iterate_commands): If ITERATE returns
22315 non-zero, return one immediately.
22316
22317 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22318
22319 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22320 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22321 descriptions.
22322 (grub_vbe_get_controller_info): New function.
22323 (grub_vbe_get_mode_info): Likewise.
22324 (grub_vbe_set_mode): Likewise.
22325 (grub_vbe_get_mode): Likewise.
22326 (grub_vbe_set_memory_window): Likewise.
22327 (grub_vbe_get_memory_window): Likewise.
22328 (grub_vbe_set_scanline_length): Likewise.
22329 (grub_vbe_get_scanline_length): Likewise.
22330 (grub_vbe_set_display_start): Likewise.
22331 (grub_vbe_get_display_start): Likewise.
22332 (grub_vbe_set_palette_data): Likewise.
22333 * include/grub/i386/pc/vbe.h: New file.
22334
22335 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22336
22337 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22338 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22339 * DISTLIST: Likewise.
22340 * kern/ieee1275/of.c: Moved to ...
22341 * kern/ieee1275/ieee1275.c: ... here.
22342
22343 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22344
22345 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22346 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22347 Pass 0 as `end' parameter to grub_strtoul().
22348
22349 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22350
22351 * include/grub/powerpc/ieee1275/console.h: Do not include
22352 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22353 ifdef.
22354 (grub_console_cur_color): Remove i386-specific prototype.
22355 (grub_console_real_putchar): Likewise.
22356 (grub_console_checkkey): Likewise.
22357 (grub_console_getkey): Likewise.
22358 (grub_console_getxy): Likewise.
22359 (grub_console_gotoxy): Likewise.
22360 (grub_console_cls): Likewise.
22361 (grub_console_setcursor): Likewise.
22362 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22363 Include <grub/machine/console.h>.
22364 * term/ieee1275/ofconsole.c: Likewise.
22365
22366 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22367
22368 * Makefile.in (LIBLZO): New variable.
22369
22370 * configure.ac: Check for LZO version 2.
22371
22372 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22373 lzo/lzo1x.h instead of lzo1x.h.
22374
22375 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22376 of -llzo.
22377
22378 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22379 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22380
22381 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22382 copying the data from PARTITION to P.
22383
22384 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22385
22386 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22387 negative, unload the module.
22388
22389 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22390 map is "pc_partition_map" but not "pc".
22391 (usage): Fix the description. The options are --boot-image and
22392 --core-image but not --boot-file or --core-file.
22393 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22394 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22395 DEFAULT_DIRECTORY.
22396
22397 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22398 --core-file. Specify INSTALL_DEVICE as an argument.
22399
22400 * util/console.c: Include config.h.
22401 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22402 [HAVE_NCURSES_H]: Include ncurses.h.
22403 [HAVE_CURSES_H]: Include curses.h.
22404 [!A_NORMAL] (A_NORMAL): Defined as zero.
22405 [!A_STANDOUT] (A_STANDOUT): Likewise.
22406
22407 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22408 -lncurses.
22409 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22410
22411 * configure.ac: Check for curses libraries and headers.
22412
22413 * Makefile.in (LIBCURSES): New variable.
22414
22415 * genmk.rb (Script::rule): Set the executable bits.
22416
22417 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22418 name of the PC partition map is "pc_partition_map" but not "pc".
22419
22420 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22421
22422 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22423 (modules): Likewise.
22424 (usage): Added descriptions for --modules and --grub-probefs.
22425 Handle --modules and --grub-probefs. Save the arguments in MODULES
22426 and GRUB_PROBEFS, respectively.
22427 Auto-detect a filesystem module against GRUBDIR. If the result is
22428 empty and modules are not specified explicitly, abort the
22429 installation. Add the result to MODULES.
22430
22431 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22432 disk/powerpc/ieee1275/ofdisk.c,
22433 include/grub/powerpc/ieee1275/init.h and
22434 term/powerpc/ieee1275/ofconsole.c.
22435 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22436 term/ieee1275/ofconsole.c.
22437
22438 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22439
22440 * COPYING: Upgraded to the latest version. Only the address of the
22441 FSF office has changed.
22442
22443 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22444
22445 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22446 kern/ieee1275.c with kern/ieee1275/of.c.
22447
22448 * kern/ieee1275.c: Moved to ...
22449 * kern/ieee1275/of.c: ... here.
22450
22451 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22452
22453 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
22454 readability.
22455
22456 * config.guess: Updated to the latest version from gnulib.
22457 * config.sub: Likewise.
22458 * install.sh: Likewise.
22459 * mkinstalldirs: Likewise.
22460
22461 * include/grub/console.h: Removed. This file is arch-specific. Do
22462 not put this in include/grub.
22463
22464 * include/grub/i386/pc/console.h: Resurrected.
22465
22466 * util/console.c: Include grub/machine/console.h instead of
22467 grub/console.h.
22468 * util/grub-emu.c: Likewise.
22469
22470 2005-08-04 Marco Gerards <metgerards@student.han.nl>
22471
22472 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22473 hardcoded value.
22474
22475 From Vincent Pelletier <subdino2004@yahoo.fr>
22476 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22477 Redefined to use grub_getwh.
22478 (grub_term): New member named getwh.
22479 (grub_getwh): New prototype.
22480 * kern/term.c (grub_getwh): New function.
22481 * term/i386/pc/console.c (grub_console_getwh): New function.
22482 (grub_console_term): New member `getwh'.
22483 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22484 (grub_vga_term): New member `getwh'.
22485 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
22486 grub_ssize_t.
22487 (grub_ofconsole_getw): New function.
22488 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22489 (grub_ofconsole_term): New field named getwh and new initial
22490 value.
22491
22492 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22493
22494 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22495 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22496 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22497 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22498 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22499 of <grub/machine/ieee1275.h>.
22500 * commands/ieee1275/reboot.c: Likewise.
22501 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22502 * kern/ieee1275.c: ... to here. All users updated. Change all
22503 parameter structs to use new type `grub_ieee1275_cell_t'.
22504 * term/powerpc/ieee1275/ofconsole.c: Move ...
22505 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22506 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22507 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22508 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22509 to return int.
22510 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22511 Remove unused prototypes. All users updated.
22512 * include/grub/powerpc/ieee1275/console.h: Removed.
22513 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22514 `grub_ieee1275_cell_t'.
22515 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22516 Cast comparisons with -1 to the correct type.
22517 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22518 type to match `grub_ieee1275_entry_fn'.
22519
22520 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22521
22522 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22523
22524 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22525 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22526 partmap/sun.c.
22527 (grub_probefs_SOURCES): New variable.
22528
22529 * util/i386/pc/grub-probefs.c: New file.
22530
22531 * util/i386/pc/grub-setup.c (main): Call
22532 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22533 grub_hfs_init and grub_jfs_init to initialize the system. Call
22534 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22535 grub_pc_partition_map_fini to finish the system.
22536
22537 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22538
22539 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22540 function.
22541 (grub_multiboot_load_elf32): Likewise.
22542 (grub_multiboot_is_elf64): Likewise.
22543 (grub_multiboot_load_elf64): Likewise.
22544 (grub_multiboot_load_elf): Likewise.
22545 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22546 an ELF32 or ELF64 file.
22547 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22548
22549 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22550 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22551 NULL before calling FS->LABEL.
22552 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22553 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22554 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22555 before calling FS->LABEL.
22556
22557 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22558
22559 * util/i386/pc/grub-install.in (datadir): New variable.
22560 (libdir): Removed.
22561 (pkgdatadir): New variable.
22562 (pkglibdir): Removed.
22563
22564 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22565
22566 * DISTLIST: Added util/i386/pc/grub-install.in.
22567
22568 * util/i386/pc/grub-install.in: New file.
22569
22570 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22571 (grub_install_SOURCES): Likewise.
22572
22573 * genmk.rb: Added support for scripts.
22574 (Script): New class.
22575 (scripts): New variable.
22576
22577 * Makefile.in (install-local): Install sbin_SCRIPTS by
22578 INSTALL_SCRIPT.
22579 (uninstall): Remove sbin_SCRIPTS.
22580
22581 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22582 device, try to get a GRUB device by
22583 grub_util_biosdisk_get_grub_dev.
22584 Free DEST_DEV.
22585
22586 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22587 description for --device-map.
22588
22589 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22590
22591 Change the semantics of variable hooks. They now return strings
22592 instead of error values.
22593
22594 * util/i386/pc/grub-setup.c: Include grub/env.h.
22595 (setup): Use grub_device_set_root instead of grub_env_set.
22596
22597 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22598 grub_env_get instead of grub_device_set_root and
22599 grub_device_get_root, respectively.
22600
22601 * kern/main.c (grub_env_write_root): New function.
22602 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22603 grub_env_set instead of grub_device_set_root.
22604
22605 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22606 many variables.
22607 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22608 rather than calling ENV->WRITE_HOOK afterwards.
22609 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22610 passing a pointer of a pointer.
22611 (grub_register_variable_hook): Change the types of "read_hook" and
22612 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22613 respectively.
22614 Allocate the default empty string on the heap, because this string
22615 may be freed later.
22616
22617 * kern/device.c: Include grub/env.h.
22618 (grub_device_set_root): Removed.
22619 (grub_device_get_root): Likewise.
22620 (grub_device_open): Use grub_env_get instead of
22621 grub_device_get_root.
22622
22623 * include/grub/env.h (grub_env_read_hook_t): New type.
22624 (grub_env_write_hook_t): Likewise.
22625 (grub_env_var): Change the types of "read_hook" and "write_hook"
22626 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22627 (grub_register_variable_hook): Likewise.
22628
22629 * include/grub/device.h (grub_device_set_root): Removed.
22630 (grub_device_set_root): Likewise.
22631
22632 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22633 make sure that DIRNAME terminates with '/', so that
22634 grub_fat_find_dir will fail if PATH is not a directory.
22635
22636 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22637 from DIRNAME.
22638 Use the qualifier auto for print_files and print_files_long.
22639 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22640 as a regular file.
22641 Put a newline only if there is no error.
22642 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22643 used.
22644
22645 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22646
22647 * kern/partition.c (grub_partition_probe): Initialize PART to
22648 NULL. Otherwise, when no partition map is registered, this returns
22649 a garbage.
22650
22651 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22652
22653 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22654 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22655 valid.
22656
22657 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22658
22659 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22660 information on each device, if it does not have partitions. Print
22661 "Device" instead of "Disk", because this function is not specific
22662 to disk devices.
22663
22664 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22665 static to ensure that it is put on the memory rather than a
22666 register.
22667
22668 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
22669
22670 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22671 (grub_cat_init): Likewise.
22672 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22673 (options): Likewise.
22674 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22675 (grub_configfile_init): Likewise.
22676 * font/manager.c (GRUB_MOD_INIT): Likewise.
22677 * commands/help.c (GRUB_MOD_INIT): Likewise.
22678 (grub_help_init): Likewise.
22679 * normal/command.c (grub_command_init): Likewise.
22680 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22681 * disk/loopback.c (grub_loop_init): Likewise.
22682 (GRUB_MOD_INIT): Likewise.
22683 * commands/ls.c (grub_ls_init): Likewise.
22684 (GRUB_MOD_INIT): Likewise.
22685 (options): Likewise.
22686 * commands/boot.c (grub_boot_init): Likewise.
22687 (GRUB_MOD_INIT): Likewise.
22688 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22689 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22690 (GRUB_MOD_INIT): Likewise.
22691 * commands/cmp.c (grub_cmp_init): Likewise.
22692 (GRUB_MOD_INIT): Likewise.
22693
22694 * normal/arg.c: Use <> instead of "" to include header files.
22695 (SHORT_ARG_HELP): New macro.
22696 (SHORT_ARG_USAGE): Likewise.
22697 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22698 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22699 descriptions.
22700 (find_short): Check if C is 'h' or 'u' explicitly.
22701 (grub_arg_show_help): Use space characters instead of tabs. Treat
22702 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22703 are shown with --help and --usage only if they are not used for
22704 the command itself.
22705 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22706 'h' and 'u'.
22707
22708 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22709 const into "longarg". Change the type of "shortarg" to int.
22710
22711 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
22712
22713 * boot/i386/pc/boot.S (boot_drive_check): New label.
22714
22715 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22716 macro.
22717
22718 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22719 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22720
22721 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
22722
22723 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22724 When turning off Gate A20, skip the check and return immediately,
22725 because this is not fatal usually.
22726
22727 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
22728
22729 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22730 be 0x7C00 instead of 0x8000.
22731
22732 * boot/i386/pc/pxeboot.S: Rewritten.
22733
22734 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22735 EXT_C.
22736 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22737 result.
22738
22739 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22740
22741 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22742 robustness. This routine now supports a BIOS call and System
22743 Control Port A to modify the gate A20.
22744
22745 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22746 Increased to 0x440.
22747
22748 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22749
22750 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22751 device path and resulting ihandle.
22752 (grub_ofdisk_close): dprintf the ihandle being closed.
22753 (grub_ofdisk_read): dprintf function parameters.
22754 * kern/mm.c (grub_mm_init_region): Likewise.
22755 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22756 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22757 size, and boot arguments.
22758 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22759 before loading into memory.
22760 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22761 before loading into memory.
22762
22763 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22764
22765 * kern/mm.c: Added much documentation.
22766 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22767 8, set to 5 instead of 8.
22768
22769 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
22770
22771 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22772
22773 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22774 (grub_mkdevicemap_SOURCES): New variable.
22775
22776 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22777 lib/device.c of GRUB Legacy.
22778
22779 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
22780
22781 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22782 instead of PATH is NULL.
22783
22784 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22785
22786 * commands/cmp.c (BUFFER_SIZE): New macro.
22787 (grub_cmd_cmp): Close the right file at the right time. Compare
22788 only data just read. Don't report files of different size as
22789 identical. Dynamically allocate buffers. Move variable
22790 declarations at the beginning of function.
22791
22792 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
22793
22794 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22795 reverse.
22796
22797 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22798
22799 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22800 when backspace is pressed at beginning of line.
22801
22802 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
22803
22804 * DISTLIST: Added genfslist.sh.
22805
22806 * normal/main.c (fs_module_list): New variable.
22807 (autoload_fs_module): New function.
22808 (read_fs_list): Likewise.
22809 (grub_normal_execute): Call read_fs_list.
22810
22811 * kern/fs.c (grub_fs_autoload_hook): New variable.
22812 (grub_fs_probe): Added support for auto-loading.
22813
22814 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22815 (grub_fs_module_list_t): New type.
22816
22817 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22818 (grub_fs_autoload_hook): New prototype.
22819
22820 * genfslist.sh: New file.
22821
22822 * genmk.rb: Added a rule to generate a filesystem list.
22823
22824 2005-06-30 Marco Gerards <metgerards@student.han.nl>
22825
22826 * configure.ac: Fix the test for cross-compiling.
22827
22828 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22829 define GRUB_UTIL anymore.
22830
22831 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22832 so this function works on other systems than just big endian.
22833 (load_modules): Likewise.
22834 (add_segments): Likewise.
22835
22836 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22837
22838 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22839 contains `l' modifier, get a long from va_arg().
22840
22841 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22842
22843 * kern/mm.c (grub_free): If the next free block which is being
22844 merged is the first free block, set the first block to the block
22845 being freed.
22846 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22847
22848 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22849
22850 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22851 `grub_ieee1275_chosen'.
22852
22853 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22854
22855 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22856 (grub_ieee1275_chosen): New variable.
22857 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22858 `chosen'.
22859 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22860 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22861 Rename first argument to `phandle' for consistency.
22862 (grub_ieee1275_get_property_length): Likewise.
22863 (grub_ieee1275_next_property): Likewise. Change type of first argument
22864 to grub_ieee1275_phandle_t.
22865 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22866 Move export next to declaration.
22867 (grub_ieee1275_chosen): New variable.
22868 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22869 Correct cosmetic typo.
22870 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22871 `grub_ieee1275_chosen'.
22872 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22873 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22874 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22875 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22876 `grub_ieee1275_chosen'.
22877
22878 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22879
22880 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22881 /chosen/bootargs.
22882 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22883 /chosen/bootargs as "variable=value" pairs.
22884
22885 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22886
22887 * include/grub/misc.h (grub_dprintf): New macro.
22888 (grub_real_dprintf): New prototype.
22889 (grub_strword): Likewise.
22890 (grub_iswordseparator): Likewise.
22891 * kern/misc.c (grub_real_dprintf): New function.
22892 (grub_strword): Likewise.
22893 (grub_iswordseparator): Likewise.
22894
22895 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22896
22897 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22898 (roundup): Remove macro.
22899 (grub_ieee1275_flags): Make static.
22900 (grub_ieee1275_realmode): Remove.
22901 (grub_ieee1275_test_flag): New function.
22902 (grub_ieee1275_set_flag): Likewise.
22903 (find_options): Rename to `grub_ieee1275_find_options'; update
22904 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22905 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22906 (cmain): New prototype.
22907 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22908 `grub_ieee1275_flags' directly.
22909 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22910 machine/biosdisk.h.
22911 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22912 Don't include grub/machine/init.h.
22913 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22914 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22915 Remove prototype.
22916 (grub_ieee1275_realmode): Likewise.
22917 (grub_ieee1275_flag): New enum.
22918 (grub_ieee1275_test_flag): New prototype.
22919 (grub_ieee1275_set_flag): New prototype.
22920 * include/grub/powerpc/ieee1275/init.h: Remove file.
22921 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22922 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22923 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22924 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22925 comment.
22926 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22927 `grub_ieee1275_test_flag'.
22928 (grub_ieee1275_encode_devname): Likewise.
22929
22930 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22931
22932 * include/grub/powerpc/ieee1275/ieee1275.h
22933 (grub_ieee1275_encode_devname): New prototype.
22934 (grub_ieee1275_get_filename): Likewise.
22935 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22936 function.
22937 (grub_set_prefix): Likewise.
22938 (grub_machine_init): Call grub_set_prefix.
22939 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22940 (grub_parse_type): New enum.
22941 (grub_ieee1275_get_devargs): New function.
22942 (grub_ieee1275_get_devname): Likewise.
22943 (grub_ieee1275_parse_args): Likewise.
22944 (grub_ieee1275_get_filename): Likewise.
22945 (grub_ieee1275_encode_devname): Likewise.
22946
22947 2005-03-30 Marco Gerards <metgerards@student.han.nl>
22948
22949 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22950 `grub_loader_unset'.
22951
22952 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22953
22954 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22955 instead of grub_ieee1275_interpret.
22956 (grub_halt_init): New function.
22957 (grub_halt_fini): Likewise.
22958 (GRUB_MOD_INIT): Correct message grammar.
22959 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22960 instead of grub_ieee1275_interpret.
22961 (grub_reboot_init): New function.
22962 (grub_reboot_fini): Likewise.
22963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22964 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22965 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22966 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22967 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22968 function.
22969 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22970 Add prototype.
22971 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22972 prototype.
22973 (grub_halt): Likewise.
22974 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22975 (cmain): Remove __attribute__((unused)).
22976 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22977 (grub_heap_len): Likewise.
22978 (grub_machine_fini): New function.
22979 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22980 (grub_halt): Likewise.
22981 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22982 function.
22983 * util/powerpc/ieee1275/misc.c: New file.
22984
22985 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22986
22987 * DISTLIST: New file.
22988 * gendistlist.sh: Likewise.
22989
22990 * Makefile.in (COMMON_DISTFILES): Removed.
22991 (BOOT_DISTFILES): Likewise.
22992 (CONF_DISTFILES): Likewise.
22993 (DISK_DISTFILES): Likewise.
22994 (FS_DISTFILES): Likewise.
22995 (INCLUDE_DISTFILES): Likewise.
22996 (KERN_DISTFILES): Likewise.
22997 (LOADER_DISTFILES): Likewise.
22998 (TERM_DISTFILES): Likewise.
22999 (UTIL_DISTFILES): Likewise.
23000 (DISTFILES): Likewise.
23001 (uninstall): Uninstall files in $(pkgdata_DATA).
23002 (DISTLIST): New target.
23003 (distdir): Use the contents of the file DISTLIST to get a list of
23004 distributed files.
23005
23006 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23007
23008 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
23009 descriptor. This is ported from GRUB Legacy.
23010
23011 * gencmdlist.sh: Added an extra semicolon to make it work with
23012 old sed versions. Reported by Robert Bihlmeyer
23013 <robbe@orcus.priv.at>.
23014
23015 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
23016
23017 Automatic loading of commands is supported.
23018
23019 * normal/main.c (read_command_list): New function.
23020 (grub_normal_execute): Call read_command_list.
23021
23022 * normal/command.c (grub_register_command): Return zero or CMD.
23023 Allocate CMD->NAME from the heap.
23024 Initialize CMD->MODULE_NAME to zero.
23025 Find the same name as well. If the same command is found and it is
23026 a dummy command, overwrite members. If it is not a dummy command,
23027 return zero.
23028 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
23029 (grub_command_find): If a dummy command is found, load a module
23030 and retry to find a command only once.
23031
23032 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
23033 make sure that each command is loaded.
23034
23035 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
23036 macro.
23037 (struct grub_command): Remove const from the member `name'.
23038 Add a new member `module_name'.
23039 (grub_register_command): Return grub_command_t.
23040
23041 * commands/help.c (grub_cmd_help): Call grub_command_find to make
23042 sure that each command is loaded.
23043
23044 * genmk.rb (PModule::rule): Specify a module name without the
23045 suffix ".mod" to gencmdlist.sh.
23046
23047 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23048
23049 * gencmdlist.sh: New file.
23050
23051 * genmk.rb (PModule::rule): Generate a rule for a command list.
23052 Clean command.lst.
23053 Generate command.lst from $(COMMANDFILES).
23054
23055 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
23056 (DATA): Added $(pkgdata_DATA).
23057 (install-local): Install files in $(pkgdata_DATA).
23058
23059 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23060
23061 * term/i386/pc/vga.c (debug_command): Removed.
23062 (GRUB_MOD_INIT): Do not register the command "debug".
23063
23064 From Hollis Blanchard:
23065 * commands/configfile.c: New file.
23066 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23067 commands/configfile.c.
23068 (pkgdata_MODULES): Added configfile.mod.
23069 (configfile_mod_SOURCES): New variable.
23070 (configfile_mod_CFLAGS): Likewise.
23071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23072 commands/configfile.c.
23073 (pkgdata_MODULES): Added configfile.mod.
23074 (configfile_mod_SOURCES): New variable.
23075 (configfile_mod_CFLAGS): Likewise.
23076 * util/grub-emu.c (main): Call grub_configfile_init and
23077 grub_configfile_fini.
23078 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23079 prototype.
23080 [GRUB_UTIL] (grub_configfile_fini): Likewise.
23081
23082 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23083
23084 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23085 address.
23086
23087 * commands/help.c (grub_cmd_help): Do not print newlines after
23088 the last command in print_command_help.
23089
23090 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23091
23092 * commands/default.h: New file.
23093 * commands/timeout.h: Likewise.
23094 * normal/context.c: Likewise.
23095
23096 * util/misc.c: Do not include sys/times.h.
23097 Include sys/time.h and grub/machine/time.h.
23098 (grub_get_rtc): Rewritten with gettimeofday.
23099
23100 * util/grub-emu.c (main): Call grub_default_init and
23101 grub_timeout_init before grub_normal_init, and call
23102 grub_timeout_fini and grub_default_fini after grub_main.
23103
23104 * util/console.c (grub_ncurses_checkkey): Return the read
23105 character or -1.
23106
23107 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23108 timeouts.
23109
23110 * normal/main.c (read_config_file): Push MENU. If this fails,
23111 print an error and wait for a user input.
23112 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23113 If a menu is empty or an error occurs, pop MENU.
23114 (grub_normal_execute): Pop and free MENU after grub_menu_run
23115 returns.
23116
23117 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23118
23119 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23120 include time.h.
23121 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23122 without GRUB_UTIL.
23123 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23124 time.h.
23125 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23126 without GRUB_UTIL.
23127
23128 * include/grub/normal.h (struct grub_menu_list): New struct.
23129 (grub_menu_list_t): New type.
23130 (struct grub_context): New struct.
23131 (grub_context_t): New type.
23132 (grub_register_command): Got rid of EXPORT_FUNC.
23133 (grub_unregister_command): Likewise.
23134 (grub_context_get): New prototype.
23135 (grub_context_get_current_menu): Likewise.
23136 (grub_context_push_menu): Likewise.
23137 (grub_context_pop_menu): Likewise.
23138 [GRUB_UTIL] (grub_default_init): Likewise.
23139 [GRUB_UTIL] (grub_default_fini): Likewise.
23140 [GRUB_UTIL] (grub_timeout_init): Likewise.
23141 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23142
23143 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23144 commands/timeout.c and normal/context.c.
23145 (pkgdata_MODULES): Added default.mod and timeout.mod.
23146 (normal_mod_SOURCES): Added normal/context.c.
23147 (default_mod_SOURCES): New variable.
23148 (default_mod_CFLAGS): Likewise.
23149 (timeout_mod_SOURCES): Likewise.
23150 (timeout_mod_CFLAGS): Likewise.
23151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23152 conf/i386-pc.rmk.
23153 (pkgdata_MODULES): Added default.mod and timeout.mod.
23154 (normal_mod_SOURCES): Added normal/context.c.
23155 (default_mod_SOURCES): New variable.
23156 (default_mod_CFLAGS): Likewise.
23157 (timeout_mod_SOURCES): Likewise.
23158 (timeout_mod_CFLAGS): Likewise.
23159
23160 * Makefile.in (all-local): Added $(MKFILES).
23161
23162 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23163
23164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23165 (grub_emu_SOURCES): Likewise.
23166 (pkgdata_MODULES): Add `sun.mod'.
23167 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23169 `partmap/sun.c'.
23170 (pkgdata_MODULES): Add `sun.mod'.
23171 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23172 * include/grub/partition.h (grub_sun_partition_map_init): New
23173 prototype.
23174 (grub_sun_partition_map_fini): Likewise.
23175 * partmap/sun.c: New file.
23176 * util/grub-emu.c (main): Initialize and de-initialize the sun
23177 partitionmap support.
23178
23179 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23180
23181 This implements an Emacs-like menu entry editor.
23182
23183 * normal/menu_entry.c: New file.
23184
23185 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23186 characters to ASCII.
23187 (saved_char): New variable.
23188 (grub_ncurses_checkkey): Rewritten completely.
23189 (grub_ncurses_getkey): Likewise.
23190 (grub_ncurses_init): Call raw instead of cbreak.
23191
23192 * normal/menu.c (print_entry): Do not put a space.
23193 (init_page): Renamed to ...
23194 (grub_menu_init_page): ... this. All callers changed.
23195 (edit_menu_entry): Removed.
23196 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23197
23198 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23199
23200 * kern/misc.c (grub_vprintf): Call grub_refresh.
23201
23202 * normal/menu.c (DISP_LEFT): Renamed to ...
23203 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23204 * normal/menu.c (DISP_UP): Renamed to ...
23205 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23206 * normal/menu.c (DISP_RIGHT): Renamed to ...
23207 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23208 * normal/menu.c (DISP_DOWN): Renamed to ...
23209 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23210 * normal/menu.c (DISP_HLINE): Renamed to ...
23211 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23212 * normal/menu.c (DISP_VLINE): Renamed to ...
23213 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23214 * normal/menu.c (DISP_UL): Renamed to ...
23215 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23216 * normal/menu.c (DISP_UR): Renamed to ...
23217 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23218 * normal/menu.c (DISP_LL): Renamed to ...
23219 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23220 * normal/menu.c (DISP_LR): Renamed to ...
23221 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23222 * normal/menu.c (TERM_WIDTH): Renamed to ...
23223 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23224 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23225 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23226 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23227 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23228 * normal/menu.c (TERM_MARGIN): Renamed to ...
23229 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23230 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23231 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23232 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23233 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23234 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23235 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23236 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23237 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23238 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23239 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23240 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23241 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23242 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23243 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23244 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23245 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23246 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23247 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23248 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23249 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23250 All callers changed.
23251
23252 * include/grub/normal.h: New prototype.
23253
23254 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23255 normal/menu_entry.c.
23256 (normal_mod_SOURCES): Likewise.
23257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23258 (normal_mod_SOURCES): Likewise.
23259
23260 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23261
23262 * include/grub/normal.h (grub_halt_init): New prototype.
23263 (grub_halt_fini): Likewise.
23264 (grub_reboot_init): Likewise.
23265 (grub_reboot_fini): Likewise.
23266
23267 * util/grub-emu.c: Include signal.h.
23268 (main_env): New global variable.
23269 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23270 catch C-c.
23271 (grub_machine_fini): New function.
23272 (main): Call grub_halt_init and grub_reboot_init before
23273 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23274 Call setjmp with MAIN_ENV to go back afterwards.
23275 Call grub_machine_fini right before return.
23276
23277 * include/grub/util/misc.h: Include setjmp.h.
23278 (main_env): New prototype.
23279
23280 * include/grub/kernel.h (grub_machine_fini): New prototype.
23281 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23282 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23283
23284 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23285 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23286 * term/i386/pc/console.c (grub_console_fini): Likewise.
23287
23288 * util/i386/pc/misc.c: New file.
23289
23290 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23291 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23292 commands/i386/pc/reboot.c.
23293
23294 2005-02-14 Guillem Jover <guillem@hadrons.org>
23295
23296 * include/grub/dl.h (grub_dl_check_header): New prototype.
23297 (grub_arch_dl_check_header): Change return type to grub_err_t,
23298 remove size parameter and export function. Update all callers.
23299 * kern/dl.c (grub_dl_check_header): New function.
23300 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23301 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23302 are inside the core.
23303 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23304 independent ELF header checks.
23305 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23306 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23307 `grub_dl_check_header' instead of explicit checks. Check for the
23308 ELF type.
23309 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23310 `grub_dl_check_header' instead of explicit checks. Remove arch
23311 specific ELF header checks.
23312
23313 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23314 argument SIZE.
23315
23316 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23317
23318 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23319 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23320
23321 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23322
23323 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
23324 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
23325 (part_map_iterate): Clear `grub_errno' and return 0 if
23326 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
23327 * partmap/amiga.c (amiga_partition_map_iterate): Return
23328 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23329 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23330
23331 2005-02-01 Guillem Jover <guillem@hadrons.org>
23332
23333 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23334 help info.
23335
23336 2005-01-31 Marco Gerards <metgerards@student.han.nl>
23337
23338 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23339 Removed prototype.
23340 (grub_rescue_cmd_linux): New prototype.
23341 (grub_rescue_cmd_initrd): Likewise.
23342 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23343 `bi_rec'.
23344 (grub_linux_release_mem): Release the memory for the initrd.
23345 (grub_load_linux): Renamed from this...
23346 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23347 Changed `entry' not to be static. Loop over memory regions to
23348 find another one when the default fails.
23349 (grub_rescue_cmd_initrd): New function.
23350 (grub_linux_init): Remove function.
23351 (grub_linux_fini): Likewise.
23352 (GRUB_MOD_INIT): Register `initrd'.
23353 (GRUB_MOD_FINI): Unregister `initrd'.
23354 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23355 Function removed.
23356 (grub_linux_normal_fini): Likewise.
23357 (GRUB_MOD_INIT): Register `initrd'.
23358 (GRUB_MOD_FINI): Unregister `initrd'.
23359
23360 2005-01-31 Marco Gerards <metgerards@student.han.nl>
23361
23362 * commands/help.c: New file.
23363 * normal/arg.c (show_help): Renamed to...
23364 (grub_arg_show_help): ... this.
23365 * commands/i386/pc/halt.c: New file.
23366 * commands/i386/pc/reboot.c: Likewise.
23367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23368 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23369 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23370 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23371 variables.
23372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23373 `commands/help.c'.
23374 (pkgdata_MODULES): Add `help.mod'.
23375 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23376 * grub/i386/pc/init.h (grub_reboot): New prototype.
23377 (grub_halt): Likewise.
23378 * include/grub/normal.h (grub_arg_show_help): New prototype.
23379 (grub_help_init): Likewise.
23380 (grub_help_fini): Likewise.
23381 * util/grub-emu.c (main): Initialize and deinitialize the help
23382 command.
23383
23384 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23385
23386 * normal/command.c (grub_command_init): Fixed the description of
23387 the `set' and `unset' commands.
23388
23389 2005-01-31 Marco Gerards <metgerards@student.han.nl>
23390
23391 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23392 function.
23393 * commands/ieee1275/halt.c: New file.
23394 * commands/ieee1275/reboot.c: Likewise.
23395 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23396 `__attribute__ ((unused))'. Some GCS related fixed.
23397 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23398 (grub_suspend_fini): Likewise.
23399 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23400 and `halt.mod'.
23401 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23402 (halt_mod_CFLAGS): New variables.
23403 * include/grub/powerpc/ieee1275/ieee1275.h
23404 (grub_ieee1275_interpret): New prototype.
23405
23406 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23407
23408 * include/grub/misc.h (memmove): New prototype.
23409 (memcpy): Likewise.
23410
23411 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23412
23413 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23414 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23415
23416 2005-01-22 Marco Gerards <metgerards@student.han.nl>
23417
23418 * kern/misc.c (grub_strndup): Function rewritten.
23419
23420 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23421
23422 * normal/menu.c (TERM_WIDTH): Macro redefined.
23423 (TERM_TOP_BORDER_Y): Likewise.
23424 (draw_border): Replaced while-loop by a for-loop. Make the number
23425 of lines consistent with the number of lines displayed in
23426 print_entries. Added a margin below the rectangle.
23427 (print_entry): Make the entry fit in the rectangle.
23428 (print_entries): Display the scroll arrows next to the right
23429 border.
23430
23431 2005-01-21 Marco Gerards <metgerards@student.han.nl>
23432
23433 * fs/minix.c (grub_minix_find_file): Reserve more space for
23434 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23435 `grub_strncpy' to copy `path' into it.
23436
23437 2005-01-21 Marco Gerards <metgerards@student.han.nl>
23438
23439 Add the loopback device, a device via which files can be accessed
23440 as devices.
23441
23442 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23443 (pkgdata_MODULES): Add loopback.mod.
23444 (loopback_mod_SOURCES): New variable.
23445 (loopback_mod_CFLAGS): Likewise.
23446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23447 `disk/loopback.c'.
23448 (pkgdata_MODULES): Add loopback.mod.
23449 (loopback_mod_SOURCES): New variable.
23450 (loopback_mod_CFLAGS): Likewise.
23451 * disk/loopback.c: new file.
23452 * include/grub/normal.h (grub_loop_init): New prototype.
23453 (grub_loop_fini): New prototype.
23454 * util/grub-emu.c (main): Initialize and de-initialize loopback
23455 support.
23456 * include/grub/disk.h (grub_disk_dev_id): Add
23457 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23458
23459 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23460
23461 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23462 function.
23463 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23464 (suspend_mod_SOURCES): New variable.
23465 (suspend_mod_CFLAGS): Likewise.
23466 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23467 New prototype.
23468 * commands/ieee1275/suspend.c: New file.
23469
23470 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23471
23472 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
23473 ((unused))' to `__attribute__ ((used))'.
23474 (GRUB_MOD_FINI): Likewise.
23475 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23476 * genmk.rb (PModule): Assign space to common symbols when linking
23477 modules.
23478
23479 2005-01-20 Marco Gerards <metgerards@student.han.nl>
23480
23481 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23482 `unsigned' arguments to `grub_size_t'.
23483 (grub_malloc): Likewise.
23484 (grub_realloc): Likewise.
23485 (grub_memalign): Likewise.
23486 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23487 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23488 * util/misc.c (grub_malloc): Likewise.
23489 (grub_realloc): Likewise.
23490 * kern/mm.c (get_header_from_pointer): Change the casts to
23491 `unsigned' into a cast to `grub_size_t'.
23492
23493 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23494 point to `currnode' when `currnode' is changed.
23495
23496 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23497 Schottelius <nico-linux@schottelius.org>.
23498
23499 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23500
23501 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23502 (note_path): Remove variable.
23503 (GRUB_IEEE1275_NOTE_NAME): New macro.
23504 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23505 (grub_ieee1275_note_hdr): New structure.
23506 (grub_ieee1275_note_desc): Likewise.
23507 (grub_ieee1275_note): Likewise.
23508 (load_note): Remove `dir' argument. All callers updated. Remove
23509 `note_img' and `path'. Do not load a file from `note_path'.
23510 Initialize a struct grub_ieee1275_note and write that to `out'.
23511 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23512
23513 2005-01-05 Marco Gerards <metgerards@student.han.nl>
23514
23515 * util/misc.c (grub_util_read_image): Revert last change. It
23516 called `grub_util_read_at', which seeks from the beginning of the
23517 file.
23518
23519 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23520
23521 * TODO: Add note about endianness in grub-mkimage.
23522 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23523 section.
23524 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23525 (grub_mkimage_SOURCES): New target.
23526 * include/grub/kernel.h (grub_start_addr): Remove variable.
23527 (grub_end_addr): Likewise.
23528 (grub_total_module_size): Likewise.
23529 (grub_kernel_image_size): Likewise.
23530 (GRUB_MODULE_MAGIC): New constant.
23531 (grub_module_info): New structure.
23532 (grub_arch_modules_addr): New prototype.
23533 (grub_get_end_addr): Remove prototype.
23534 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23535 * include/grub/powerpc/ieee1275/kernel.h: New file.
23536 * include/grub/util/misc.h (grub_util_get_fp_size): New
23537 prototype.
23538 (grub_util_read_at): Likewise.
23539 (grub_util_write_image_at): Likewise.
23540 * kern/main.c (grub_get_end_addr): Remove function.
23541 (grub_load_modules): Call grub_arch_modules_addr instead of using
23542 grub_end_addr. Look for a grub_module_info struct in memory. Use
23543 the grub_module_info fields instead of calling grub_get_end_addr
23544 as loop conditions. Move grub_add_unused_region code here.
23545 (grub_add_unused_region): Remove function.
23546 * kern/i386/pc/init.c: Include grub/cache.h.
23547 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23548 one call to add_mem_region.
23549 (grub_arch_modules_addr): New function.
23550 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23551 (grub_total_module_size): Likewise.
23552 Include grub/machine/kernel.h.
23553 (grub_arch_modules_addr): New function.
23554 * util/grub-emu.c (grub_end_addr): Remove variable.
23555 (grub_total_module_size): Likewise.
23556 (grub_arch_modules_addr): New function.
23557 * util/misc.c: Include unistd.h.
23558 (grub_util_get_fp_size): New function.
23559 (grub_util_read_at): Likewise.
23560 (grub_util_write_image_at): Likewise.
23561 (grub_util_read_image): Call grub_util_read_at.
23562 (grub_util_write_image): Call grub_util_write_image_at.
23563 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23564 additional memory in kernel_img for a struct grub_module_info.
23565 Fill in that grub_module_info.
23566 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23567
23568 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23569
23570 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23571 New function.
23572 * include/grub/powerpc/ieee1275/ieee1275.h
23573 (grub_ieee1275_milliseconds): New prototype.
23574 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23575 Change to 1000.
23576 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23577 grub_ieee1275_milliseconds.
23578
23579 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23580
23581 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23582 variable.
23583 (find_options): New function.
23584 (cmain): Call find_options.
23585 * include/grub/powerpc/ieee1275/ieee1275.h
23586 (grub_ieee1275_realmode): New extern variable.
23587 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23588 grub_map if grub_ieee1275_realmode is false.
23589
23590 2004-12-29 Marco Gerards <metgerards@student.han.nl>
23591
23592 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23593 lines are inserted and make it work like readline. Reported by
23594 Vincent Pelletier <subdino2004@yahoo.fr>.
23595
23596 2004-12-28 Marco Gerards <metgerards@student.han.nl>
23597
23598 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23599
23600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23601 `kern/powerpc/cache.S'.
23602
23603 2004-12-27 Marco Gerards <metgerards@student.han.nl>
23604
23605 * genmk.rb: Handle the `Program' class in the main loop. Written
23606 by Johan Rydberg <jrydberg@gnu.org>.
23607 (Program): New class.
23608 (programs): New variable.
23609 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23610 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23611 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23612 (help_arch): Function removed.
23613 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23614 `powerpc/libgcc.h' and `loader.h'.
23615 (pkgdata_PROGRAMS): New variable.
23616 (sbin_UTILITIES): Variable removed.
23617 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23618 (grubof_SOURCES): Variable re-defined so it only includes the
23619 core functionality.
23620 (grubof_CFLAGS): Remove `-DGRUBOF'.
23621 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23622 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23623 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23624 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23625 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23626 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23627 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23628 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23629 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23630 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23631 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23632 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23633 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23634 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23635 (pc_mod_CFLAGS): New variables.
23636 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23637 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23638 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23639 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23640 Moved from here...
23641 * include/grub/i386/pc/init.h (grub_os_area_addr)
23642 (rub_os_area_size): ... to here.
23643 * include/grub/powerpc/ieee1275/ieee1275.h
23644 (grub_ieee1275_entry_fn): Export symbol.
23645 * include/grub/powerpc/ieee1275/init.h: New file.
23646 * include/grub/powerpc/libgcc.h: Likewise.
23647 * include/grub/cache.h: Likewise.
23648 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23649 <hollis@penguinppc.org>.
23650 * kern/dl.c: Include <grub/cache.h>.
23651 (grub_dl_flush_cache): New function.
23652 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23653 for this module.
23654 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23655 (grub_console_init): Removed prototypes.
23656 (grub_machine_init): Don't initialize the modules anymore.
23657 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23658 static.
23659 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23660 Macro undef removed.
23661 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23662 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23663 relocation `R_PPC_REL32'. Return an error when the relocation is
23664 unknown.
23665 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23666 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23667 * util/misc.c (grub_arch_sync_caches): Likewise.
23668
23669 2004-12-19 Marco Gerards <metgerards@student.han.nl>
23670
23671 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23672 `symlist.c', add `grubof_symlist.c'.
23673 (symlist.c): Variable removed.
23674 (grubof_HEADERS): Variable added.
23675 (grubof_symlist.c): New target.
23676 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23677 `kernel_img_HEADERS'.
23678 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23679 * kern/powerpc/dl.c: New file.
23680 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23681 Function removed.
23682 (grub_arch_dl_relocate_symbols): Likewise.
23683 (grub_register_exported_symbols): Likewise.
23684
23685 2004-12-13 Marco Gerards <metgerards@student.han.nl>
23686
23687 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23688 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23689 to fail instead. Reported by Vincent Pelletier
23690 <subdino2004@yahoo.fr>.
23691
23692 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23693 it is not allocated. Reported by Vincent Pelletier
23694 <subdino2004@yahoo.fr>.
23695
23696 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23697 output so the output looks better.
23698
23699 2004-12-04 Marco Gerards <metgerards@student.han.nl>
23700
23701 Modulize the partition map support and add support for the amiga
23702 partition map.
23703
23704 * commands/ls.c: Include <grub/partition.h> instead of
23705 <grub/machine/partition.h>.
23706 * kern/disk.c: Likewise.
23707 * kern/rescue.c: Likewise.
23708 * loader/i386/pc/chainloader.c: Likewise.
23709 * normal/cmdline.c: Likewise.
23710 * kern/powerpc/ieee1275/init.c: Likewise.
23711 (grub_machine_init): Call `grub_pc_partition_map_init',
23712 `grub_amiga_partition_map_init' and
23713 `grub_apple_partition_map_init'.
23714 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23715 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23716 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23717 `partition.h' and `pc_partition.h'.
23718 (grub_setup_SOURCES): Remove
23719 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23720 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23721 (grub_emu_SOURCES): Likewise.
23722 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23723 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23724 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23726 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23727 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23728 (grubof_SOURCES): Likewise.
23729 * disk/i386/pc/partition.c: File removed.
23730 * disk/powerpc/ieee1275/partition.c: Likewise.
23731 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23732 * include/grub/i386/pc/partition.h: Likewise.
23733 * kern/partition.c: New file.
23734 * partmap/amiga.c: Likewise.
23735 * partmap/apple.c: Likewise.
23736 * partmap/pc.c: Likewise.
23737 * include/grub/partition.h: Likewise..
23738 * include/grub/pc_partition.h: Likewise.
23739 * util/grub-emu.c: Include <grub/partition.h> instead of
23740 <grub/machine/partition.h>.
23741 (main): Call `grub_pc_partition_map_init',
23742 `grub_amiga_partition_map_init' and
23743 `grub_apple_partition_map_init' and deinitialize afterwards.
23744 * util/i386/pc/biosdisk.c: Include `#include
23745 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23746 `<grub/machine/partition.h>'.
23747 * util/i386/pc/grub-setup.c: Likewise.
23748 * util/i386/pc/biosdisk.c: Likewise.
23749 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23750 partition information in case of a PC partition.
23751 * util/i386/pc/grub-setup.c: Include `#include
23752 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23753 `<grub/machine/partition.h>'.
23754 (setup): Only access the PC specific partition information in case
23755 of a PC partition.
23756
23757 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
23758
23759 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23760 (grub_longjmp): Likewise.
23761 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23762 20.
23763 * normal/powerpc/setjmp.S: New file.
23764 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23765 `normal/powerpc/setjmp.S'.
23766 (grubof_CFLAGS): Add `-DGRUBOF'.
23767 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23768 [GRUB_UTIL && !GRUBOF].
23769
23770 2004-11-16 Marco Gerards <metgerards@student.han.nl>
23771
23772 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23773 property named `name'. Correctly handle the error returned by
23774 `grub_ieee1275_finddevice' if a device can not be opened.
23775
23776 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23777
23778 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23779 `actual' for negativity.
23780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23781 kern/fshelp.c.
23782
23783 2004-11-01 Marco Gerards <metgerards@student.han.nl>
23784
23785 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23786 (PAGE_OFFSET): New macro.
23787 (CRTC_ADDR_PORT): Likewise.
23788 (CRTC_DATA_PORT): Likewise.
23789 (START_ADDR_HIGH_REGISTER): Likewise.
23790 (START_ADDR_LOW_REGISTER): Likewise.
23791 (GRAPHICS_ADDR_PORT): Likewise.
23792 (GRAPHICS_DATA_PORT): Likewise.
23793 (READ_MAP_REGISTER): Likewise.
23794 (INPUT_STATUS1_REGISTER): Likewise.
23795 (INPUT_STATUS1_VERTR_BIT): Likewise.
23796 (page): New variable.
23797 (wait_vretrace): New function.
23798 (set_read_map): Likewise.
23799 (set_start_address): Likewise.
23800 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23801 the right page.
23802 (check_vga_mem): Take the page into account.
23803 (write_char): Likewise.
23804 (write_cursor): Likewise.
23805 (scroll_up): Likewise. Copy the page to the page that is not
23806 shown and switch between both pages.
23807 (grub_vga_putchar): Fix off by one error.
23808 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23809 account.
23810
23811 2004-11-01 Marco Gerards <metgerards@student.han.nl>
23812
23813 Add support for iso9660 (including rockridge).
23814
23815 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23816 (iso9660_mod_SOURCES): New variable.
23817 (iso9660_mod_CFLAGS): Likewise.
23818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23819 * include/grub/fs.h (grub_iso9660_init): New prototype.
23820 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23821 * fs/iso9660.c: New file.
23822
23823 * include/grub/misc.h (grub_strncat): New prototype.
23824 * kern/misc.c (grub_strncat): New function.
23825
23826 * fs/hfs.c (grub_hfs_mount): Translate the error
23827 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23828 * fs/jfs.c (grub_jfs_mount): Likewise.
23829 * fs/ufs.c (grub_ufs_mount): Likewise.
23830
23831 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23832
23833 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23834 which initialized BAT registers.
23835 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23836 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23837 Move from here...
23838 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23839 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23840 ... to here.
23841 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23842 (grub_mapclaim): Likewise.
23843 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23844 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23845 hand.
23846
23847 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23848
23849 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23850 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23851 -ffreestanding and -msoft-float.
23852
23853 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23854
23855 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23856 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23857 set in grub_ieee1275_flags.
23858
23859 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23860
23861 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23862 prototype.
23863 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23864 grub_console_init first.
23865 Change the memory range used for grub_ieee1275_claim and
23866 grub_mm_init_region.
23867 Print an error message if the claim fails.
23868 Include <grub/misc.h>.
23869
23870 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23871
23872 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23873 Call grub_children_iterate for device nodes of type `scsi',
23874 `ide', or `ata'.
23875 (grub_ofdisk_open): Remove manual device alias resolution.
23876 Fix memory leak when device cannot be opened.
23877 * include/grub/powerpc/ieee1275/ieee1275.h
23878 (grub_children_iterate): New prototype.
23879 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23880 New function.
23881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23882 Return -1 if args.size was -1.
23883
23884 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23885
23886 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23887 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23888 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23889 Open Firmware's memory for it; claim memory from _start to _end.
23890 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23891 (_end): New extern.
23892 (_start): Zero BSS from __bss_start to _end.
23893 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23894 New extern.
23895 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23896
23897 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23898
23899 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23900 -1 if args.base was -1.
23901
23902 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23903
23904 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23905 escape sequence instead of a literal ^L. Also call
23906 grub_ofconsole_gotoxy.
23907
23908 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23909
23910 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23911 void * arguments to grub_addr_t. All callers updated. Also make
23912 the `result' argument optional.
23913 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23914 All callers updated.
23915
23916 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23917
23918 * commands/ls.c (grub_ls_list_files): Use the string following the
23919 initial ')', if present, as the filesystem path.
23920 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23921
23922 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23923
23924 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23925
23926 Make the source code of the menu interface more readable.
23927
23928 * normal/menu.c: Include grub/mm.h.
23929 (TERM_WIDTH): New macro.
23930 (TERM_HEIGHT): Likewise.
23931 (TERM_INFO_HEIGHT): Likewise.
23932 (TERM_MARGIN): Likewise.
23933 (TERM_SCROLL_WIDTH): Likewise.
23934 (TERM_TOP_BORDER_Y): Likewise.
23935 (TERM_LEFT_BORDER_X): Likewise.
23936 (TERM_BORDER_WIDTH): Likewise.
23937 (TERM_MESSAGE_HEIGHT): Likewise.
23938 (TERM_BORDER_HEIGHT): Likewise.
23939 (TERM_NUM_ENTRIES): Likewise.
23940 (TERM_FIRST_ENTRY_Y): Likewise.
23941 (TERM_ENTRY_WIDTH): Likewise.
23942 (TERM_CURSOR_X): Likewise.
23943 (draw_border): Use macros instead of magic numbers.
23944 (print_entry): Likewise.
23945 (print_entries): Likewise.
23946 (run_menu): Likewise. Also, handle the key 'e'.
23947 (run_menu_entry): Ignore empty command lines.
23948 (print_message): Added a new argument EDIT. If EDIT is true,
23949 print a different message.
23950 (init_page): Likewise.
23951 (edit_menu_entry): New function. Not implemented yet.
23952
23953 2004-09-17 Marco Gerards <metgerards@student.han.nl>
23954
23955 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23956 can be loaded from normal mode.
23957
23958 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23959 `multiboot.mod'.
23960 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23961 (multiboot_mod_CFLAGS): New variables.
23962 * loader/i386/pc/linux_normal.c: New file.
23963 * loader/i386/pc/multiboot_normal.c: Likewise.
23964
23965 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23966 attribute `unused'.
23967
23968 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23969 `fdiro' to read the mode information from instead of `diro'.
23970
23971 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23972 looking up a symlink.
23973
23974 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23975 macro.
23976 * normal/command.c (grub_command_execute): Don't parse the
23977 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23978 flags of the command.
23979
23980 * normal/menu.c (grub_menu_run): Fix typo.
23981
23982 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23983
23984 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23985
23986 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23987 `y + 1' instead of `y - 1'.
23988
23989 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
23990
23991 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23992
23993 From Hollis Blanchard <hollis@penguinppc.org>:
23994 * kern/misc.c (memmove): New alias for grub_memmove.
23995 (memcmp): New alias for grub_memcmp.
23996 (memset): New alias for grub_memset.
23997 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23998 Change "int handle" to "grub_ieee1275_phandle_t handle".
23999 * include/grub/powerpc/ieee1275/ieee1275.h
24000 (grub_ieee1275_get_property): Likewise.
24001
24002 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
24003
24004 Added normal mode command `chainloader' as module chain.mod, which
24005 depends on normal.mod and _chain.mod.
24006
24007 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
24008 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
24009 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
24010 Deleted prototype.
24011 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
24012 but arguments parsing moved to ...
24013 (grub_chainloader_cmd): ... here. New function.
24014 * include/grub/i386/pc/chainloader.h: New file.
24015 * loader/i386/pc/chainloader_normal.c: Likewise.
24016
24017 2004-09-11 Marco Gerards <metgerards@student.han.nl>
24018
24019 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
24020 (grub_mkimage_LDFLAGS): Likewise.
24021 (grub_emu_SOURCES): Likewise.
24022 (kernel_img_HEADERS): Added fshelp.h.
24023 * fs/ext2.c: Include <grub/fshelp.h>.
24024 (FILETYPE_REG): New macro.
24025 (FILETYPE_INO_REG): Likewise.
24026 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
24027 Changed all users.
24028 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
24029 all users.
24030 (grub_fshelp_node): New struct.
24031 (grub_ext2_data): Added member `diropen'. Changed member `inode'
24032 to a pointer.
24033 (grub_ext2_get_file_block): Removed function.
24034 (grub_ext2_read_block): New function.
24035 (grub_ext2_read_file): Replaced parameter `data' by `node'.
24036 This function was written.
24037 (grub_ext2_mount): Read the root inode. Create a diropen struct.
24038 (grub_ext2_find_file): Removed function.
24039 (grub_ext2_read_symlink): New function.
24040 (grub_ext2_iterate_dir): Likewise.
24041 (grub_ext2_open): Rewritten.
24042 (grub_ext2_dir): Rewritten.
24043 * include/grub/fshelp.h: New file.
24044 * fs/fshelp.c: Likewise.
24045
24046 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
24047
24048 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
24049 (print_message): Add a missing newline.
24050 (run_menu): Added timeout support.
24051 (run_menu_entry): New local function.
24052 (grub_menu_run): Added support for booting.
24053
24054 * kern/loader.c (grub_loader_is_loaded): New function.
24055
24056 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
24057 (grub_get_rtc): Exported.
24058
24059 * include/grub/i386/pc/time.h: Include grub/symbol.h.
24060 (grub_get_rtc): Exported.
24061
24062 * include/grub/normal.h (struct grub_command_list): Remove
24063 constant from the member `command'.
24064
24065 * include/grub/loader.h (grub_loader_is_loaded): Declared.
24066
24067 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
24068
24069 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
24070
24071 2004-08-28 Marco Gerards <metgerards@student.han.nl>
24072
24073 Add support for the JFS filesystem.
24074
24075 * fs/jfs.c: New file.
24076 * include/grub/fs.h (grub_jfs_init): New prototype.
24077 (grub_jfs_fini): New prototype.
24078 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24079 (grub_emu_SOURCES): Likewise.
24080 (pkgdata_MODULES): Add jfs.mod.
24081 (jfs_mod_SOURCES): New variable.
24082 (jfs_mod_CFLAGS): Likewise.
24083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24084 (grubof_SOURCES): Likewise.
24085 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24086
24087 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24088 endian to the host endian.
24089 (grub_fat_utf16_to_utf8): Move function from there...
24090 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
24091 the endianness of the source string anymore.
24092 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24093
24094 2004-08-24 Marco Gerards <metgerards@student.han.nl>
24095
24096 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24097 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24098 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24099 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
24100
24101 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24102 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24103 for `node_found' and `it_dir'.
24104 (grub_hfs_dir): Add prototype for `dir_hook'.
24105
24106 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24107 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24108 and `indir32' to silence a gcc warning.
24109
24110 * include/grub/fs.h (grub_hfs_init): New prototype.
24111 (grub_hfs_fini): Likewise.
24112
24113
24114 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24115
24116 Each disk device has its own id now. This is useful to make use
24117 of multiple disk devices.
24118
24119 * include/grub/disk.h (grub_disk_dev_id): New enum.
24120 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24121 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24122
24123 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24124 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24125
24126 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24127 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24128
24129 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24130 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24131
24132 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24133 "id" which is used by the cache manager.
24134
24135 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24136 of just "GRUB".
24137
24138 2004-08-18 Marco Gerards <metgerards@student.han.nl>
24139
24140 * fs/hfs.c: New file.
24141 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24142 (grub_emu_SOURCES): Likewise.
24143 (pkgdata_MODULES): Add hfs.mod.
24144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24145 (grubof_SOURCES): Likewise.
24146 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24147
24148 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24149 * kern/misc.c (grub_strncasecmp): Add function.
24150
24151 2004-08-14 Marco Gerards <metgerards@student.han.nl>
24152
24153 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24154 with parentheses.
24155
24156 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24157 (grub_ext2_dir): In case the directory entry type is unknown, read
24158 it from the inode.
24159
24160 2004-08-02 Peter Bruin <pjbruin@dds.nl>
24161
24162 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24163 grub_load_linux instead of grub_rescue_cmd_linux as second
24164 argument of grub_rescue_register_command.
24165
24166 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24167
24168 2004-07-27 Marco Gerards <metgerards@student.han.nl>
24169
24170 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24171 function.
24172 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24173 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24174 `loader/powerpc/ieee1275/linux.c',
24175 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24176 * include/grub/powerpc/ieee1275/ieee1275.h
24177 (grub_ieee1275_release): New prototype.
24178 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24179 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24180 normal, boot, linux and linux_normal.
24181 * loader/powerpc/ieee1275/linux.c: New file.
24182 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24183
24184 2004-07-12 Marco Gerards <metgerards@student.han.nl>
24185
24186 * normal/arg.c (grub_arg_parse): Correct error handling after
24187 reallocating the argumentlist (check if `argl' is not null instead
24188 of checking if `args' is not null).
24189 * kern/mm.c (grub_realloc): Return the same pointer when using the
24190 same region, instead of returning the header address.
24191
24192 2004-07-11 Marco Gerards <metgerards@student.han.nl>
24193
24194 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24195 one block instead of two when looking for the initial partition.
24196 (grub_partition_probe): Initialize the local variable `p' with 0.
24197 Use base 10 for the grub_strtoul call.
24198 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24199 need for one local variable.
24200 (grub_strtoul): Don't add the new value to `num', instead of that
24201 just assign it.
24202
24203 2004-07-11 Marco Gerards <metgerards@student.han.nl>
24204
24205 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24206 (pxeboot_img_SOURCES): New variable.
24207 (pxeboot_img_ASFLAGS): Likewise.
24208 (pxeboot_img_LDFLAGS): Likewise.
24209 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24210 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24211 <lode_leroy@hotmail.com>.
24212
24213 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24214
24215 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24216 there was no input.
24217
24218 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24219
24220 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24221 the history buffer logic.
24222
24223 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24224
24225 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24226 (FILETYPE_INO_SYMLINK): New macros.
24227 (grub_ext2_find_file): Check if the node is a directory using the
24228 inode stat information instead of using the filetype in the
24229 dirent. Exclude the first character of an absolute symlink.
24230 (grub_ext2_dir): Mask out the filetype part of the mode member of
24231 the inode.
24232
24233 2004-05-24 Marco Gerards <metgerards@student.han.nl>
24234
24235 Add support for UFS version 1 and 2. Add support for the minix
24236 filesystem version 1 and 2, both the variants with 14 and 30 long
24237 filenames.
24238
24239 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24240 fs/minix.c.
24241 (grub_emu_SOURCES): Likewise.
24242 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24243 (ufs_mod_SOURCES): New variable.
24244 (ufs_mod_CFLAGS): Likewise.
24245 (minix_mod_SOURCES): Likewise.
24246 (minix_mod_CFLAGS): Likewise.
24247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24248 fs/minix.c.
24249 (grubof_SOURCES): Likewise.
24250 * fs/ufs.c: New file.
24251 * fs/minix.c: New file.
24252 * include/grub/fs.h (grub_ufs_init): New prototype.
24253 (grub_ufs_fini): Likewise.
24254 (grub_minix_init): Likewise.
24255 (grub_minix_fini): Likewise.
24256 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24257 minix fs.
24258
24259 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24260
24261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24262 commands/ls.c, commands/terminal.c, commands/boot.c,
24263 commands/cmp.c and commands/cat.c.
24264 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24265
24266 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24267 "env.h"
24268
24269 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24270
24271 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24272 and grub_, respectively. Because the conversion is trivial and
24273 mechanical, I omit the details here. Please refer to the CVS
24274 if you need more information.
24275
24276 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24277
24278 * include/pupa: Renamed to ...
24279 * include/grub: ... this.
24280 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24281 * util/i386/pc/grub-mkimage.c: ... this.
24282 * util/i386/pc/pupa-setup.c: Renamed to ...
24283 * util/i386/pc/grub-setup.c: ... this.
24284 * util/pupa-emu.c: Renamed to ...
24285 * util/grub-emu.c: ... this.
24286
24287 2004-03-29 Marco Gerards <metgerards@student.han.nl>
24288
24289 Add support for the newworld apple macintosh (PPC). This has been
24290 tested on the powerbook 2000 only. It only adds support for
24291 generic ieee1275 functions, console and disk support. This should
24292 be easy to port to other architectures with support for Open
24293 Firmware.
24294
24295 * configure.ac: Accept the powerpc as host_cpu. In the case of
24296 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24297 specific tests are only executed while building for the i386.
24298 Inverse test for crosscompile.
24299 * genmk.rb (Utility): Allow assembler files.
24300 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24301 * conf/powerpc-ieee1275.rmk: New file.
24302 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24303 * disk/powerpc/ieee1275/partition.c: Likewise.
24304 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24305 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24306 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24307 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24308 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24309 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24310 * include/pupa/powerpc/ieee1275/loader.h
24311 * include/pupa/powerpc/setjmp.h: Likewise.
24312 * include/pupa/powerpc/types.h: Likewise.
24313 * kern/powerpc/ieee1275/init.c: Likewise.
24314 * kern/powerpc/ieee1275/openfw.c: Likewise.
24315 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24316
24317 These files were written by Johan Rydberg
24318 (jrydberg@night.trouble.net) and I only modified them slightly.
24319
24320 * boot/powerpc/ieee1275/cmain.c: New file.
24321 * boot/powerpc/ieee1275/crt0.S: Likewise.
24322 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24323 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24324
24325 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24326
24327 * Makefile.in: Update copyright.
24328 * genmodsrc.sh: Likewise.
24329 * gensymlist.sh: Likewise.
24330 * term/i386/pc/vga.c: Indent correctly.
24331
24332 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24333 bugreporting address.
24334 * util/i386/pc/pupa-setup.c (usage): Likewise,
24335 (main): Call pupa_ext2_init and pupa_ext2_fini.
24336
24337 * fs/fat.c (log2): Renamed to ...
24338 (fat_log2): ... this.
24339 All callers changed.
24340 * kern/misc.c (memcpy): Alias to pupa_memmove.
24341 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24342 lvalue cast.
24343 * util/console.c (pupa_ncurses_fini): Return 0.
24344
24345 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24346 Move fail label here.
24347 [__GNU__]: Don't warn when using stat.
24348 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24349 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24350 long int. Use strtol instead of strtoul.
24351
24352 2004-03-14 Marco Gerards <metgerards@student.han.nl>
24353
24354 * commands/boot.c: New file.
24355 * commands/cat.c: Likewise.
24356 * commands/cmp.c: Likewise.
24357 * commands/ls.c: Likewise.
24358 * commands/terminal.c: Likewise.
24359 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24360 (pupa_register_command): Changed interface to match the new
24361 argument parser.
24362 (pupa_command_execute): Changed (almost rewritten) so it uses
24363 pupa_split_command. Added support for setting variables using the
24364 syntax `foo=bar'.
24365 (rescue_command): Changed to work with the new argument parser.
24366 (terminal_command): Moved from here to commands/terminal.c.
24367 (set_command): New function.
24368 (unset_command): New function.
24369 (insmod_command): New function.
24370 (rmmod_command): New function.
24371 (lsmod_command): New function.
24372 (pupa_command_init): Don't initialize the command terminal
24373 anymore. Initialize the commands set, unset, insmod, rmmod and
24374 lsmod.
24375 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24376 (kernel_img_HEADERS): Add arg.h and env.h.
24377 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24378 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24379 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24380 normal/arg.c.
24381 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24382 terminal.mod.
24383 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24384 (boot_mod_SOURCES): New variable.
24385 (terminal_mod_SOURCES): Likewise.
24386 (ls_mod_SOURCES): Likewise.
24387 (cmp_mod_SOURCES): Likewise.
24388 (cat_mod_SOURCES): Likewise.
24389
24390 * normal/arg.c: New file.
24391 * kern/env.c: Likewise.
24392 * include/pupa/arg.h: Likewise.
24393 * include/pupa/env.h: Likewise.
24394 * font/manager.c (font_command): Changed to match argument parsing
24395 interface changes.
24396 (PUPA_MOD_INIT): Likewise.
24397 * hello/hello.c (pupa_cmd_hello): Likewise.
24398 (PUPA_MOD_INIT): Likewise.
24399 * include/pupa/disk.h: Include <pupa/device.h>.
24400 (pupa_print_partinfo): New prototype.
24401 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24402 (pupa_dl_get_prefix): Likewise.
24403 * include/pupa/misc.h: Include <pupa/err.h>.
24404 (pupa_isgraph): New prototype.
24405 (pupa_isdigit): Likewise.
24406 (pupa_split_cmdline): Likewise.
24407 * include/pupa/normal.h: Include <pupa/arg.h>.
24408 (pupa_command): Changed the prototype of the member `func' to
24409 match the argument parsing interface. Added member `options'.
24410 (pupa_register_command): Updated to match function.
24411 (pupa_arg_parse): New prototype.
24412 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24413 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24414 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24415 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24416 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24417 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24418 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24419 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24420 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24421 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24422 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24423 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24424 * kern/disk.c: Include <pupa/file.h>.
24425 (pupa_print_partinfo): New function.
24426 * kern/dl.c: Include <pupa/env.h>.
24427 (pupa_dl_dir): Variable removed.
24428 (pupa_dl_load): Use the environment variable `prefix' instead of
24429 the variable pupa_dl_dir.
24430 (pupa_dl_set_prefix): Function removed.
24431 (pupa_dl_get_prefix): Likewise.
24432 * kern/i386/pc/init.c: Include <pupa/env.h>.
24433 (pupa_machine_init): Use the environment variable `prefix' instead of
24434 using pupa_dl_set_prefix to set the prefix.
24435 * kern/main.c: Include <pupa/env.h>.
24436 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24437 using pupa_dl_get_prefix to get the prefix.
24438 * kern/misc.c: Include <pupa/env.h>.
24439 (pupa_isdigit): New function.
24440 (pupa_isgraph): Likewise.
24441 (pupa_ftoa): Likewise.
24442 (pupa_vsprintf): Added support for printing values of the type
24443 `double'. Make it possible to format variable output when using
24444 formatting like `%1.2%f'.
24445 (pupa_split_cmdline): New function.
24446 * kern/rescue.c: Include <pupa/env.h>.
24447 (next_word): Removed function.
24448 (pupa_rescue_cmd_prefix): Likewise.
24449 (pupa_rescue_cmd_set): New function.
24450 (pupa_rescue_cmd_unset): New function.
24451 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24452 split the command line instead of splitting it here. Added
24453 support for setting variables using the syntax `foo=bar'. Don't
24454 initialize the prefix command anymore. Initialized the set and
24455 unset commands.
24456 * normal/cmdline.c: Include <pupa/env.h>.
24457 (pupa_tab_complete): Added prototypes for print_simple_completion,
24458 print_partition_completion, add_completion, iterate_commands,
24459 iterate_dev, iterate_part and iterate_dir. Moved code to print
24460 partition information from here to kern/disk.c.
24461 (pupa_cmdline_run): Don't check if the function exists anymore.
24462 * normal/main.c: Include <pupa/env.h>.
24463 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24464 instead of using pupa_dl_get_prefix to get the prefix.
24465 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24466 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24467 warning.
24468 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24469 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24470 ((unused))' to silence a gcc warning.
24471 (pupa_vga_setcolor): Likewise.
24472 (debug_command): Changed to match argument parsing
24473 interface changes.
24474 * util/pupa-emu.c: Include <pupa/env.h>.
24475 (options): Added 0's for unused fields to silence a gcc warning.
24476 (argp): Likewise.
24477 (main): Use the environment variable `prefix' instead of using
24478 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24479 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24480 and terminal.
24481
24482 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24483 * util/misc.c: Include <malloc.h>.
24484 (pupa_malloc): Rewritten so errors are correctly reported.
24485 (pupa_realloc): Likewise.
24486 (pupa_memalign): Likewise.
24487 (pupa_mm_init_region): Declare unused variables with
24488 `__attribute__ ((unused))' to silence a gcc warning.
24489 * normal/i386/setjmp.S: Remove tab at the end of the file to
24490 silence a gcc warning.
24491 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24492 variables with `__attribute__ ((unused))' to silence a gcc
24493 warning.
24494 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24495 local variable i unsigned to silence a gcc warning.
24496
24497 * kern/term.c: Include <pupa/misc.h>.
24498 (pupa_more_lines): New variable.
24499 (pupa_more): Likewise.
24500 (pupa_putcode): When the pager is active pause at the end of every
24501 screen.
24502 (pupa_set_more): New function.
24503 * include/pupa/term.h (pupa_set_more): New prototype.
24504
24505
24506 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24507
24508 Now this project is GRUB 2 rather than PUPA. The location of
24509 the CVS repository was moved to GRUB's.
24510
24511 * configure.ac: Use bug-grub as the reporting address.
24512 Use GRUB instead of PUPA.
24513 Change the version number to 1.90.
24514
24515 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24516
24517 * genkernsyms.sh: Updated copyright information.
24518 * genmk.rb: Likewise.
24519 * genmodsrc.sh: Likewise.
24520 * gensymlist.sh: Likewise.
24521 * boot/i386/pc/boot.S: Likewise.
24522 * boot/i386/pc/diskboot.S: Likewise.
24523 * disk/i386/pc/biosdisk.c: Likewise.
24524 * disk/i386/pc/partition.c: Likewise.
24525 * font/manager.c: Likewise.
24526 * fs/ext2.c: Likewise.
24527 * fs/fat.c: Likewise.
24528 * include/pupa/boot.h: Likewise.
24529 * include/pupa/device.h: Likewise.
24530 * include/pupa/disk.h: Likewise.
24531 * include/pupa/dl.h: Likewise.
24532 * include/pupa/elf.h: Likewise.
24533 * include/pupa/err.h: Likewise.
24534 * include/pupa/file.h: Likewise.
24535 * include/pupa/font.h: Likewise.
24536 * include/pupa/fs.h: Likewise.
24537 * include/pupa/kernel.h: Likewise.
24538 * include/pupa/loader.h: Likewise.
24539 * include/pupa/misc.h: Likewise.
24540 * include/pupa/mm.h: Likewise.
24541 * include/pupa/net.h: Likewise.
24542 * include/pupa/normal.h: Likewise.
24543 * include/pupa/rescue.h: Likewise.
24544 * include/pupa/setjmp.h: Likewise.
24545 * include/pupa/symbol.h: Likewise.
24546 * include/pupa/term.h: Likewise.
24547 * include/pupa/types.h: Likewise.
24548 * include/pupa/i386/setjmp.h: Likewise.
24549 * include/pupa/i386/types.h: Likewise.
24550 * include/pupa/i386/pc/biosdisk.h: Likewise.
24551 * include/pupa/i386/pc/boot.h: Likewise.
24552 * include/pupa/i386/pc/console.h: Likewise.
24553 * include/pupa/i386/pc/init.h: Likewise.
24554 * include/pupa/i386/pc/kernel.h: Likewise.
24555 * include/pupa/i386/pc/linux.h: Likewise.
24556 * include/pupa/i386/pc/loader.h: Likewise.
24557 * include/pupa/i386/pc/memory.h: Likewise.
24558 * include/pupa/i386/pc/multiboot.h: Likewise.
24559 * include/pupa/i386/pc/partition.h: Likewise.
24560 * include/pupa/i386/pc/time.h: Likewise.
24561 * include/pupa/i386/pc/vga.h: Likewise.
24562 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24563 * include/pupa/util/getroot.h: Likewise.
24564 * include/pupa/util/misc.h: Likewise.
24565 * include/pupa/util/resolve.h: Likewise.
24566 * kern/device.c: Likewise.
24567 * kern/disk.c: Likewise.
24568 * kern/dl.c: Likewise.
24569 * kern/err.c: Likewise.
24570 * kern/file.c: Likewise.
24571 * kern/fs.c: Likewise.
24572 * kern/loader.c: Likewise.
24573 * kern/main.c: Likewise.
24574 * kern/misc.c: Likewise.
24575 * kern/mm.c: Likewise.
24576 * kern/rescue.c: Likewise.
24577 * kern/term.c: Likewise.
24578 * kern/i386/dl.c: Likewise.
24579 * kern/i386/pc/init.c: Likewise.
24580 * kern/i386/pc/lzo1x.S: Likewise.
24581 * kern/i386/pc/startup.S: Likewise.
24582 * loader/i386/pc/chainloader.c: Likewise.
24583 * loader/i386/pc/linux.c: Likewise.
24584 * loader/i386/pc/multiboot.c: Likewise.
24585 * normal/cmdline.c: Likewise.
24586 * normal/command.c: Likewise.
24587 * normal/main.c: Likewise.
24588 * normal/menu.c: Likewise.
24589 * normal/i386/setjmp.S: Likewise.
24590 * term/i386/pc/console.c: Likewise.
24591 * term/i386/pc/vga.c: Likewise.
24592 * util/console.c: Likewise.
24593 * util/genmoddep.c: Likewise.
24594 * util/misc.c: Likewise.
24595 * util/pupa-emu.c: Likewise.
24596 * util/resolve.c: Likewise.
24597 * util/unifont2pff.rb: Likewise.
24598 * util/i386/pc/biosdisk.c: Likewise.
24599 * util/i386/pc/getroot.c: Likewise.
24600 * util/i386/pc/pupa-mkimage.c: Likewise.
24601 * util/i386/pc/pupa-setup.c: Likewise.
24602
24603 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24604
24605 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24606 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24607 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24608 reading and reset it after reading.
24609 (pupa_ext2_close): Return PUPA_ERR_NONE.
24610
24611 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24612 Correct value.
24613 (struct linux_kernel_header): Add kernel_version and
24614 initrd_addr_max.
24615 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24616 pupa_file_read succeeds.
24617 (pupa_rescue_cmd_initrd): Implement.
24618
24619 2003-12-03 Marco Gerards <metgerards@student.han.nl>
24620
24621 * fs/ext2.c (pupa_ext2_label): New function.
24622 (pupa_ext2_fs): Added label.
24623 * fs/fat.c (pupa_fat_label): New function.
24624 (pupa_fat_fs): Added label.
24625 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24626
24627 * kern/misc.c (pupa_strndup): New function.
24628 * include/pupa/misc.h (pupa_strndup): New prototype.
24629
24630 * include/pupa/normal.h: Include <pupa/err.h>.
24631 (pupa_set_history): New prototype.
24632 (pupa_iterate_commands): New prototype.
24633 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24634 <pupa/disk.h>, <pupa/file.h>.
24635 (hist_size): New variable.
24636 (hist_lines): Likewise.
24637 (hist_end): Likewise.
24638 (hist_used): Likewise.
24639 (pupa_set_history): New function.
24640 (pupa_history_get): Likewise.
24641 (pupa_history_add): Likewise.
24642 (pupa_history_replace): Likewise.
24643 (pupa_tab_complete): Likewise.
24644 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24645 completion shows partitionnames while completing partitions, this
24646 feature was suggested by Jeff Bailey.
24647 * normal/command.c (pupa_iterate_commands): New function.
24648 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24649 (pupa_normal_init): Initialize history buffer.
24650 (PUPA_MOD_INIT): Likewise.
24651 (pupa_normal_fini): Free the history buffer.
24652 (PUPA_MOD_FINI): Likewise.
24653
24654 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24655 key.
24656
24657 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24658 * configure.ac [i386]: Check for regparam bug.
24659 (NESTED_FUNC_ATTR) [! i386]: Defined.
24660
24661 2003-11-17 Marco Gerards <metgerards@student.han.nl>
24662
24663 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24664 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24665 (pupa_emu_SOURCES): New variable.
24666 (pupa_emu_LDFLAGS): Likewise.
24667 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24668 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24669 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24670 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24671 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24672 (pupa_jmp_buf): New typedef.
24673 (pupa_setjmp) [PUPA_UTIL]: New macro.
24674 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24675 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24676 (pupa_refresh): New prototype.
24677 * include/pupa/util/getroot.h: New file.
24678 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24679 it.
24680 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24681 (pupa_rescue_cmd_cat): Likewise.
24682 (pupa_rescue_cmd_ls): Likewise.
24683 (pupa_rescue_cmd_testload): Likewise.
24684 (pupa_rescue_cmd_lsmod): Likewise.
24685 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24686 * normal/menu.c (run_menu): Likewise.
24687 * kern/term.c (pupa_cls): Likewise.
24688 (pupa_refresh): New function.
24689 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24690 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24691 * util/console.c: New file.
24692
24693 * util/i386/pc/getroot.c: New file.
24694 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24695 (pupa_putchar): New function.
24696 (pupa_refresh): Likewise.
24697 (xgetcwd): Function moved to ...
24698 (strip_extra_slashes): Likewise.
24699 (get_prefix): Likewise.
24700 * util/i386/pc/getroot.c: ... here.
24701 (find_root_device): Function moved and renamed to...
24702 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24703 Changed all callers.
24704 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24705 and renamed to...
24706 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24707 Changed all callers.
24708 * util/misc.c (pupa_memalign): New function.
24709 (pupa_mm_init_region): Likewise.
24710 (pupa_register_exported_symbols): Likewise.
24711 (pupa_putchar): Function removed.
24712 * util/pupa-emu.c: New file.
24713
24714 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24715
24716 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24717 (_multiboot_mod_SOURCES): New variable.
24718 (_multiboot_mod_CFLAGS): Likewise.
24719 * loader/i386/pc/multiboot.c: New file.
24720 * include/pupa/i386/pc/multiboot.h: Likewise.
24721 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24722 (pupa_multiboot_real_boot): New function.
24723 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24724 (pupa_multiboot_real_boot): New prototype.
24725 (pupa_rescue_cmd_multiboot): Likewise
24726 (pupa_rescue_cmd_module): Likewise.
24727
24728 * kern/loader.c (pupa_loader_set): Continue when
24729 pupa_loader_unload_func() fails.
24730 (pupa_loader_unset): New function.
24731 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24732
24733 * kern/misc.c (pupa_stpcpy): New function.
24734 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24735
24736 2003-11-12 Marco Gerards <metgerards@student.han.nl>
24737
24738 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24739 for available extensions.
24740
24741 * include/pupa/i386/pc/time.h: New file.
24742 * kern/disk.c: Include <pupa/machine/time.h>.
24743 (PUPA_CACHE_TIMEOUT): New macro.
24744 (pupa_last_time): New variable.
24745 (pupa_disk_open): Flush the cache when there was a timeout.
24746 (pupa_disk_close): Reset the timer.
24747 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24748 pupa_currticks.
24749 * util/misc.c: Include <sys/times.h>
24750 (pupa_get_rtc): New function.
24751
24752 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24753
24754 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24755 as blocks.
24756 (pupa_ext2_get_file_block): Use blocks member.
24757
24758 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24759 first block. Return -1 instead of pupa_errno on error.
24760
24761 2003-10-27 Marco Gerards <metgerards@student.han.nl>
24762
24763 * README: In the pupa-mkimage example use _chain instead of chain
24764 and ext2 instead of fat.
24765 * TODO: Replace ext2fs with jfs as an example. Add an item for
24766 adding journal playback for ext2fs.
24767 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24768 (pkgdata_MODULES): Added ext2.mod.
24769 (ext2_mod_SOURCES): New variable.
24770 (ext2_mod_CFLAGS): Likewise.
24771 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24772 * include/pupa/misc.h (pupa_strncpy): New prototype.
24773 (pupa_strcat): Likewise.
24774 (pupa_strncmp): Likewise.
24775 * kern/misc.c (pupa_strcat): Enable function.
24776 (pupa_strncpy): New function.
24777 (pupa_strncmp): Likewise.
24778 * fs/ext2.c: New file.
24779
24780 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24781 when the read failed before retrying.
24782 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24783 (_FILE_OFFSET_BITS): Likewise.
24784 * configure.ac: Added AC_SYS_LARGEFILE.
24785
24786 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24787
24788 * genmk.rb (PModule#rule): Make sure to get only symbol names
24789 from the output of nm.
24790 Reported by Robert Millan <rmh.grub@aybabtu.com>.
24791
24792 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24793
24794 I forgot to check in these changes for a long time. This adds
24795 incomplete support for VGA console, and this is still very
24796 buggy. Also, a lot of consideration is required for I18N,
24797 UNICODE, and VGA font issues. Therefore, assume that this is
24798 such that "better than nothing".
24799
24800 * font/manager.c: New file.
24801 * include/pupa/font.h: Likewise.
24802 * include/pupa/i386/pc/vga.h: Likewise.
24803 * term/i386/pc/vga.c: Likewise.
24804 * util/unifont2pff.rb: Likewise.
24805
24806 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24807 (pkgdata_MODULES): Added vga.mod and font.mod.
24808 (vga_mod_SOURCES): New variables.
24809 (vga_mod_CFLAGS): Likewise.
24810 (font_mod_SOURCES): Likewise.
24811 (font_mod_CFLAGS): Likewise.
24812
24813 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24814
24815 * include/pupa/term.h: Include pupa/err.h.
24816 (struct pupa_term): Added init and fini.
24817 Changed the argument of putchar to pupa_uint32_t.
24818
24819 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24820 (pupa_console_real_putchar): New prototype.
24821 (pupa_console_putchar): Removed.
24822 (pupa_console_checkkey): Exported.
24823 (pupa_console_getkey): Likewise.
24824
24825 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24826 characters.
24827
24828 * kern/term.c (pupa_term_set_current): Rewritten.
24829 (pupa_putchar): Likewise.
24830 (pupa_putcode): New function.
24831
24832 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24833 (pupa_console_real_putchar): ... this.
24834 (pupa_vga_set_mode): New function.
24835 (pupa_vga_get_font): Likewise.
24836
24837 * normal/command.c: Include pupa/term.h.
24838 (terminal_command): New function.
24839 (pupa_command_init): Register the command "terminal".
24840
24841 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24842 (DISP_UP): Likewise.
24843 (DISP_RIGHT): Likewise.
24844 (DISP_DOWN): Likewise.
24845 (DISP_HLINE): Likewise.
24846 (DISP_VLINE): Likewise.
24847 (DISP_UL): Likewise.
24848 (DISP_UR): Likewise.
24849 (DISP_LL): Likewise.
24850 (DISP_LR): Likewise.
24851
24852 * term/i386/pc/console.c (pupa_console_putchar): New function.
24853
24854 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24855
24856 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24857 FIX. Reverse the path_list.
24858
24859 * include/pupa/normal.h: Export pupa_register_command and
24860 pupa_unregister_command.
24861
24862 * hello/hello.c (pupa_cmd_hello): New module.
24863 * conf/i386-pc.rmk: Added hello.mod.
24864
24865 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24866
24867 * kern/i386/pc/lzo1x.S: New file.
24868
24869 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24870 (compress_kernel): New variable.
24871 (generate_image): Heavily modified to support compressing a
24872 large part of the core image.
24873
24874 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24875 leak.
24876 (pupa_util_load_image): New function.
24877
24878 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24879 (pupa_compressed_size): New variable.
24880 (codestart): Enable Gate A20 here.
24881 Decompress the compressed part of the core image.
24882 Rearrange the code to put functions and variables which are
24883 required for initialization in the non-compressed part.
24884 Include lzo1x.S.
24885
24886 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24887 here.
24888
24889 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24890
24891 * include/pupa/i386/pc/kernel.h
24892 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24893 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24894 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24895 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24896 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24897
24898 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24899
24900 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24901 (Utility#rule): Likewise.
24902
24903 * configure.ac: Check if LZO is available.
24904
24905 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24906
24907 * include/pupa/normal.h: New file.
24908 * include/pupa/setjmp.h: Likewise.
24909 * include/pupa/i386/setjmp.h: Likewise.
24910 * normal/cmdline.c: Likewise.
24911 * normal/command.c: Likewise.
24912 * normal/main.c: Likewise.
24913 * normal/menu.c: Likewise.
24914 * normal/i386/setjmp.S: Likewise.
24915
24916 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24917 (pupa_rescue_cmd_initrd): Likewise.
24918
24919 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24920 Likewise.
24921
24922 * kern/i386/pc/startup.S (translation_table): New variable.
24923 (translate_keycode): New function.
24924 (pupa_console_getkey): Call translate_keycode.
24925
24926 * kern/rescue.c (attempt_normal_mode): New function.
24927 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24928 it failed, print a message.
24929
24930 * kern/mm.c (pupa_real_malloc): Print more information when a
24931 free magic is broken.
24932 (pupa_free): If the first free header is not free actually, set
24933 it to P.
24934
24935 * kern/main.c (pupa_load_normal_mode): Just load the module
24936 "normal".
24937 (pupa_main): Don't print the message
24938 "Entering into rescue mode..." here.
24939
24940 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24941 Declared.
24942 (pupa_rescue_cmd_initrd): Likewise.
24943 (pupa_rescue_cmd_initrd): Likewise.
24944
24945 * include/pupa/symbol.h (FUNCTION): Specify the type.
24946 (VARIABLE): Likewise.
24947
24948 * include/pupa/err.h (pupa_err_t): Added
24949 PUPA_ERR_UNKNOWN_COMMAND.
24950
24951 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24952 (pupa_dl_get_prefix): Likewise.
24953
24954 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24955 Added _chain.mod and _linux.mod instead of chain.mod and
24956 linux.mod.
24957 (chain_mod_SOURCES): Renamed to ...
24958 (_chain_mod_SOURCES): ... this.
24959 (chain_mod_CFLAGS): Renamed to ...
24960 (_chain_mod_CFLAGS): ... this.
24961 (linux_mod_SOURCES): Renamed to ...
24962 (_linux_mod_SOURCES): ... this.
24963 (linux_mod_CFLAGS): Renamed to ...
24964 (_linux_mod_CFLAGS): ... this.
24965 (normal_mod_SOURCES): New variable.
24966 (normal_mod_CFLAGS): Likewise.
24967 (normal_mod_ASFLAGS): Likewise.
24968
24969 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24970
24971 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24972 possible.
24973
24974 * kern/dl.c (pupa_dl_ref): Refer depending modules
24975 recursively.
24976 (pupa_dl_unref): Unrefer depending modules recursively.
24977 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24978 a module is unloaded before one depending on that module is
24979 unloaded.
24980 (pupa_dl_unload): Unload depending modules explicitly,
24981 if possible.
24982
24983 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24984
24985 * include/pupa/i386/pc/linux.h: New file.
24986 * loader/i386/pc/linux.c: Likewise.
24987
24988 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24989 Removed.
24990 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24991 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24992 of PUPA_CHAINLOADER_BOOT_SECTOR.
24993
24994 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24995 (pupa_linux_prot_size): New variable.
24996 (pupa_linux_tmp_addr): Likewise.
24997 (pupa_linux_real_addr): Likewise.
24998 (pupa_linux_boot_zimage): New function.
24999 (pupa_linux_boot_bzimage): Likewise.
25000
25001 * kern/i386/pc/init.c (struct mem_region): New structure.
25002 (MAX_REGIONS): New macro.
25003 (mem_regions): New variable.
25004 (num_regions): Likewise.
25005 (pupa_os_area_addr): Likewise.
25006 (pupa_os_area_size): Likewise.
25007 (pupa_lower_mem): Likewise.
25008 (pupa_upper_mem): Likewise.
25009 (add_mem_region): New function.
25010 (compact_mem_regions): Likewise.
25011 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
25012 the size of the conventional memory and that of so-called upper
25013 memory (before the first memory hole).
25014 Instead of adding each found region to free memory, use
25015 add_mem_region and add them after removing overlaps.
25016 Also, add only 1/4 of the upper memory to free memory. The rest
25017 is used for loading OS images. Maybe this is ad hoc, but this
25018 makes it much easier to relocate OS images when booting.
25019
25020 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
25021 (pupa_enter_rescue_mode): Don't register initrd and module.
25022
25023 * kern/mm.c: Include pupa/dl.h.
25024
25025 * kern/main.c: Include pupa/file.h and pupa/device.h.
25026
25027 * kern/loader.c (pupa_loader_load_module_func): Removed.
25028 (pupa_loader_load_module): Likewise.
25029
25030 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
25031 ``.o''.
25032
25033 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
25034 (pupa_linux_tmp_addr): Likewise.
25035 (pupa_linux_real_addr): Likewise.
25036 (pupa_linux_boot_zimage): Likewise.
25037 (pupa_linux_boot_bzimage): Likewise.
25038
25039 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
25040 (pupa_upper_mem): Likewise.
25041 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
25042 module is too dangerous.
25043
25044 * include/pupa/loader.h (pupa_os_area_addr): Declared.
25045 (pupa_os_area_size): Likewise.
25046 (pupa_loader_set): Remove the first argument. Loader doesn't
25047 manage modules or initrd any longer.
25048 (pupa_loader_load_module): Removed.
25049
25050 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
25051 (linux_mod_SOURCES): New variable.
25052 (linux_mod_CFLAGS): Likewise.
25053
25054 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
25055
25056 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
25057 the length of a blocklist correctly.
25058
25059 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
25060 Use ioctl only if the OS file is a block device.
25061 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
25062 not very useful for normal files.
25063
25064 * kern/main.c (pupa_set_root_dev): New function.
25065 (pupa_load_normal_mode): Likewise.
25066 (pupa_main): Call those above.
25067
25068 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
25069 pupa_uint16_t.
25070
25071 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
25072
25073 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25074
25075 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25076 (setup): Configure the installed partition information and the
25077 dl prefix.
25078
25079 * loader/i386/pc/chainloader.c (my_mod): New variable.
25080 (pupa_chainloader_unload): New function.
25081 (pupa_rescue_cmd_chainloader): Refer itself.
25082 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25083
25084 * kern/i386/pc/startup.S (install_partition): Removed.
25085 (version_string): Likewise.
25086 (config_file): Likewise.
25087 (pupa_install_dos_part): New variable.
25088 (pupa_install_bsd_part): Likewise.
25089 (pupa_prefix): Likewise.
25090 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25091
25092 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25093 and pupa/misc.h.
25094 (make_install_device): New function.
25095 (pupa_machine_init): Set the dl prefix.
25096
25097 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25098 (buf): Renamed to ...
25099 (linebuf): ... this.
25100 (pupa_rescue_cmd_prefix): New function.
25101 (pupa_rescue_cmd_insmod): Likewise.
25102 (pupa_rescue_cmd_rmmod): Likewise.
25103 (pupa_rescue_cmd_lsmod): Likewise.
25104 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25105 rmmod and lsmod.
25106
25107 * kern/mm.c (pupa_memalign): If failed even after invalidating
25108 disk caches, unload unneeded modules and retry.
25109
25110 * kern/misc.c (pupa_memmove): New function.
25111 (pupa_memcpy): Removed.
25112 (pupa_strcpy): New function.
25113 (pupa_itoa): Made static.
25114
25115 * kern/dl.c (pupa_dl_iterate): New function.
25116 (pupa_dl_ref): Likewise.
25117 (pupa_dl_unref): Likewise.
25118 (pupa_dl_unload): Return if succeeded or not.
25119 (pupa_dl_unload_unneeded): New function.
25120 (pupa_dl_unload_all): Likewise.
25121 (pupa_dl_init): Renamed to ...
25122 (pupa_dl_set_prefix): ... this.
25123 (pupa_dl_get_prefix): New function.
25124
25125 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25126 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25127 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25128 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25129 (pupa_install_dos_part): Declared.
25130 (pupa_install_bsd_part): Likewise.
25131 (pupa_prefix): Likewise.
25132 (pupa_boot_drive): Likewise.
25133
25134 * include/pupa/types.h: Fix a typo.
25135
25136 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25137 pupa_memmove.
25138 (pupa_memmove): Declared.
25139 (pupa_strcpy): Likewise.
25140
25141 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25142 pupa_mod_init takes one argument, its own module.
25143 (pupa_dl_unload_unneeded): Declared.
25144 (pupa_dl_unload_all): Likewise.
25145 (pupa_dl_ref): Likewise.
25146 (pupa_dl_unref): Likewise.
25147 (pupa_dl_iterate): Likewise.
25148 (pupa_dl_init): Renamed to ...
25149 (pupa_dl_set_prefix): ... this.
25150 (pupa_dl_get_prefix): Declared.
25151
25152 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
25153 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
25154 unloaded.
25155 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25156 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25157
25158 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25159 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25160
25161 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25162
25163 * util/i386/pc/pupa-setup.c (setup): Define the internal
25164 function find_first_partition_start at the top level, because GCC
25165 3.0.x cannot compile internal functions in deeper scopes
25166 correctly.
25167 (find_root_device): Use lstat instead of stat.
25168 Don't follow symbolic links.
25169 Fix the path-constructing code.
25170
25171 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25172 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25173 by a BLKGETSIZE ioctl first, because block devices don't fill
25174 the member st_mode of the structure stat on Linux.
25175 [__linux__] (linux_find_partition): Use a temporary buffer
25176 REAL_DEV for the working space. Copy it to DEV before returning.
25177 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25178 buffer cache consistent.
25179 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25180 strncmp. The previous value was merely wrong.
25181 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25182
25183 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25184 FAT size is 12. The previous value was merely wrong.
25185
25186 * kern/main.c (pupa_main): Don't split the starting message from
25187 newlines.
25188
25189 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25190 LF, because BIOS goes crazy about character attributes in this
25191 case.
25192
25193 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25194
25195 * include/i386/pc/util/biosdisk.h: New file.
25196 * util/i386/pc/biosdisk.c: Likewise.
25197 * util/i386/pc/pupa-setup.c: Likewise.
25198
25199 * Makefile.in (INCLUDE_DISTFILES): Added
25200 include/pupa/i386/pc/util/biosdisk.h.
25201 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25202 directory util/i386/pc.
25203 (install-local): Added a rule for sbin_UTILITIES.
25204 (uninstall): Likewise.
25205
25206 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25207
25208 * util/misc.c (xrealloc): New function.
25209 (pupa_malloc): Likewise.
25210 (pupa_free): Likewise.
25211 (pupa_realloc): Likewise.
25212 (pupa_stop): Likewise.
25213 (pupa_putchar): Likewise.
25214
25215 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25216
25217 * include/pupa/util/misc.h (xrealloc): Declared.
25218
25219 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25220 macro.
25221 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25222 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25223
25224 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25225 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25226
25227 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25228 way should be implemented.
25229 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25230
25231 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25232 the size of NAME for safety.
25233 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25234 0x88.
25235
25236 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25237 (pupa_setup_SOURCES): Likewise.
25238
25239 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25240
25241 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25242
25243 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25244 bunch of pushl's from pusha, because this destroys the return
25245 value.
25246
25247 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25248
25249 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25250 This means that any missing prototypes could be fatal. Also, you
25251 must take care when writing assembly code. See the comments at
25252 the beginning of startup.S, for more details.
25253
25254 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25255 compilation mechanism.
25256 (pupa_chainloader_real_boot): Likewise.
25257 (pupa_biosdisk_rw_int13_extensions): Likewise.
25258 (pupa_biosdisk_rw_standard): Likewise.
25259 (pupa_biosdisk_check_int13_extensions): Likewise.
25260 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25261 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25262 (pupa_get_memsize): Likewise.
25263 (pupa_get_mmap_entry): Likewise.
25264 (pupa_console_putchar): Likewise.
25265 (pupa_console_setcursor): Likewise.
25266 (pupa_getrtsecs): Use pushl instead of push.
25267
25268 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25269 memory instead of the stack for a mmap entry, because some
25270 BIOSes may ignore the maximum size and overflow.
25271
25272 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25273
25274 * genmk.rb (PModule#rule): Compile automatically generated
25275 sources with module-specific CFLAGS as well as other sources.
25276
25277 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25278
25279 * configure.ac: Check ld.
25280 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25281 respectively, before checking endianness and sizes.
25282
25283 * Makefile.in (LD): New variable.
25284
25285 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25286
25287 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25288
25289 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25290
25291 * Changelog: New file.
25292