]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
b1f6d291
VS
12010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4
2ac227c7
VS
52010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
8 right pointer.
9
8f9a632b
VS
102010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Fix FreeBSD compilation.
13
14 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
16
60b03859
VS
172010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20
48a5a769
VS
212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24
3ab4bd77
VS
252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28
d116e0d8
RM
292010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30
31 Support relative image path in theme file.
32
33 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
34 (image_set_property): Handle theme_dir and relative path.
35
c7ef54aa
VS
362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * configure.ac: Alias amd64 to x86_64.
39
fcee14ed
VS
402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * NEWS: mention multiboot on EFI.
43
d0780363
VS
442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * kern/main.c (grub_load_modules): Handle errors from init functions of
47 embeded modules.
48
41168ea4
VS
492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * normal/autofs.c (autoload_fs_module): Handle errors.
52
b54d93ac
VS
532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
54
55 Disable linux.mod on qemu-mips since it's not functional and leads
56 to compilation failure.
57
58 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
59 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
60 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
61 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
62 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
63 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
64 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
65 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
66 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
67 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
68 Reported by: BVK Chaitanya
69
fc8345da
JU
702010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
71
72 * INSTALL: Add gettext as a dependency and add qemu to a new section
73 "Prerequisites for make-check".
74
4760f979
CF
752010-03-04 Christian Franke <franke@computer.org>
76
77 * util/grub-pe2elf.c: Add missing include "progname.h".
78
f209b5b2
VS
792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * normal/crypto.c (read_crypto_list): Fix a typo.
82 Reported by: Seth Goldberg.
83
b4b7be98
VS
842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 87 Reported by: Seth Goldberg.
b4b7be98 88
c0ee0385
VS
892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
92 ascii.bitmaps.
93
a8efbf64
VS
942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 97 Reported by: Seth Goldberg.
a8efbf64 98
08dcd913
VS
992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * util/i386/efi/grub-install.in: Copy gettext files.
102
c4d0b332
VS
1032010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
106
c6f2fe52
VS
1072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Wait for user entry basing on presence of output rather than on errors.
110
111 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
112 (grub_install_newline_hook): Likewise.
113 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
114 * normal/menu.c (show_menu): Check line_counter to determine presence
115 of output.
116 * normal/term.c (grub_normal_line_counter): New variable.
117 (grub_normal_get_line_counter): New function.
118 (grub_install_newline_hook): Likewise.
119
5382b1e4
VS
1202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
123
5519963b
VS
1242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * configure.ac: Update version to 1.98.
127
72b28631
VS
1282010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * util/grub.d/10_linux.in (linux_entry): Don't default to
131 gfxpayload=keep if Linux doesn't support video handover.
132
c140a180
VS
1332010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
134
135 Don't compile video modules on yeeloong since video subsystem is part
136 of kernel.
137
138 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
139 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
140 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
141 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
142 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
143 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
144 * include/grub/bitmap_scale.h: Likewise.
145 * include/grub/bufio.h: Likewise.
146 * include/grub/font.h: Likewise.
147 * include/grub/gfxterm.h: Likewise.
148 * include/grub/video.h: Likewise.
149 * include/grub/vbe.h: Don't include video_fb.h.
150 * video/i386/pc/vbe.c: Include video_fb.h.
151 * commands/i386/pc/vbetest.c: Include video.h.
152
a0ca21c2
CW
1532010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
154
155 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
156 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
157 default entry if GRUB_SAVEDEFAULT=true. This allows using
158 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
159 saving a new default on every boot.
160
4a8a763c
VS
1612010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * normal/crypto.c (read_crypto_list): Fix a memory leak.
164 * normal/term.c (read_terminal_list): Likewise.
165 * normal/main.c (grub_normal_init_page): Likewise.
166 (grub_normal_read_line_real): Likewise.
167
607ffde2
VS
1682010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
171 memory leak.
172 Reported by: Seth Goldberg.
173
2b8fa975
CW
1742010-02-24 Joey Korkames <joey+lists@kidfixit.com>
175
176 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
177 duplicate declaration of `start'.
178
618307dd
VS
1792010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
182 filename.
183 Reported by: Georgy Buranov
184
7dd05b96 1852010-02-20 Carles Pina i Estany <carles@pina.cat>
186
187 * util/grub-mkrawimage.c (usage): Change string formatting to
188 improve gettext.
189
d1484a42
MRA
1902010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
191
192 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
193 backspace keys.
194
42b1d186
VS
1952010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
198 Reported by: Michael Suchanek.
199
2002010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
201
202 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
203 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
204
d9f31a41
VS
2052010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Remove any reference to non-free fonts.
208
209 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
210 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
211 uses non-free components.
212 * font/font.c (grub_font_get_name): Remove example name.
213 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
214 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
215 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
216 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
217
2793c71e
GB
2182010-02-16 Georgy Buranov <gburanov@gmail.com>
219
220 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
221
402e3779
VS
2222010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
225 Double divisor.
226 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
227 features.
228 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
229
0dd1e0dd
VS
2302010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * gensymlist.sh.in: Use TARGET_CC instead of CC.
233
6fa7cfce
ST
2342010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
235
236 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
237 * docs/grub.texi (Command-line and menu entry commands): Document play
238 command.
239
37c8483b
ST
2402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
241
242 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
243 parse arguments as inline tempo and notes. Move code for playing notes
244 to...
245 (play): ... new function.
246
14da0fb7
ST
2472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
248
249 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
250 grub_uint16_t instead of short.
251 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
252 disk from little endian to cpu endianness.
253
04459e70
ST
2542010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
255
256 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
257 GRUB_TICKS_PER_SECOND instead of 120.
258
a0876943
VS
2592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
262 escape sequence after \e.
263
e29f95dc
VS
2642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
267 non-ASCII characters.
268
d27859b2
VS
2692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
272 set root in single quotes to prevent \, from being unescaped.
273
bc028f2f
VS
2742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
275
276 Prevent unknown commands from stopping menuentry execution.
277
278 * script/execute.c (grub_script_execute_cmdline): Print error after
279 unknown command.
280
095f5f82
VS
2812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
284 Reported by: Pavel Pisa.
285
8c717950
VS
2862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
289
904935c3
VS
2902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Merge grub_ieee1275_map_physical into grub_map and rename to
293 grub_ieee1275_map
294
295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
296 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
297 Remove.
298 * kern/ieee1275/openfw.c (grub_map): Rename to ...
299 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
300 necessary.
301 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
302
5b59a4e3
VS
3032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
306 opening and not after.
307
69e137e8
VS
3082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
311 constants.
312
2c0fcc36
VS
3132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
316 (alloc_phys): Use ALIGN_UP instead of align_addr.
317
8c6052ce
VS
3182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
321
17cec782
VS
3222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
325
e0128bbd
VS
3262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
329 verbose dprintf.
330
ca62070b
VS
3312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
332
333 Fix over-4GiB seek on sparc64.
334
335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
336 Replace pos_i and pos_lo with pos. All users updated.
337 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
338 New constant.
339 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
340 Likewise.
341 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
342 and pos_lo.
343
bdca2607
VS
3442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-mkrawimage.c (main): Call set_program_name.
347
da278c4d
VS
3482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Properly align 64-bit targets.
351
352 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
353 (generate_image): Use ALIGN_ADDR.
354
b274d734
VS
3552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
356
357 Properly create cross-endian images.
358
359 * include/grub/types.h (grub_host_to_target_addr): New macro
360 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
361
82da2062
VS
3622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
365
7cae4377
VS
3662010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
367
368 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
369
370 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
371 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
372 (grub_linux_boot): Divide by 64K when on VESA.
373
65a533e7
VS
3742010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 Support GRUB_GFXPAYLOAD_LINUX.
377
378 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
379 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
380
dd01d397
VS
3812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
384 to show messages instead of discarding them.
385 Process errors after executing command and not before. Keep old method
386 too as precaution.
387
660960d6
VS
3882010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * configure.ac: Check for ft2build.h.
391
62509f04
VS
3922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
395
473df63d
VS
3962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * genkernsyms.sh.in: Use TARGET_CC.
399
c98d2a13
CW
4002010-02-07 Colin Watson <cjwatson@ubuntu.com>
401
402 * NEWS: Update.
403
6e14234c
VS
4042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
407 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
408 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 409
b255e9cf
YB
4102010-02-07 Yves Blusseau <blusseau@zetam.org>
411
6e14234c 412 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 413
98e6959d
VS
4142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
415
416 Fix warnings in grub-emu when compiling with maximum warning options.
417
418 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
419 (grub_arch_modules_addr): Return 0 and not NULL.
420 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 421 (xstrdup): Use newstr instead of dup.
f88d801b
VS
422 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
423 of disk to dsk to avoid shadowing.
74e4934e
VS
424 (find_free_slot): Fix prototype.
425 * util/getroot.c (grub_util_is_dmraid): Make static.
426 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
427 Add missing prototype.
428 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 429
74e31b5c
VS
4302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * loader/i386/linux.c (grub_linux_setup_video): Handle error
433 appropriately.
434
6b2ad14b
VS
4352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
438 code out.
439
8f891adc
VS
4402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
443 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
444 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
445 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
446 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
447 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
448
74b45184
VS
4492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * include/grub/err.h (grub_err_printf): Don't export.
452
a4bced77
VS
4532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
456
007d0695
VS
4572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * include/grub/i18n.h (grub_gettext_dummy): Removed.
460 * kern/misc.c (grub_gettext_dummy): Make static.
461
b6c0d9c2
VS
4622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
465 by non-valid ones.
466 * kern/term.c (grub_putchar): Likewise.
467
f51a90d0
VS
4682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
471 buggy hook call and memory leak.
472
6846cec5
VS
4732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
476
468d69fe
VS
4772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
480
51906b8c
VS
4812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
484 modevar.
485 Return grub_errno on allocation error.
486
09706ce5
VS
4872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
490
911df80c
YB
4912010-02-06 Yves Blusseau <blusseau@zetam.org>
492
493 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
494 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
495
3746a6bc
VS
4962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
499 non-pxe disk.
500 (grub_pxefs_open): Likewise.
501
09706ce5
VS
5022010-02-06 Robert Millan <rmh.grub@aybabtu.com>
503
504 * util/grub.d/10_hurd.in: Add --class information to menuentries.
505 * util/grub.d/10_kfreebsd.in: Likewise.
506 * util/grub.d/10_linux.in: Likewise.
507
7cc192d9
VS
5082010-02-06 Colin D Bennett <colin@gibibit.com>
509
510 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
511 (gfxmenu_mod_SOURCES): New variable.
512 (gfxmenu_mod_CFLAGS): Likewise.
513 (gfxmenu_mod_LDFLAGS): Likewise.
514 * include/grub/term.h (grub_term_set_current_output): Declare
515 argument as const.
516 * docs/gfxmenu-theme-example.txt: New file.
517 * gfxmenu/gfxmenu.c: Likewise.
518 * gfxmenu/gui_box.c: Likewise.
519 * gfxmenu/gui_canvas.c: Likewise.
520 * gfxmenu/gui_circular_progress.c: Likewise.
521 * gfxmenu/gui_image.c: Likewise.
522 * gfxmenu/gui_label.c: Likewise.
523 * gfxmenu/gui_list.c: Likewise.
524 * gfxmenu/gui_progress_bar.c: Likewise.
525 * gfxmenu/gui_string_util.c: Likewise.
526 * gfxmenu/gui_util.c: Likewise.
527 * gfxmenu/icon_manager.c: Likewise.
528 * gfxmenu/model.c: Likewise.
529 * gfxmenu/named_colors.c: Likewise.
530 * gfxmenu/theme_loader.c: Likewise.
531 * gfxmenu/view.c: Likewise.
532 * gfxmenu/widget-box.c: Likewise.
533 * include/grub/gfxmenu_model.h: Likewise.
534 * include/grub/gfxmenu_view.h: Likewise.
535 * include/grub/gfxwidgets.h: Likewise.
536 * include/grub/gui.h: Likewise.
537 * include/grub/gui_string_util.h: Likewise.
538 * include/grub/icon_manager.h: Likewise.
539
5402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Agglomerate scrolling in gfxterm.
543
544 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
545 (grub_virtual_screen_setup): Initialise 'total_screen'.
546 (write_char): Split to ...
547 (paint_char): ... this ...
548 (write_char): ... and this.
549 (paint_char): Handle delayed scrolling.
550 (draw_cursor): Likewise.
551 (scroll_up): Split to ...
552 (real_scroll): ... this ...
553 (scroll_up): ... and this.
554 (real_scroll): Handle multi-line scroll and draw below-the-bottom
555 characters.
556 (grub_gfxterm_refresh): Call real_scroll.
557
5582010-02-06 Colin D Bennett <colin@gibibit.com>
559
560 * include/grub/misc.h (grub_iscntrl): New inline function.
561 (grub_isalnum): Likewise.
562 (grub_strtol): Likewise.
563
5642010-02-06 Colin D Bennett <colin@gibibit.com>
565
566 * normal/menu_text.c (get_entry_number): Move from here ...
567 * normal/menu.c (get_entry_number): ... moved here.
568 * include/grub/menu.h (grub_menu_get_default_entry_index):
569 New prototype.
570 * normal/menu.c (grub_menu_get_default_entry_index): New function.
571 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
572 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
573 (grub_menu_viewer_should_return): Likewise.
574 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
575 * normal/menu_text.c (run_menu): Enable menu switching.
576 * normal/menu_viewer.c (should_return): New variable.
577 (menu_viewer_changed): Likewise.
578 (grub_menu_viewer_show_menu): Handle menu viewer changes.
579 (grub_menu_viewer_should_return): New function.
580 (menuviewer_write_hook): Likewise.
581 (grub_menu_viewer_init): Likewise.
582
5832010-02-06 Colin D Bennet <colin@gibibit.com>
5842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Support for gfxterm in a window.
587
588 * include/grub/gfxterm.h: New file.
589 * include/grub/video.h (struct grub_video_rect): New declaration.
590 (grub_video_rect_t): Likewise.
591 * term/gfxterm.c (struct grub_gfxterm_window): New type.
592 (refcount): New variable.
593 (render_target): Likewise.
594 (window): Likewise.
595 (repaint_callback): Likewise.
596 (grub_virtual_screen_setup): Use 'render_target'.
597 (init_window): New function.
598 (grub_gfxterm_init_window): Likewise.
599 (grub_gfxterm_init): Check reference counter.
600 Use init_window.
601 (destroy_window): New function.
602 (grub_gfxterm_destroy_window): Likewise.
603 (grub_gfxterm_fini): Check reference counter.
604 Use destroy_window.
605 (redraw_screen_rect): Restore viewport.
606 Use 'render_target' and 'window'.
607 Call 'repaint_callback'.
608 (write_char): Use 'render_target'.
609 (draw_cursor): Likewise.
610 (scroll_up): Restore viewport.
611 Use 'render_target' and 'window'.
612 Call 'repaint_callback'.
613 (grub_gfxterm_cls): Likewise.
614 (grub_gfxterm_refresh): Use 'window'.
615 (grub_gfxterm_set_repaint_callback): New function.
616 (grub_gfxterm_background_image_cmd): Use 'window'.
617 (grub_gfxterm_get_term): New function.
618 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
619
6202010-02-06 Colin D Bennett <colin@gibibit.com>
621
622 Bitmap scaling support.
623
624 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
625 (bitmap_scale_mod_SOURCES): New variable.
626 (bitmap_scale_mod_CFLAGS): Likewise.
627 (bitmap_scale_mod_LDFLAGS): Likewise.
628 * include/grub/bitmap_scale.h: New file.
629 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
630 (background_image_cmd_options): New variable.
631 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
632 (cmd): Rename and change type to ...
633 (background_image_cmd_handle): ... this. All users updated.
634 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
635 * video/bitmap_scale.c: New file.
636
6372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
638
639 SDL support.
640
641 * Makefile.in (LIBSDL): New variable.
642 (enable_grub_emu_sdl): Likewise.
643 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
644 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
645 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
646 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
647 * util/sdl.c: New file.
648
6492010-02-06 Colin D Bennett <colin@gibibit.com>
6502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
651
652 Double buffering support.
653
654 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
655 * include/grub/video.h: Update comment.
656 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
657 New type.
658 (grub_video_fb_doublebuf_blit_init): New prototype.
659 * term/gfxterm.c (scroll_up): Support double buffering.
660 (grub_gfxterm_refresh): Likewise.
661 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
662 (grub_video_fb_doublebuf_blit_init): Likewise.
663 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
664 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
665 'displayed_page', 'render_page' and 'update_screen'.
666 (grub_video_vbe_fini): Free offscreen buffer.
667 (doublebuf_pageflipping_commit): New function.
668 (doublebuf_pageflipping_update_screen): Likewise.
669 (doublebuf_pageflipping_init): Likewise.
670 (double_buffering_init): Likewise.
671 (grub_video_vbe_setup): Enable doublebuffering.
672 (grub_video_vbe_swap_buffers): Implement.
673 (grub_video_vbe_set_active_render_target): Handle double buffering.
674 (grub_video_vbe_get_active_render_target): Likewise.
675 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
676 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
677 (grub_video_vbe_enable_double_buffering): Likewise.
678 (grub_video_vbe_swap_buffers): Use update_screen.
679 (grub_video_set_mode): Use double buffering.
680
6812010-02-06 Robert Millan <rmh.grub@aybabtu.com>
682
683 * maintainance/gentrigtables.py: Remove.
684 * lib/trig.c: Likewise.
685
686 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
687
688 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
689 `trigtables.c'.
690 (trigtables.c): New rule.
691 (gentrigtables): Likewise.
692 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
693
6942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
695
696 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
697 integer constants.
698
6992010-02-06 Colin D Bennet <colin@gibibit.com>
700
701 Trigonometry support.
702
703 * include/grub/trig.h: New file.
704 * lib/trig.c: Likewise.
705 * maintainance/gentrigtables.py: Likewise.
706 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
707 (trig_mod_SOURCES): New variable.
708 (trig_mod_CFLAGS): Likewise.
709 (trig_mod_LDFLAGS): Likewise.
710
5562834e
VS
7112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
714 disk devices.
715
4f8528fc
VS
7162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
719 error.
720
2b4068e9
VS
7212010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * util/hostdisk.c (open_device): Don't use partition device when reading
724 before the partition.
725 (grub_util_biosdisk_read): Don't read from partition and before the
726 partition in single operation.
727 (grub_util_biosdisk_write): Don't write to partition and before the
728 partition in single operation.
729
399f6e4d
TL
7302010-02-03 Torsten Landschoff <torsten@debian.org>
731
732 * kern/disk.c (grub_disk_read): Fix offset computation when reading
733 last sectors.
734
996649b0
VS
7352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
738 CDROM reads.
739 (grub_biosdisk_write): Refuse to write to CDROM.
740
3b205d4d
VS
7412010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
744
61e89d9d
VS
7452010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * font/font.c (find_glyph): Check that bmp_idx is available before
748 using it.
749 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
750 with (font == NULL).
751
bf7fcba2
CS
7522010-01-28 Christian Schmitt <chris@ilovelinux.de>
753
754 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
755
f45d2663
BC
7562010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
757
758 * include/grub/script_sh.h (sourcecode): Add const qualifier.
759 * util/grub-script-check.c (getline): Fix empty lines case.
760
ec1444e6
RM
7612010-01-28 Robert Millan <rmh.grub@aybabtu.com>
762
763 * Makefile.in (check): Exit with fail status when one of the tests
764 fails.
765 * tests/example_functional_test.c (example_test): Fix reversed assert.
766 * tests/example_unit_test.c (example_test): Likewise.
767
2e1cb9bb
CW
7682010-01-28 Colin Watson <cjwatson@ubuntu.com>
769
770 * util/grub.d/10_linux.in: This script does not use any of the
771 contents of gettext.sh, only the external command `gettext', so stop
772 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
773 the same prefix as GRUB.)
774 * util/grub.d/10_kfreebsd.in: Likewise.
775
63533ab0
VS
7762010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
779 of the line.
780
989e1f93
VS
7812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * kern/disk.c (grub_disk_read): Fix offset computation when reading
784 last sectors.
785
e709ebe2
VS
7862010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
789 having a 4KiB and not 32KiB buffer size.
790
27dea7ed
RM
7912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
792
793 * util/hostfs.c: Include `<errno.h>'.
794 (grub_hostfs_read): Handle errors from fseeko() and fread().
795
67667b9c
RM
7962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
797
798 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
799 loop when using read hooks on files whose size isn't sector-aligned.
800
c294d9d8
RM
8012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
802
803 Remove unused parameter.
804
805 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
806 (grub_iso9660_open): Remove initialization of `data->length'.
807
af75a9f1
RM
8082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
809
810 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
811 memleak conditions.
812
254e2ce5 8132010-01-27 Carles Pina i Estany <carles@pina.cat>
814
815 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
816 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
817
b510928c 8182010-01-26 Carles Pina i Estany <carles@pina.cat>
819
820 * util/bin2h.c (usage): Fix warning (space after backslash).
821
aa2f9dd2 8222010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 823
824 * font/font.c: Include `grub/fontformat.h.
825 Remove font file format constants.
826 (grub_font_load): Use the new macros.
827 * include/grub/fontformat.h: New file.
828 * util/grub-mkfont.c: Include `grub/fontformat.c'.
829 (write_font_pf2): Use the new macros.
830
94e7e712
RM
8312010-01-26 Robert Millan <rmh.grub@aybabtu.com>
832
833 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
834 does.
835
3973a59a
RM
8362010-01-26 Robert Millan <rmh.grub@aybabtu.com>
837
838 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
839
840 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
841 (_start): Macroify `0x7F'.
842
843 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
844 (make_install_device): Use "(pxe)" as fallback prefix when booting
845 via PXE.
846
42e0cba3
GS
8472010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * configure.ac: Reset LIBS after check for libgcc symbols.
850
847effd8
CW
8512010-01-25 Colin Watson <cjwatson@ubuntu.com>
852
853 * util/hostdisk.c (open_device): Add trailing newline to debug
854 message.
855
ea4a7e35
GS
8562010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
857
858 * configure.ac: Check for `limits.h'.
859 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
860
67951a53
RM
8612010-01-24 Robert Millan <rmh.grub@aybabtu.com>
862
863 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
864 capitalize error strings.
865
c273d4ce
ST
8662010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
867
868 * util/grub.d/10_hurd.in: Add a recovery mode.
869
69be5b74
VS
8702010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * configure.ac: Check for libgcc symbols with -nostdlib.
873
fc9e5810
BC
8742010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
875
876 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
877
4b358c0a
VS
8782010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
881 stack since heap may be unavailable at that point.
882 (grub_ofconsole_gotoxy): Likewise.
883
454fcd1c
VS
8842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * configure.ac: Check for _restgpr_14_x.
887 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
888 and _savegpr_* prototypes.
889
566863ca
RM
8902010-01-22 Robert Millan <rmh.grub@aybabtu.com>
891
892 Use generic grub_reboot() for i386-efi.
893
894 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
895 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
896 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
897
bf86e59a
VS
8982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
901 presence of "prefix" variable as it breaks when normal.mod is
902 embedded.
903
d645e0f8
VS
9042010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
907 stack since heap is unavailable at that point.
908
f9ab2e25
VS
9092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
912 (grub_freebsd_bootinfo): Rewritten.
913 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
914
01fc7054
VS
9152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
918
caab4fd6
RM
9192010-01-21 Robert Millan <rmh.grub@aybabtu.com>
920
921 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
922 domain now.
923
67eb1427
FZ
9242010-01-20 Felix Zielcke <fzielcke@z-51.de>
925
926 * util/misc.c (make_system_path_relative_to_its_root): Change the work
927 around for handling "/" to the correct fix. Fix a memory leak. Use
928 xstrdup instead of strdup.
929
a9ed4ff3
VS
9302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
933
9342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
935
936 Optimise glyph lookup by Basic Multilingual Plane lookup array.
937
938 * font/font.c (struct grub_font): New member 'bmp_idx'.
939 (font_init): Initialise 'bmp_idx'.
940 (load_font_index): Fill 'bmp_idx'.
941 (find_glyph): Make inline. Use bmp_idx for BMP characters.
942
48209f4f
VS
9432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
946 unnecessary calls.
947
9f0a4bb7
VS
9482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
949
950 Move context handling out of the kernel.
951
952 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
953 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
954 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
955 * conf/i386-efi.rmk: Likewise.
956 * conf/i386-ieee1275.rmk: Likewise.
957 * conf/i386-pc.rmk: Likewise.
958 * conf/powerpc-ieee1275.rmk: Likewise.
959 * conf/sparc64-ieee1275.rmk: Likewise.
960 * conf/x86_64-efi.rmk: Likewise.
961 * include/grub/env.h: Include grub/menu.h.
962 (grub_env_var_type): Removed.
963 (grub_env_var): Replaced field 'type' with 'global'.
964 (grub_env_find): New prototype.
965 (grub_env_context_open): Remove EXPORT_FUNC.
966 (grub_env_context_close): Likewise.
967 (grub_env_export): Likewise.
968 (grub_env_set_data_slot): Removed.
969 (grub_env_get_data_slot): Likewise.
970 (grub_env_unset_data_slot): Likewise.
971 (grub_env_unset_menu): New prototype.
972 (grub_env_set_menu): Likewise.
973 (grub_env_get_menu): Likewise.
974 * include/grub/env_private.h: New file.
975 * include/grub/normal.h (grub_context_init): New prototype.
976 (grub_context_fini): Likewise.
977 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
978 * normal/context.c (grub_cmd_export): ... to here.
979 * kern/env.c: Include env_private.h.
980 (HASHSZ): Moved to include/grub/env_private.h.
981 (grub_env_context): Likewise.
982 (grub_env_sorted_var): Likewise.
983 (current_context): Renamed from this ...
984 (grub_current_context): ...to this. 'static' removed. All users updated.
985 (grub_env_find): Removed 'static'.
986 (grub_env_context_open): Moved to normal/context.c.
987 (grub_env_context_close): Likewise.
988 (grub_env_export): Likewise.
989 (mangle_data_slot_name): Removed.
990 (grub_env_set_data_slot): Likewise.
991 (grub_env_get_data_slot): Likewise.
992 (grub_env_unset_data_slot): Likewise.
993 * kern/main.c (grub_set_root_dev): Don't export root.
994 It will be done later.
995 (grub_main): Don't export prefix.
996 It will be done later.
997 * normal/context.c: New file.
998 * normal/main.c (free_menu): Use grub_env_unset_menu.
999 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1000 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1001 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1002 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1003
8dd35b8c
VS
10042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 setpci support.
1007
1008 * commands/setpci.c: New file.
1009 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1010 (setpci_mod_SOURCES): New variable.
1011 (setpci_mod_CFLAGS): Likewise.
1012 (setpci_mod_LDFLAGS): Likewise.
1013
449193d5
VS
10142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 Byte-addressable PCI configuration space.
1017
1018 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1019 dword address.
1020 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1021 GRUB_PCI_REG_CACHELINE.
1022 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1023 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1024 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1025 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1026 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1027 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1028 grub_pci_make_address.
1029 (lock_rom_area): Likewise.
1030 * commands/lspci.c (grub_lspci_iter): Use macroses
1031 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1032 of grub_pci_make_address.
1033 * disk/ata.c (grub_ata_pciinit): Likewise.
1034 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1035 (GRUB_PCI_REG_VENDOR): Likewise.
1036 (GRUB_PCI_REG_DEVICE): Likewise.
1037 (GRUB_PCI_REG_COMMAND): Likewise.
1038 (GRUB_PCI_REG_STATUS): Likewise.
1039 (GRUB_PCI_REG_REVISION): Likewise.
1040 (GRUB_PCI_REG_CLASS): Likewise.
1041 (GRUB_PCI_REG_CACHELINE): Likewise.
1042 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1043 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1044 (GRUB_PCI_REG_BIST): Likewise.
1045 (GRUB_PCI_REG_ADDRESSES): Likewise.
1046 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1047 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1048 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1049 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1050 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1051 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1052 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1053 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1054 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1055 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1056 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1057 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1058 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1059 (GRUB_PCI_REG_MIN_GNT): Likewise.
1060 (GRUB_PCI_REG_MAX_LAT): Likewise.
1061 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1062 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1063 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1064 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1065 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1066 space.
1067
96d73208
RM
10682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1069
1070 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1071 can be reliably determined to be supported.
1072
d4484482
RM
10732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1074
1075 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1076 that VESA is supported.
1077 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1078 supported.
1079
00308ecf
VS
10802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1083
f66924a4
RM
10842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1085
1086 * util/misc.c (make_system_path_relative_to_its_root): Work around
1087 special-casing of "/", as previous incarnation of this routine did.
1088
cbca0ada
VS
10892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Fix any-emu compilation.
1092
1093 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1094 * grub_bin2h_SOURCES: New variable.
1095
34a66d99
RM
10962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1097
1098 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1099
94fabf58
RM
11002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1101
1102 * util/grub.d/00_header.in: Fix handling of locale_dir.
1103
02cf98ca
VS
11042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1107 as possible unifont location (Gentoo).
1108 Reported by: Alexander Brüning
1109
327dbcd7
VS
11102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 Don't try to generate lists for kernel.img.
1113
1114 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1115 (pkglib_MODULES): Remove kernel.img.
1116 (kernel_img_EXPORTS): Removed.
1117 (kernel_img_RELOCATABLE): New variable.
1118 * conf/x86_64-efi.rmk: Likewise.
1119 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1120
ca467290
VS
11212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1124 grub_xasprintf or grub_snprintf.
1125 (grub_vsprintf): Likewise.
1126 (grub_snprintf): New proto.
1127 (grub_vsnprintf): Likewise.
1128 (grub_xasprintf): Likewise.
1129 (grub_xvasprintf): Likewise.
1130 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1131 (grub_sprintf): Removed.
1132 (grub_vsnprintf): New function.
1133 (grub_snprintf): Likewise.
1134 (grub_xvasprintf): Likewise.
1135 (grub_xasprintf): Likewise.
1136 (grub_vsprintf): Renamed to ...
1137 (grub_vsnprintf_real): ...this. New argument max_len.
1138
aca655fd
BC
11392010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1140
1141 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1142 fix grub-script-check warning.
1143
7ee92c32
VS
11442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * include/grub/font.h (grub_font_load): Fix prototype.
1147
f80927ca
VS
11482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1151
119c50ea
VS
11522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * include/grub/x86_64/at_keyboard.h: New file.
1155
47d5f3c1
VS
11562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * loader/mips/linux.c: Include missing grub/i18n.h.
1159
55ff5266
RM
11602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1161
1162 * normal/menu.c (notify_execution_failure): Clarify error message.
1163
c893cc87
RM
11642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1165
1166 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1167 return value (and revert all return statements). Update users.
1168
917dd370
CW
11692010-01-20 Dan Merillat <debian@dan.merillat.org>
1170
1171 * kern/device.c (grub_device_iterate): Allocate new part_ent
1172 structure based on sizeof (*p) rather than sizeof (p->next), to
1173 account for structure padding.
1174
1175 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1176 disk is NULL, which might happen for LVM physical volumes with no
1177 LVM signature.
1178
d4a4ee57
RM
11792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1180
1181 * loader/mips/linux.c (grub_cmd_initrd)
1182 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1183
11842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1185
1186 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1187 (grub_video_video_init, grub_video_bitmap_init)
1188 (grub_font_manager_init, grub_term_gfxterm_init)
1189 (grub_at_keyboard_init): New extern declarations.
1190 (grub_machine_init): Initialize gfxterm and at_keyboard.
1191
1192 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1193
1194 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1195 `gfxterm.mod' into core image.
1196
1197 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1198 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1199 (kernel_img_FORMAT): Copy to ...
1200
1201 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1202 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1203 (kernel_img_FORMAT): ... here, and ...
1204
1205 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1206 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1207 (kernel_img_FORMAT): ... here.
1208
1209 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1210 and input (at_keyboard) terminals in kernel.
1211 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1212
1213 (pkglib_MODULES): Remove `pci.mod'.
1214 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1215 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1216 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1217 (at_keyboard_mod_LDFLAGS): Remove variables.
1218
12192010-01-11 Felix Zielcke <fzielcke@z-51.de>
1220
1221 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1222
12232009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1224
1225 * include/grub/mips/libgcc.h: Only export symbols for functions
1226 that libgcc provides.
1227
12282009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 MIPS support.
1231
1232 * bus/bonito.c: New file.
1233 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1234 GRUB_PCI_NUM_DEVICES.
1235 * term/i386/pc/serial.c: Move to ...
1236 * term/serial.c: ... here. All users updated.
1237 * util/i386/pc/grub-mkimage.c: Move to ...
1238 * util/grub-mkrawimage.c: ... here. All users updated.
1239 * term/i386/pc/at_keyboard.c: Move to ...
1240 * term/at_keyboard.c: ... here. All users updated.
1241 * conf/mips-qemu-mips.rmk: New file.
1242 * conf/mips-yeeloong.rmk: Likewise.
1243 * conf/mips.rmk: Likewise.
1244 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1245 mipsel-qemu-mips.
1246 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1247 to port addresses.
1248 (grub_ata_pciinit): Support CS5536.
1249 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1250 * font/font_cmd.c (loadfont_command): Open file before passing it to
1251 grub_font_load.
1252 (pseudo_file_read): New function.
1253 (pseudo_file_close): Likewise.
1254 (pseudo_fs): New structure.
1255 (load_font_module): New function.
1256 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1257 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1258 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1259 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1260 * include/grub/i386/at_keyboard.h: Split into ...
1261 * include/grub/at_keyboard.h: ... this ...
1262 * include/grub/i386/at_keyboard.h: ... and this.
1263 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1264 New prototype.
1265 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1266 updated.
1267 (grub_elf64_size): Likewise.
1268 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1269 filename.
1270 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1271 * include/grub/i386/coreboot/serial.h: Rewritten.
1272 * include/grub/i386/ieee1275/serial.h: Include
1273 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1274 * include/grub/i386/pc/serial.h: Moved from here ...
1275 * include/grub/serial.h: ... to here. All users updated.
1276 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1277 (GRUB_PCI_NUM_BUS): Likewise.
1278 (GRUB_PCI_NUM_DEVICES): Likewise.
1279 (grub_pci_device_map_range): Add missing volatile keyword.
1280 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1281 * include/grub/mips/at_keyboard.h: New file.
1282 * include/grub/mips/cache.h: Likewise.
1283 * include/grub/mips/io.h: Likewise.
1284 * include/grub/mips/kernel.h: Likewise.
1285 * include/grub/mips/libgcc.h: Likewise.
1286 * include/grub/mips/pci.h: Likewise.
1287 * include/grub/mips/qemu-mips/boot.h: Likewise.
1288 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1289 * include/grub/mips/qemu-mips/loader.h: Likewise.
1290 * include/grub/mips/qemu-mips/memory.h: Likewise.
1291 * include/grub/mips/qemu-mips/serial.h: Likewise.
1292 * include/grub/mips/qemu-mips/time.h: Likewise.
1293 * include/grub/mips/relocator.h: Likewise.
1294 * include/grub/mips/time.h: Likewise.
1295 * include/grub/mips/types.h: Likewise.
1296 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1297 * include/grub/mips/yeeloong/boot.h: Likewise.
1298 * include/grub/mips/yeeloong/kernel.h: Likewise.
1299 * include/grub/mips/yeeloong/loader.h: Likewise.
1300 * include/grub/mips/yeeloong/memory.h: Likewise.
1301 * include/grub/mips/yeeloong/pci.h: Likewise.
1302 * include/grub/mips/yeeloong/serial.h: Likewise.
1303 * include/grub/mips/yeeloong/time.h: Likewise.
1304 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1305 * kern/elf.c (grub_elf32_size): New parameter. All users
1306 updated.
1307 (grub_elf64_size): Likewise.
1308 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1309 Load modules before saying "Welcome to GRUB!".
1310 Call grub_refresh after saying "Welcome to GRUB!".
1311 * kern/mips/cache.S: New file.
1312 * kern/mips/cache_flush.S: Likewise.
1313 * kern/mips/dl.c: Likewise.
1314 * kern/mips/init.c: Likewise.
1315 * kern/mips/qemu-mips/init.c: Likewise.
1316 * kern/mips/startup.S: Likewise.
1317 * kern/mips/yeeloong/init.c: Likewise.
1318 * kern/term.c (grub_putcode): Handle NULL terminal.
1319 (grub_getcharwidth): Likewise.
1320 (grub_getkey): Likewise.
1321 (grub_checkkey): Likewise.
1322 (grub_getkeystatus): Likewise.
1323 (grub_getxy): Likewise.
1324 (grub_getwh): Likewise.
1325 (grub_gotoxy): Likewise.
1326 (grub_cls): Likewise.
1327 (grub_setcolorstate): Likewise.
1328 (grub_setcolor): Likewise.
1329 (grub_getcolor): Likewise.
1330 (grub_refresh): Likewise.
1331 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1332 (write_jump): Add hatch nop.
1333 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1334 * lib/mips/setjmp.S: New file.
1335 * loader/mips/linux.c: Likewise.
1336 * term/i386/pc/at_keyboard.c: Move from here ...
1337 * term/at_keyboard.c: ... to here.
1338 * term/i386/pc/serial.c: Moved from here ...
1339 * term/serial.c: ... to here. All users updated.
1340 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1341 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1342 (serial_translate_key_sequence): Avoid deadlock.
1343 (grub_serial_getkey): Handle backspace.
1344 (grub_serial_putchar): Fix newline handling.
1345 * util/i386/pc/grub-mkimage.c: Move from here ...
1346 * util/grub-mkrawimage.c: ... to here. All users updated.
1347 (generate_image): New parameters 'font_path' and 'format'.
1348 Support embedding font.
1349 Use grub_host_to_target* instead of grub_cpu_to_le*.
1350 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1351 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1352 (options): New option "--font".
1353 (usage): Likewise.
1354 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1355 (main): Handle "--font".
1356 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1357 (grub_virtual_screen_setup): Set bg_color_display.
1358 (redraw_screen_rect): Use bg_color_display instead of incorrect
1359 bg_color.
1360 (grub_gfxterm_cls): Likewise.
1361 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1362 Support embedding config file.
1363 (add_segments): Likewise.
1364 (options): New option "--config".
1365 (main): Handle "--config".
1366 * video/sm712.c: New file.
1367
25c2b5b3
RM
13682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1369
1370 Fix parallel builds.
1371
1372 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1373 font.c depend on ascii.h).
1374
13752010-01-12 Carles Pina i Estany <carles@pina.cat>
1376
1377 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1378
13792010-01-11 Carles Pina i Estany <carles@pina.cat>
1380
1381 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1382 By default: disabled.
1383 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1384 parameter.
1385
13862010-01-10 Carles Pina i Estany <carles@pina.cat>
1387
1388 * font/font.c: Update copyright years.
1389 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1390
13912010-01-10 Carles Pina i Estany <carles@pina.cat>
1392
1393 * font/font.c: Include `ascii.h'.
1394 (ASCII_BITMAP_SIZE): New macro.
1395 (ascii_font_glyph): Define.
1396 (ascii_glyph_lookup): New function.
1397 (grub_font_get_string_width): Change comment. If glyph not found, use
1398 ascii_glyph_lookup.
1399 (grub_font_get_glyph_with_fallback): If glyph not available returns
1400 ascii_glyph_lookup.
1401 * util/grub-mkfont.c (file_formats): New enum.
1402 (options): Add `ascii-bitmaps' new option.
1403 (usage): Add `asii-bitmaps' new option.
1404 (write_font_ascii_bitmap): New function.
1405 (write_font): Rename to ...
1406 (write_font_p2): ... this. Remove print_glyphs call.
1407 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1408 used. Call print_glyphs.
1409 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1410
14112010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1412
1413 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1414 (grub_bin2h_SOURCES): New variable.
1415 * util/bin2h.c: New file.
1416
915fc1b8
VS
14172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * include/multiboot.h: Resynced with spec.
1420 * include/multiboot2.h: Likewise.
1421 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1422 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1423
9444b678
RM
14242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1425
1426 * include/grub/term.h (grub_term_register_input,
1427 grub_term_register_output): Check return of terminal init()
1428 routines, and abort if errors are raised.
1429
1430 * commands/terminal.c: Update copyright year.
1431
cba98e8d
RM
14322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1433
1434 * commands/terminal.c (grub_cmd_terminal_input)
1435 (grub_cmd_terminal_output): Check return of terminal init()
1436 routines, and abort if errors are raised.
1437
6f7db5d6
VS
14382010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * include/grub/i386/bsd.h: Fix include pathes.
1441
262bff8d
VS
14422010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 Add missing *BSD copyright headers.
1445
1446 * include/grub/aout.h: Add BSD licence.
1447 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1448 * include/grub/i386/freebsd_linker.h: ... here,
1449 * include/grub/i386/freebsd_reboot.h: ... here,
1450 * include/grub/i386/netbsd_bootinfo.h: ... here,
1451 * include/grub/i386/netbsd_reboot.h: ... here,
1452 * include/grub/i386/openbsd_bootarg.h: ... here,
1453 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1454 licence to each file.
1455
b2cab848
RM
14562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1457
1458 * acinclude.m4: Remove `nop' assembly instruction; it's not
1459 implemented by all architectures.
1460
2cb6be4b
RM
14612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1462
1463 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1464 ELILO. This is no longer necessary.
1465
a2eaee15
BC
14662010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1467
1468 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1469
1470 * util/grub-script-check.c: grub-script-check tool.
1471 * conf/common.rmk: Make rules for grub-script-check.
1472
88d17012
RM
14732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1474
1475 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1476 spotting it back in 2008. Shame on me for forgetting he did.
1477
1478 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1479
8040619d
RM
14802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1481
1482 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1483 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1484 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1485 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1486 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1487 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1488
a0c2a0f6
RM
14892010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1490
1491 * include/grub/test.h: Add license header.
1492 * tests/example_functional_test.c: Likewise.
1493 * tests/example_unit_test.c: Likewise.
1494 * tests/lib/functional_test.c: Likewise.
1495 * tests/lib/test.c: Likewise.
1496 * tests/lib/unit_test.c: Likewise.
1497
b0b13907
VS
14982010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Use flag-based instead of hook-based video mode selection and "auto"
1501 keyword.
1502
1503 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1504 (grub_video_set_mode): Changed prototype. All users updated.
1505 (grub_video_check_mode_flag): New inline function.
1506 * video/video.c (parse_modespec): New function.
1507 (grub_video_set_mode): Parse flags and keywords.
1508
ea379330 15092010-01-17 Carles Pina i Estany <carles@pina.cat>
1510
1511 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1512 fprintf call.
1513
e15c215e
FZ
15142010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1515
1516 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1517
409ae1c9 15182010-01-16 Carles Pina i Estany <carles@pina.cat>
1519
1520 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1521 string.
1522 * util/grub-emu.c (usage): Likewise.
1523 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1524 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1525 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1526 * util/i386/pc/grub-setup.c (usage): Likewise.
1527
70a14d3d 15282010-01-16 Carles Pina i Estany <carles@pina.cat>
1529
1530 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1531 the message.
1532 (grub_util_info): Likewise.
1533 (grub_util_error): Likewise.
1534 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1535 and/or new lines in `grub_util_warna', `grub_util_info',
1536 `grub_util_error' calls.
1537 * util/getroot.c: Likewise.
1538 * util/grub-editenv.c: Likewise.
1539 * util/grub-emu.c: Likewise.
1540 * util/grub-fstest.c: Likewise.
1541 * util/grub-mkdevicemap.c: Likewise.
1542 * util/grub-mkfont.c: Likewise.
1543 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1544 * util/grub-mkrelpath.c: Likewise.
1545 * util/grub-pe2elf.c: Likewise.
1546 * util/grub-probe.c: Likewise.
1547 * util/hostdisk.c: Likewise.
1548 * util/i386/efi/grub-mkimage.c: Likewise.
1549 * util/i386/pc/grub-mkimage.c: Likewise.
1550 * util/i386/pc/grub-setup.c: Likewise.
1551 * util/ieee1275/ofpath.c: Likewise.
1552 * util/mkisofs/eltorito.c: Likewise.
1553 * util/mkisofs/rock.c: Likewise.
1554 * util/mkisofs/write.c: Likewise.
1555 * util/raid.c: Likewise.
1556 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1557 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1558
a0b766fc
VS
15592010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 Enable multiboot on non-pc.
1562
1563 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1564 multiboot.mod and multiboot2.mod to ...
1565 * conf/i386.rmk (pkglib_MODULES): ... here.
1566 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1567 Moved to ...
1568 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1569 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1570 Moved to ...
1571 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1572 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1573 Moved to ...
1574 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1575 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1576 Moved to ...
1577 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1578 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1579 relocator.mod.
1580 (ata_mod_SOURCES): Removed.
1581 (ata_mod_CFLAGS): Likewise.
1582 (ata_mod_LDFLAGS): Likewise.
1583 (relocator_mod_SOURCES): Removed.
1584 (relocator_mod_CFLAGS): Likewise.
1585 (relocator_mod_ASFLAGS): Likewise.
1586 (relocator_mod_LDFLAGS): Likewise.
1587 Include i386.mk.
1588 * include/grub/x86_64/multiboot.h: New file.
1589 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1590 Terminate EFI.
1591
884ade56
VS
15922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 Video multiboot support.
1595
1596 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1597 New prototype.
1598 * include/multiboot.h: Resynced with multiboot specification.
1599 * include/multiboot2.h: Likewise.
1600 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1601 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1602 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1603 (HAS_VGA_TEXT): Likewise.
1604 (accepts_video): New variable.
1605 (grub_multiboot_set_accepts_video): New function.
1606 (grub_multiboot_get_mbi_size): Account for video structures.
1607 (set_video_mode): New function.
1608 (retrieve_video_parameters): Likewise.
1609 (grub_multiboot_make_mbi): Fill video fields.
1610
0d90e8a6
VS
16112010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 Video driver ids.
1614
1615 * include/grub/video.h (grub_video_driver_id): New type.
1616 (grub_video_adapter): New member 'id'. All users updated.
1617 (grub_video_get_driver_id): New proto.
1618 * video/video.c (grub_video_get_driver_id): New function.
1619
5c71db1b 16202010-01-14 Carles Pina i Estany <carles@pina.cat>
1621
1622 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1623 `var=val'.
1624
cca15b52 16252010-01-14 Carles Pina i Estany <carles@pina.cat>
1626
1627 * normal/cmdline.c (print_completion): Gettextizze.
1628
c586fbb2 16292001-01-14 Carles Pina i Estany <carles@pina.cat>
1630
1631 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1632
ba2f6848 16332010-01-14 Carles Pina i Estany <carles@pina.cat>
1634
1635 * gettext/gettext.c (grub_gettext_translate): Push and pop
1636 grub_errno.
1637 (grub_gettext_delete_list): Change comment style.
1638 * kern/err.c (grub_error): Gettextizze.
1639 (grub_fatal): Gettextizze.
1640
0a46429a
RM
16412010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1642
1643 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1644 (grub_linux16_real_boot): ... this.
1645 * kern/i386/loader.S: Likewise.
1646 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1647 (grub_linux16_boot): New function. Switches to text mode and calls
1648 grub_linux16_real_boot().
1649
1650 * loader/i386/bsd.c: Include `<grub/video.h>'.
1651 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1652 text mode before calling grub_unix_real_boot().
1653
1654 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1655 (grub_multiboot_boot): Switch to text mode before calling
1656 grub_relocator32_boot().
1657
1658 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1659 (grub_chainloader_boot): Switch to text mode before calling
1660 grub_chainloader_real_boot().
1661
d6f93a66
RM
16622010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16632010-01-05 Colin Watson <cjwatson@ubuntu.com>
1664
1665 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1666 non-empty value.
1667
16682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16692010-01-05 Colin Watson <cjwatson@ubuntu.com>
1670
1671 * util/grub.d/00_header.in: Define a "savedefault" function for use
1672 in menu entries.
1673 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1674
16752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16762010-01-05 Colin Watson <cjwatson@ubuntu.com>
1677
1678 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1679 saved_entry if boot_once is unset.
1680 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1681 previous saved entry (i.e. grub-reboot).
1682
16832009-12-08 Colin Watson <cjwatson@ubuntu.com>
1684
1685 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1686
16872009-12-08 Colin Watson <cjwatson@ubuntu.com>
1688
1689 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1690 `var=val'.
1691 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1692
16932009-12-08 Colin Watson <cjwatson@ubuntu.com>
1694
1695 * util/grub-reboot.in: Fix --version output.
1696 * util/grub-set-default.in: Likewise.
1697
16982009-12-08 Colin Watson <cjwatson@ubuntu.com>
1699
1700 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1701 blocks.
1702
17032009-12-08 Colin Watson <cjwatson@ubuntu.com>
1704
1705 * util/grub.d/00_header.in: Quote the value assigned to `default',
1706 in case it contains spaces.
1707
17082009-12-08 Colin Watson <cjwatson@ubuntu.com>
1709
1710 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1711 `save_default_entry' call from the macosx case to the linux case.
1712
17132009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17142009-10-25 Colin Watson <cjwatson@ubuntu.com>
1715
1716 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1717 in `chosen' environment variable.
1718 * normal/menu_text.c (get_entry_number): Check if the variable
1719 matches the title of a menu entry.
1720 (run_menu): Pass menu to get_entry_number.
1721
1722 * util/grub-reboot.in: New file.
1723 * util/grub-set-default.in: New file.
1724 * conf/common.rmk (grub-reboot): New utility.
1725 (grub-set-default): New utility.
1726
1727 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1728 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1729 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1730 move it to `saved_entry' for the next boot. Load environment on
1731 initialisation.
1732 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1733 * util/grub.d/10_hurd.in: Likewise.
1734 * util/grub.d/10_linux.in (linux_entry): Likewise.
1735 * util/grub.d/10_windows.in: Likewise.
1736 * util/grub.d/30_os-prober.in: Likewise.
1737
1738 * util/grub-install.in: Create environment block.
1739 * util/i386/efi/grub-install.in: Likewise.
1740 * util/ieee1275/grub-install.in: Likewise.
1741 * util/sparc64/ieee1275/grub-install.in: Likewise.
1742
0934d184
BC
17432010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1744
1745 Unit testing framework for GRUB.
1746
1747 * Makefile.in: Test framework build rules for 'make check'.
1748 * conf/tests.rmk: Build rules for individual tests and framework.
1749
1750 * include/grub/test.h: Header file for whitebox tests.
1751 * tests/lib/functional_test.c: Framework support for whitebox
1752 functional tests.
1753 * tests/lib/test.c: Common whitebox testing code for unit and
1754 functional tests.
1755 * tests/lib/unit_test.c: Framework support for whitebox unit
1756 tests.
1757
1758 * tests/util/grub-shell-tester.in: Support utility for grub-script
1759 tests.
1760 * tests/util/grub-shell.in: Utility to execute grub-script
1761 commands in a Qemu instance.
1762
1763 * tests/example_functional_test.c: Example whitebox functional
1764 test.
1765 * tests/example_grub_script_test.in: Example grub-script test.
1766 * tests/example_scripted_test.in: Example scripted test.
1767 * tests/example_unit_test.c: Example whitebox unit test.
1768
9c4ffeeb
VS
17692010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1772 Add loader/i386/multiboot_mbi.c.
1773 (multiboot2_mod_SOURCES): Likewise.
1774 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1775 (multiboot2_mod_SOURCES): Likewise.
1776 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1777 (grub_multiboot_make_mbi): Likewise.
1778 (grub_multiboot_free_mbi): Likewise.
1779 (grub_multiboot_init_mbi): Likewise.
1780 (grub_multiboot_add_module): Likewise.
1781 (grub_multiboot_set_bootdev): Likewise.
1782 * loader/i386/multiboot.c (mbi): Removed.
1783 (mbi_dest): Likewise.
1784 (alloc_mbi): New variable.
1785 (grub_multiboot_payload_size): Removed. All users updated.
1786 (grub_multiboot_pure_size): New variable.
1787 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1788 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1789 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1790 (grub_fill_multiboot_mmap): Likewise.
1791 (grub_multiboot_get_bootdev): Likewise.
1792 (grub_multiboot): Use multiboot_mbi functions.
1793 * loader/i386/multiboot_mbi.c: New file.
1794
17383dfe
VS
17952010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1798 it would result in module crash.
1799
c1f28820
VS
18002010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1803 (grub_ofconsole_getwh): Split to ...
1804 (grub_ofconsole_getwh): ... this.
1805 (grub_ofconsole_dimensions): ...and this.
1806 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1807
58655a16
RM
18082010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1809
1810 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1811
10891398
VS
18122010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * loader/i386/pc/multiboot2.c: Removed stalled file.
1815
0b8a223c
VS
18162010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1819 Reported by: Grégoire Sutre
1820
92ab12b0
RM
18212010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1822
1823 * util/misc.c (canonicalize_file_name): New function.
1824 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1825 instead of realpath().
1826
a788afb6
CW
18272010-01-11 Colin Watson <cjwatson@ubuntu.com>
1828
1829 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1830 and make it clearer that it's optional. Based on confusion
1831 witnessed on IRC.
1832
ffa8e3d2
VS
18332010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1836 in premature implicit newline.
1837
e9060a9d
VS
18382010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1841 which resulted in garbled command line at the end of screen.
1842
f0d0c0b7
RM
18432010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1844
1845 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1846 initialization with similar approach as with other Linux loaders.
1847
0e60bae7
RM
18482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1849
1850 Fix i386-ieee1275 build.
1851
1852 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1853 and grub_term_height() for video_{width,height} initialization.
1854
18552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1856
1857 Fix grub-emu build.
1858
1859 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1860
cdb3f378
RM
18612010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18622010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1863
1864 Support for multiple terminals.
1865
1866 * Makefile.in (pkglib_DATA): terminal.lst.
1867 (terminal.lst): New target.
1868 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1869 (GRUB_MOD_INIT(handler)): Likewise.
1870 (GRUB_MOD_FINI(handler)): Likewise.
1871 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1872 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1873 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1874 (grub_cmd_sleep): Use grub_term_save_pos.
1875 * commands/terminal.c: New file.
1876 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1877 commands/terminal.c and lib/charset.c.
1878 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1879 (pkglib_MODULES): Add terminal.mod.
1880 (terminal_mod_SOURCES): New variable.
1881 (terminal_mod_CFLAGS): Likewise.
1882 (terminal_mod_LDFLAGS): Likewise.
1883 * genhandlerlist.sh: Don't handle terminals.
1884 * genmk.rb: Generate terminal-*.lst.
1885 * genterminallist.sh: New file.
1886 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1887 (grub_is_valid_utf8): Likewise.
1888 (grub_utf8_to_ucs4_alloc): Likewise.
1889 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1890 (grub_menu_register_viewer): Changed argument.
1891 (grub_menu_try_text): New proto.
1892 (grub_gfxmenu_try_hook): New declaration.
1893 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1894 (grub_menu_init_page): Additional argument term.
1895 (grub_normal_init_page): Likewise.
1896 (grub_cmdline_get): Arguments simplified.
1897 (grub_utf8_to_ucs4_alloc): Removed.
1898 (grub_print_ucs4): Additional argument term.
1899 (grub_getstringwidth): Likewise.
1900 (grub_print_message_indented): Likewise.
1901 (grub_menu_text_register_instances): New proto.
1902 (grub_show_menu): Likewise.
1903 (read_terminal_list): Likewise.
1904 (grub_set_more): Likewise.
1905 * include/grub/parser.h: Include handler.h.
1906 * include/grub/reader.h: Rewritten.
1907 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1908 (GRUB_TERM_WIDTH): Changed to function.
1909 (GRUB_TERM_HEIGHT): Likewise.
1910 (GRUB_TERM_BORDER_WIDTH): Likewise.
1911 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1912 (GRUB_TERM_NUM_ENTRIES): Likewise.
1913 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1914 (GRUB_TERM_CURSOR_X): Likewise.
1915 (grub_term_input_class): Likewise.
1916 (grub_term_output_class): Likewise.
1917 (grub_term_outputs_disabled): New declaration.
1918 (grub_term_inputs_disabled): Likewise.
1919 (grub_term_outputs): Likewise.
1920 (grub_term_inputs): Likewise.
1921 (grub_term_register_input): Rewritten.
1922 (grub_term_register_output): Likewise.
1923 (grub_term_unregister_input): Likewise.
1924 (grub_term_unregister_output): Likewise.
1925 (FOR_ACTIVE_TERM_INPUTS): New macro.
1926 (FOR_DISABLED_TERM_INPUTS): Likewise.
1927 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1928 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1929 * include/grub/terminfo.h: Add oterm argument to all protypes.
1930 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1931 Use grub_rescue_run.
1932 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1933 All users updated.
1934 * kern/reader.c: Removed. All users updated.
1935 * kern/rescue_reader.c (grub_rescue_init): Removed.
1936 (grub_rescue_reader): Likewise.
1937 (grub_register_rescue_reader): Likewise.
1938 (grub_rescue_run): New function based on kern/reader.c.
1939 * kern/term.c: Adapted for multiterm.
1940 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1941 (grub_is_valid_utf8): Likewise.
1942 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1943 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1944 right terminal.
1945 * loader/i386/linux.c (grub_linux_boot): Likewise.
1946 * normal/auth.c (grub_username_get): New function.
1947 (grub_auth_check_authentication): Use grub_username_get.
1948 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1949 * normal/color.c: Adapt for multiterm.
1950 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1951 (grub_normal_init_page): Additional argument term.
1952 (read_lists): Call read_terminal_lists.
1953 (grub_enter_normal_mode): Call grub_cmdline_run.
1954 Handle grub_normal_exit_level.
1955 (grub_cmd_normal): Make reentrant.
1956 (grub_cmd_normal_exit): New function.
1957 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1958 * normal/menu.c: Adapt for multiterm.
1959 * normal/menu_entry.c: Likewise.
1960 * normal/menu_text.c: Likewise.
1961 * normal/menu_viewer.c: Removed. All users updated.
1962 * normal/term.c: New file.
1963 * util/console.c: Change order of includes to workaround a bug in
1964 ncurses headers.
1965 * term/terminfo.c: New argument oterm on all exported functions.
1966 All users updated.
1967 * util/grub-editenv.c (grub_term_input_class): Removed.
1968 (grub_term_output_class): Likewise.
1969
1a064917
RM
19702010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1971
1972 Make loader output a bit more user-friendly.
1973
1974 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1975 is being loaded. Likewise for the Hurd.
1976
1977 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1978 that kernel of FreeBSD ${version} is being loaded.
1979
1980 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1981 grub_dprintf().
1982 (grub_cmd_initrd): Likewise.
1983 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1984 that Linux ${version} is being loaded. Likewise for initrd.
1985
5ce0a83a 19862010-01-09 Carles Pina i Estany <carles@pina.cat>
1987
1988 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1989
809bbfeb 19902010-01-08 Carles Pina i Estany <carles@pina.cat>
1991
1992 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1993 (GRUB_MOD_INIT): Gettextizze.
1994 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1995 (GRUB_MOD_INIT): Gettextizze.
1996 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1997 (grub_cmd_linux): Capitalise Linux.
1998 (GRUB_MOD_INIT): Gettextizze.
1999 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2000 (grub_cmd_linux): Capitalise Linux.
2001 (GRUB_MOD_INIT): Gettextizze.
2002 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2003 (grub_cmd_linux): Capitalise Linux.
2004 (GRUB_MOD_INIT): Gettextizze.
2005 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2006 (GRUB_MOD_INIT): Gettextizze.
2007 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2008 (grub_cmd_linux): Capitalise Linux.
2009 (GRUB_MOD_INIT): Gettextizze.
2010 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2011 (grub_cpu_xnu_init): Gettextizze.
2012 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2013 (GRUB_MOD_INIT): Gettextizze.
2014 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2015 (GRUB_MOD_INIT): Gettextizze.
2016 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2017 (grub_linux_load64): Capitalise Linux.
2018 (GRUB_MOD_INIT): Gettextizze.
2019 * loader/xnu.c: Include `<grub/i18n.h>'.
2020 (GRUB_MOD_INIT): Gettextizze.
2021 * po/POTFILES: Add `loader/efi/appleloader.c',
2022 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2023 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2024 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2025 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2026 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2027 and `loader/xnu.c'.
2028
b394b2ca
RM
20292010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2030
2031 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2032
20332010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2034
2035 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2036 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2037 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2038
bc8b32b3
RM
20392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2040
2041 Reset Multiboot 2 support. New loader implements the draft in
2042 /branches/multiboot2 and shares as much code as possible with the
2043 production Multiboot 1 implementation.
2044
2045 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2046 * loader/multiboot2.c: Likewise.
2047 * loader/i386/multiboot_helper.S: Likewise.
2048 * include/multiboot2.h: Replace with latest version from the draft
2049 in /branches/multiboot2.
2050
2051 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2052 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2053 and `loader/multiboot2.c'.
2054 (pkglib_MODULES): Add `multiboot2.mod'.
2055 (multiboot2_mod_SOURCES): New variable.
2056 (multiboot2_mod_LDFLAGS): Likewise.
2057 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2058
2059 * conf/i386-pc.rmk: Likewise.
2060
2061 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2062 (multiboot_mod_SOURCES): Remove variable.
2063 (multiboot_mod_LDFLAGS): Likewise.
2064 (multiboot_mod_CFLAGS): Likewise.
2065
2066 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2067 `<multiboot2.h>' instead of `<multiboot.h>'.
2068 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2069 (MULTIBOOT_HEADER_MAGIC): New macros.
2070
2071 * loader/multiboot_loader.c (module_version_status): Remove variable.
2072 (find_multi_boot2_header): Remove function.
2073 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2074 logic. Always check for the Multiboot version we're compiling for.
2075 (grub_cmd_module_loader): Likewise.
2076 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2077 command instead of `multiboot'.
2078
5d2c52b8
RM
20792010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2080
2081 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2082 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2083 all users.
2084
53108d92
RM
20852010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20862010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 Fix breakage introduced with previous commit.
2089
2090 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2091 commands.
2092 * normal/handler.c (read_handler_list): Revert part of previous commit
2093 affecting this file.
2094 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2095 (grub_normal_execute): ... here.
2096
e2e936b2
RM
20972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2098
2099 Merge prefix-redefinition-fix branch.
2100
2101 * normal/autofs.c (read_fs_list): Make function capable of being
2102 run multiple times, gracefuly replacing the previous data
2103 structures.
2104 * normal/dyncmd.c (read_command_list): Likewise.
2105 * normal/handler.c (read_handler_list): Likewise.
2106 * normal/main.c (read_lists): New function. Calls all the
2107 list reading functions.
2108 (grub_normal_execute): Use read_lists() instead of calling all
2109 list reading functions explicitly. Register read_lists() as a
2110 variable hook attached to ${prefix}.
2111
607a3701
VS
21122010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Merge crypto branch.
2115
2116 * Makefile.in (pkglib_DATA): Add crypto.lst.
2117 (crypto.lst): New target.
2118 * commands/hashsum.c: New file.
2119 * commands/password.c (check_password): Use grub_crypto_memcmp.
2120 * commands/password_pbkdf2.c: New file.
2121 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2122 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2123 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2124 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2125 -I$(srcdir)/lib/libgcrypt_wrap.
2126 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2127 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2128 password_pbkdf2.mod.
2129 (crypto_mod_SOURCES): New variable.
2130 (crypto_mod_CFLAGS): Likewise.
2131 (crypto_mod_LDFLAGS): Likewise.
2132 (hashsum_mod_SOURCES): New variable.
2133 (hashsum_mod_CFLAGS): Likewise.
2134 (hashsum_mod_LDFLAGS): Likewise.
2135 (pbkdf2_mod_SOURCES): New variable.
2136 (pbkdf2_mod_CFLAGS): Likewise.
2137 (pbkdf2_mod_LDFLAGS): Likewise.
2138 (password_pbkdf2_mod_SOURCES): New variable.
2139 (password_pbkdf2_mod_CFLAGS): Likewise.
2140 (password_pbkdf2_mod_LDFLAGS): Likewise.
2141 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2142 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2143 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2144 Include conf/gcry.rmk.
2145 * include/grub/auth.h: Rewritten.
2146 * include/grub/crypto.h: New file.
2147 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2148 * include/grub/normal.h (read_crypto_list): New prototype.
2149 * lib/crypto.c: New file.
2150 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2151 * lib/pbkdf2.c: Likewise.
2152 * normal/auth.c (grub_auth_strcmp): Removed.
2153 (grub_iswordseparator): Likewise.
2154 (grub_auth_strword): Likewise.
2155 (is_authenticated): Use grub_strword.
2156 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2157 and grub_strword. Pass entered password to authentication callback.
2158 * normal/crypto.c: New file.
2159 * normal/main.c: Call read_crypto_list.
2160 * util/grub-mkpasswd-pbkdf2.c: New file.
2161 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2162
42841caa
VS
21632010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Fix descent and ascent calculation.
2166
2167 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2168 (options): New option "asce".
2169 (usage): Likewise.
2170 (add_char): Ignore invalid glyphs for descent calculation.
2171 Calculate ascent from actual content.
2172 (print_glyphs): Use 'asce'.
2173 (write_font): Likewise. Allow ascent override.
2174 (main): Handle "asce" option.
2175
e7730de7 21762010-01-06 Carles Pina i Estany <carles@pina.cat>
2177
2178 * kern/err.c: Include `<grub/i18n.h>'.
2179 (grub_print_error): Add full stop. Gettextizze.
2180 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2181 (grub_bsd_load_elf): Capitalise ELF.
2182 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2183 (grub_cmd_freebsd_module): Likewise.
2184 (grub_cmd_freebsd_module_elf): Likewise.
2185 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2186
40e3a41f 21872010-01-06 Carles Pina i Estany <carles@pina.cat>
2188
2189 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2190 * commands/search_file.c (HELP_MESSAGE): New macro.
2191 * commands/search_label.c (HELP_MESSAGE): Likewise.
2192 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2193 * po/POTFILES: Add `commands/search_file.c',
2194 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2195 `commands/search.c'.
2196
83507e68
RM
21972010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2198
2199 * config.rpath: Update from Gnulib.
2200
465c787b
YB
22012010-01-05 Yves Blusseau <blusseau@zetam.org>
2202
2203 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2204
6581dd3a
YB
22052010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2206
2207 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2208
3bff18c5
CW
22092010-01-05 Colin Watson <cjwatson@ubuntu.com>
2210
2211 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2212 arguments to fread so that we get a return value in bytes, rather
2213 than something that will normally be rounded down to 0.
2214 Adjust error handling to avoid producing garbage when size_t is not
2215 the same size as long long.
2216
a1368118
CW
22172010-01-05 Colin Watson <cjwatson@ubuntu.com>
2218
2219 * util/mkisofs/write.c (padblock_write): Check return value of
2220 fread.
2221
7c302978
RM
22222010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2223
2224 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2225 floppy images now.
2226
2227 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2228
e33ace06
RM
22292010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2230
2231 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2232 instead of manual alignment.
2233 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2234 verbose). Avoid attempts to read past end of the device
2235 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2236 but GRUB_DISK_CACHE_SIZE may exceed that).
2237
4b856776
RM
22382010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2239
2240 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2241 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2242 it to upper layer.
2243
52c2d97f
VS
22442010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2247 New constant.
2248 (grub_efi_piwg_device_path): New structure
2249 (grub_efi_piwg_device_path_t): New type.
2250 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2251 (devpath_1): Transform to a structure. All users updated.
2252 (devpath_2): Likewise.
2253 (devpath_3): Likewise.
2254 (devpath_4): Likewise.
2255 (devpath_5): Likewise.
2256
98ff6a54
VS
22572010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * loader/efi/appleloader.c: Restored. Update all users.
2260
3a73dcb6
RM
22612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2262
2263 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2264
2265 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2266 (struct boot_blocklist): Move from here ...
2267 * include/grub/i386/pc/boot.h [ASM_FILE]
2268 (struct grub_boot_blocklist): ... to here. Update all users.
2269 (setup): Only initialize `start' member of `first_block'
2270 structure. Add assert() calls to verify the other members.
2271
2272 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2273 (generate_image): Fix broken blocklist length initialization.
2274 Add assert() call to verify blocklist `segment' field.
2275
ab0eeb0c
RM
22762010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2277
2278 * loader/efi/appleloader.c: Remove. Update all users.
2279
58bc8bd5
RM
22802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2281
2282 * boot/i386/pc/boot.S: Update copyright year.
2283 * boot/i386/pc/cdboot.S: Likewise.
2284 * boot/i386/pc/diskboot.S: Likewise.
2285 * boot/i386/pc/lnxboot.S: Likewise.
2286 * boot/i386/pc/pxeboot.S: Likewise.
2287 * bus/pci.c: Likewise.
2288 * commands/cmp.c: Likewise.
2289 * commands/help.c: Likewise.
2290 * commands/hexdump.c: Likewise.
2291 * commands/i386/pc/halt.c: Likewise.
2292 * commands/i386/pc/play.c: Likewise.
2293 * commands/i386/pc/vbeinfo.c: Likewise.
2294 * commands/ls.c: Likewise.
2295 * commands/test.c: Likewise.
2296 * disk/dmraid_nvidia.c: Likewise.
2297 * disk/i386/pc/biosdisk.c: Likewise.
2298 * disk/ieee1275/nand.c: Likewise.
2299 * disk/ieee1275/ofdisk.c: Likewise.
2300 * disk/lvm.c: Likewise.
2301 * disk/raid.c: Likewise.
2302 * disk/raid6_recover.c: Likewise.
2303 * disk/scsi.c: Likewise.
2304 * fs/affs.c: Likewise.
2305 * fs/cpio.c: Likewise.
2306 * fs/ext2.c: Likewise.
2307 * fs/hfs.c: Likewise.
2308 * fs/iso9660.c: Likewise.
2309 * fs/ntfs.c: Likewise.
2310 * fs/sfs.c: Likewise.
2311 * fs/udf.c: Likewise.
2312 * fs/ufs.c: Likewise.
2313 * fs/xfs.c: Likewise.
2314 * gencmdlist.sh: Likewise.
2315 * genmk.rb: Likewise.
2316 * include/grub/disk.h: Likewise.
2317 * include/grub/efi/api.h: Likewise.
2318 * include/grub/efi/efi.h: Likewise.
2319 * include/grub/efi/pe32.h: Likewise.
2320 * include/grub/elf.h: Likewise.
2321 * include/grub/fs.h: Likewise.
2322 * include/grub/i386/at_keyboard.h: Likewise.
2323 * include/grub/i386/pc/memory.h: Likewise.
2324 * include/grub/i386/pc/vbe.h: Likewise.
2325 * include/grub/i386/pci.h: Likewise.
2326 * include/grub/i386/tsc.h: Likewise.
2327 * include/grub/ieee1275/ieee1275.h: Likewise.
2328 * include/grub/ntfs.h: Likewise.
2329 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2330 * include/grub/sparc64/libgcc.h: Likewise.
2331 * include/grub/symbol.h: Likewise.
2332 * include/grub/types.h: Likewise.
2333 * include/multiboot2.h: Likewise.
2334 * io/gzio.c: Likewise.
2335 * kern/device.c: Likewise.
2336 * kern/disk.c: Likewise.
2337 * kern/efi/efi.c: Likewise.
2338 * kern/efi/mm.c: Likewise.
2339 * kern/elf.c: Likewise.
2340 * kern/file.c: Likewise.
2341 * kern/i386/dl.c: Likewise.
2342 * kern/i386/pc/init.c: Likewise.
2343 * kern/i386/pc/startup.S: Likewise.
2344 * kern/ieee1275/ieee1275.c: Likewise.
2345 * kern/ieee1275/init.c: Likewise.
2346 * kern/main.c: Likewise.
2347 * kern/mm.c: Likewise.
2348 * kern/powerpc/dl.c: Likewise.
2349 * kern/sparc64/dl.c: Likewise.
2350 * kern/x86_64/dl.c: Likewise.
2351 * lib/hexdump.c: Likewise.
2352 * loader/efi/appleloader.c: Likewise.
2353 * loader/i386/ieee1275/linux.c: Likewise.
2354 * loader/i386/pc/chainloader.c: Likewise.
2355 * loader/i386/pc/linux.c: Likewise.
2356 * loader/i386/pc/multiboot2.c: Likewise.
2357 * loader/ieee1275/multiboot2.c: Likewise.
2358 * loader/multiboot2.c: Likewise.
2359 * loader/multiboot_loader.c: Likewise.
2360 * loader/powerpc/ieee1275/linux.c: Likewise.
2361 * normal/completion.c: Likewise.
2362 * normal/menu_entry.c: Likewise.
2363 * partmap/apple.c: Likewise.
2364 * util/grub.d/10_hurd.in: Likewise.
2365 * util/hostfs.c: Likewise.
2366 * video/readers/png.c: Likewise.
2367
e2d70b5c
CW
23682010-01-03 Colin Watson <cjwatson@ubuntu.com>
2369
2370 * include/grub/misc.h (GNUC_PREREQ): New macro.
2371 (ATTRIBUTE_ERROR): New macro.
2372 * include/grub/list.h (grub_bad_type_cast_real): Use
2373 ATTRIBUTE_ERROR.
2374
a173283f 23752010-01-03 Carles Pina i Estany <carles@pina.cat>
2376
2377 * normal/menu_text.c (print_message): Change messages.
2378
7fa7ff74 23792010-01-03 Carles Pina i Estany <carles@pina.cat>
2380
2381 * normal/menu_entry.c (store_completion): Gettextizze.
2382
136d24f6 23832010-01-03 Carles Pina i Estany <carles@pina.cat>
2384
2385 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2386
f936862e 23872010-01-03 Carles Pina i Estany <carles@pina.cat>
2388
2389 * po/POTFILES: Sort correctly.
2390
29c44ad1 23912010-01-03 Carles Pina i Estany <carles@pina.cat>
2392
2393 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2394 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2395 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2396 full stop.
2397 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2398 summary. Gettextizze the strings.
2399 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2400 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2401 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2402 full stop.
2403 (GRUB_MOD_INIT): Remove command name from summary.
2404 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2405 summary.
2406 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2407 * term/i386/pc/serial.c (options): Add full stops.
2408 (GRUB_MOD_INIT): Remove command name from the summary.
2409
77a79592 24102010-01-03 Carles Pina i Estany <carles@pina.cat>
2411
2412 * commands/acpi.c: Gettextizze help strings and/or options. Include
2413 `grub/i18n.h' if needed.
2414 * commands/blocklist.c: Likewise.
2415 * commands/boot.c: Likewise.
2416 * commands/cat.c: Likewise.
2417 * commands/cmp.c: Likewise.
2418 * commands/configfile.c: Likewise.
2419 * commands/crc.c: Likewise.
2420 * commands/date.c: Likewise.
2421 * commands/echo.c: Likewise.
2422 * commands/efi/fixvideo.c: Likewise.
2423 * commands/efi/loadbios.c: Likewise.
2424 * commands/gptsync.c: Likewise.
2425 * commands/halt.c: Likewise.
2426 * commands/handler.c: Likewise.
2427 * commands/hdparm.c: Likewise.
2428 * commands/hexdump.c: Likewise.
2429 * commands/i386/cpuid.c: Likewise.
2430 * commands/i386/pc/drivemap.c: Likewise.
2431 * commands/i386/pc/halt.c: Likewise.
2432 * commands/i386/pc/pxecmd.c: Likewise.
2433 * commands/i386/pc/vbeinfo.c: Likewise.
2434 * commands/i386/pc/vbetest.c: Likewise.
2435 * commands/ieee1275/suspend.c: Likewise.
2436 * commands/keystatus.c: Likewise.
2437 * commands/loadenv.c: Likewise.
2438 * commands/ls.c: Likewise.
2439 * commands/lsmmap.c: Likewise.
2440 * commands/lspci.c: Likewise.
2441 * commands/memrw.c: Likewise.
2442 * commands/minicmd.c: Likewise.
2443 * commands/parttool.c: Likewise.
2444 * commands/password.c: Likewise.
2445 * commands/probe.c: Likewise.
2446 * commands/read.c: Likewise.
2447 * commands/reboot.c: Likewise.
2448 * commands/search.c: Likewise.
2449 * commands/sleep.c: Likewise.
2450 * commands/test.c: Likewise.
2451 * commands/true.c: Likewise.
2452 * commands/usbtest.c: Likewise.
2453 * commands/videotest.c: Likewise.
2454 * commands/xnu_uuid.c: Likewise.
2455 * disk/loopback.c: Likewise.
2456 * hello/hello.c: Likewise.
2457 * loader/i386/bsd.c: Likewise.
2458 * term/i386/pc/serial.c: Likewise.
2459 * po/POTFILES: Add new files.
2460
da8d5c53
CW
24612010-01-02 Colin Watson <cjwatson@ubuntu.com>
2462
2463 * term/i386/pc/at_keyboard.c
2464 (keyboard_controller_wait_untill_ready): Rename to ...
2465 (keyboard_controller_wait_until_ready): ... this. Update all users.
2466
33937904 24672010-01-01 Carles Pina i Estany <carles@pina.cat>
2468
2469 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2470 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2471 string using string width.
2472 * normal/menu_text.c (grub_print_message_indented): Use
2473 grub_print_spaces and not print_spaces.
2474 (print_timeout): Likewise.
2475 (print_spaces): Move to...
2476 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2477
3fd3b8d8
RM
24782010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2479
2480 Import from Gnulib.
2481
2482 * gnulib/getdelim.c: New file.
2483 * gnulib/getline.c: Likewise.
2484
33433555
VS
24852009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2486
2487 * include/grub/list.h (grub_assert_fail): Removed.
2488 (grub_bad_type_cast_real): New function.
2489 (grub_bad_type_cast): New macro.
2490 (GRUB_AS_LIST): Use grub_bad_type_cast.
2491 (GRUB_AS_LIST_P): Likewise.
e44721e8 2492 (GRUB_AS_NAMED_LIST): Likewise.
33433555 2493 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 2494 (GRUB_AS_PRIO_LIST): Likewise.
33433555 2495 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 2496 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 2497
f5a51306
VS
24982009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2501 Fix syntax error.
2502
90d1e879
RM
25032009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2504
2505 * configure.ac: Check for TARGET_CFLAGS initialization before we
2506 initialize it ourselves (sigh).
2507 Move a few modifications to TARGET_CFLAGS to be unconditional
2508 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2509 eh_frame)
2510
2511 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2512 * term/i386/pc/at_keyboard.c
2513 (keyboard_controller_wait_untill_ready): Likewise.
2514 (keyboard_controller_led): Rename `led_status' paramter to avoid
2515 name conflict.
2516
465b5a81 25172009-12-28 Carles Pina i Estany <carles@pina.cat>
2518
2519 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2520 quotes.
2521
c181849b
VS
25222009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2525
9c8739a4
VS
25262009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * normal/menu_text.c (grub_print_message_indented): Prevent
2529 past-the-end-of-array dereference.
2530
3e74249c
VS
25312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2534 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2535
64fd18ed 25362009-12-27 Carles Pina i Estany <carles@pina.cat>
2537
2538 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2539 * normal/main.c (grub_normal_read_line): Remove a space from the
2540 default prompt.
2541
714af9b9 25422009-12-27 Carles Pina i Estany <carles@pina.cat>
2543
2544 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2545 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2546 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2547 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2548 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2549 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2550 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2551
82f3e412 25522009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 2553
2554 * video/readers/jpeg.c (cmd): Declare.
2555 (grub_cmd_jpegtest): Use `grub_command_t' type.
2556 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2557 Assign to `cmd'.
2558 (GRUB_MOD_FINI): Use `cmd' to unregister.
2559 * video/readers/png.c (cmd): Declare.
2560 (grub_cmd_pngtest): Use `grub_command_t' type.
2561 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2562 Assign to `cmd'.
2563 (GRUB_MOD_FINI): Use `cmd' to unregister.
2564 * video/readers/tga.c (cmd): Declare.
2565 (grub_cmd_tgatest): Use `grub_command_t' type.
2566 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2567 Assign to `cmd'.
2568 (GRUB_MOD_FINI): Use `cmd' to unregister.
2569
82f3e412 25702009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 2571
2572 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2573 stops.
2574 * kern/corecmd.c (grub_register_core_commands): Likewise.
2575 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2576 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2577 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2578 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2579 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2580 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2581 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2582 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2583 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2584 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2585 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2586 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2587 * normal/handler.c (insert_handler): Likewise.
2588 * normal/main.c (GRUB_MOD_INIT): Likewise.
2589 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2590
fdcdbb66 25912009-12-26 Carles Pina i Estany <carles@pina.cat>
2592
2593 * commands/help.c (grub_cmd_help): Print the command name before the
2594 summary.
2595 (GRUB_MOD_INIT): Remove command name from the summary.
2596 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 2597 string as summary.
fdcdbb66 2598 * lib/arg.c (find_long): Print the command name before the summary.
2599 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2600 summary.
2601 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2602 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2603 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2604 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2605 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2606 * commands/date.c (GRUB_MOD_INIT): Likewise.
2607 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2608 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2609 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2610 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2611 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2612 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2613 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2614 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2615 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2616 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2617 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2618 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2619 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2620 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2621 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2622 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2623 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2624 * commands/password.c (GRUB_MOD_INIT): Likewise.
2625 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2626 * commands/read.c (GRUB_MOD_INIT): Likewise.
2627 * commands/search.c (GRUB_MOD_INIT): Likewise.
2628 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2629 * commands/test.c (GRUB_MOD_INIT): Likewise.
2630 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2631 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2632 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2633 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2634 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2635 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2636 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2637 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2638 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2639 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2640 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2641 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2642 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2643 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2644
9c288be2
VS
26452009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 Use search command for preliminar UUID search.
2648
2649 * commands/search.c: Split into ...
2650 * commands/search_wrap.c: ...this
2651 * commands/search.c: ...and this.
2652 * commands/search_file.c: New file.
2653 * commands/search_label.c: New file.
2654 * commands/search_uuid.c: New file.
2655 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2656 Add commands/search_wrap.c, commands/search_file.c,
2657 commands/search_label.c and commands/search_uuid.c.
2658 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2659 (search_mod_SOURCES): Set to commands/search_wrap.c.
2660 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2661 search_label.mod.
2662 (search_fs_file_mod_SOURCES): New variable.
2663 (search_fs_file_mod_CFLAGS): Likewise.
2664 (search_fs_file_mod_LDFLAGS): Likewise.
2665 (search_label_mod_SOURCES): Likewise.
2666 (search_label_mod_CFLAGS): Likewise.
2667 (search_label_mod_LDFLAGS): Likewise.
2668 (search_fs_uuid_mod_SOURCES): New variable.
2669 (search_fs_uuid_mod_CFLAGS): Likewise.
2670 (search_fs_uuid_mod_LDFLAGS): Likewise.
2671 (fs_file_mod_SOURCES): Removed.
2672 (fs_file_mod_CFLAGS): Likewise.
2673 (fs_file_mod_LDFLAGS): Likewise.
2674 (fs_uuid_mod_SOURCES): Removed.
2675 (fs_uuid_mod_CFLAGS): Likewise.
2676 (fs_uuid_mod_LDFLAGS): Likewise.
2677 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2678 Set to util/grub-install.in.
2679 * disk/fs_file.c: Removed.
2680 * disk/fs_uuid.c: Likewise.
2681 * include/grub/search.h: New file.
2682 * util/grub-install.in: Handle sparc64.
2683 Create and use load.cfg.
2684 * util/sparc64/ieee1275/grub-install.in: Removed.
2685
db943399
VS
26862009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2689 Ignore return status if CF is cleared.
2690 (grub_biosdisk_get_diskinfo_standard): Likewise.
2691
3fdae612
RM
26922009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2693
2694 * term/i386/pc/at_keyboard.c
2695 (keyboard_controller_wait_untill_ready): New function.
2696 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2697 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2698 for keyboard polling, rather than duplicate the same loop. This
2699 saves a few bytes in code size.
2700
7ebaa2b4
VS
27012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 Support for (pxe[:server[:gateway]]) syntax and
2704 use environment variable for PXE.
2705
2706 * commands/i386/pc/pxecmd.c (options): Removed.
2707 (print_ip): Removed.
2708 (grub_cmd_pxe): Removed
2709 (grub_cmd_pxe_unload): New function.
2710 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2711 (grub_pxe_your_ip): Made static.
2712 (grub_pxe_default_server_ip): Likewise.
2713 (grub_pxe_default_gateway_ip): Likewise.
2714 (grub_pxe_blksize): Likewise.
2715 (parse_ip): New function.
2716 (grub_pxe_open): Support server and gateway specification.
2717 (grub_pxe_close): Free disk->data.
2718 (grub_pxefs_open): Use disk->data.
2719 (grub_pxefs_read): Likewise.
2720 (grub_env_write_readonly): New function.
2721 (set_mac_env): Likewise.
2722 (set_env_limn_ro): Likewise.
2723 (parse_dhcp_vendor): Likewise.
2724 (grub_pxe_detect): Set the environment variables.
2725 (set_ip_env): New function.
2726 (write_ip_env): Likewise.
2727 (grub_env_write_pxe_default_server): Likewise.
2728 (grub_env_write_pxe_default_gateway): Likewise.
2729 (grub_env_write_pxe_blocksize): Likewise.
2730 (GRUB_MOD_INIT(pxe)): Set environment variables.
2731 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2732 (grub_pxe_mac_addr_t): ... this. All users updated.
2733 (grub_pxe_your_ip): Removed.
2734 (grub_pxe_server_ip): Likewise.
2735 (grub_pxe_gateway_ip): Likewise.
2736 (grub_pxe_blksize): Likewise.
2737
ec5f98ab 27382009-12-25 Carles Pina i Estany <carles@pina.cat>
2739
2740 * commands/help.c: Include `<grub/i18n.h>'.
2741 (grub_cmd_help): Gettextizze.
2742 (GRUB_MOD_INIT): Likewise.
2743 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2744 (GRUB_MOD_INIT): Gettextizze.
2745 * commands/search.c: Include `<grub/i18n.h>'.
2746 (options): Gettextizze.
2747 (GRUB_MOD_INIT): Gettextizze.
2748 * lib/arg.c: Include `<grub/i18n.h>'.
2749 (help_options): Gettextizze.
2750 (find_long): Likewise.
2751 (grub_arg_show_help): Likewise.
2752 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2753 (read_command_list): Gettextizze.
2754 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2755 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2756
22815526
RM
27572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2758
2759 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2760 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2761 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2762 (led_status): New variable.
2763 (keyboard_controller_led): New function.
2764 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2765 update led status for caps lock, num lock and scroll lock.
2766
0ad46fd7
FZ
27672009-12-25 Felix Zielcke <fzielcke@z-51.de>
2768
2769 * util/hostdisk.c (open_device): Fix a comment.
2770
d0e158c2
RM
27712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2772
2773 * util/grub-install.in (host_os): New variable.
2774 * util/i386/efi/grub-install.in (host_os): Likewise.
2775
401c0ad6
RM
27762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2777
2778 * util/mkisofs/write.c (padblock_write): Abort when given an
2779 excedingly large embed image, instead of silently truncating it.
2780
d14d3370
RM
27812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2782
2783 * include/multiboot.h: Indentation fixes.
2784
eeed10b4
RM
27852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2786
2787 * include/multiboot.h (struct multiboot_aout_symbol_table)
2788 (struct multiboot_elf_section_header_table): New structure
2789 declarations (stolen from GRUB Legacy).
2790 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2791 table information.
2792
2793 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2794 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2795 type aliases.
2796
681c70ab
RM
27972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2798
2799 * include/multiboot.h: Make comments src2texi-friendly.
2800
e4d47d8d
RM
28012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2802
2803 For consistency with [multiboot]/docs/boot.S.
2804
2805 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2806 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2807 (MULTIBOOT_MAGIC2): Rename from this ...
2808 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2809
a0b70bda
RM
28102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2811
2812 * include/multiboot.h: Remove `<grub/types.h>'.
2813 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2814 types. Update all users.
2815
61ba42be 28162009-12-25 Carles Pina i Estany <carles@pina.cat>
2817
2818 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2819 `couldn't' and `can not' by `cannot'.
2820 * commands/i386/pc/drivemap.c: Likewise.
2821 * disk/ata.c: Likewise.
2822 * disk/ieee1275/nand.c: Likewise.
2823 * fs/affs.c: Likewise.
2824 * fs/fat.c: Likewise.
2825 * fs/hfs.c: Likewise.
2826 * fs/hfsplus.c: Likewise.
2827 * fs/iso9660.c: Likewise.
2828 * fs/jfs.c: Likewise.
2829 * fs/minix.c: Likewise.
2830 * fs/reiserfs.c: Likewise.
2831 * fs/sfs.c: Likewise.
2832 * fs/udf.c: Likewise.
2833 * fs/ufs.c: Likewise.
2834 * fs/xfs.c: Likewise.
2835 * loader/powerpc/ieee1275/linux.c: Likewise.
2836 * loader/sparc64/ieee1275/linux.c: Likewise.
2837 * util/grub-probe.c: Likewise.
2838 * util/misc.c: Likewise.
2839
7fd0baee 28402009-12-24 Carles Pina i Estany <carles@pina.cat>
2841
2842 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2843 grub_errno calls.
2844 * commands/acpi.c: Likewise.
2845 * commands/blocklist.c: Likewise.
2846 * commands/efi/loadbios.c: Likewise.
2847 * commands/i386/pc/drivemap.c: Likewise.
2848 * commands/loadenv.c: Likewise.
2849 * commands/memrw.c: Likewise.
2850 * commands/password.c: Likewise.
2851 * commands/videotest.c: Likewise.
2852 * disk/ata.c: Likewise.
2853 * disk/ata_pthru.c: Likewise.
2854 * disk/dmraid_nvidia.c: Likewise.
2855 * disk/ieee1275/nand.c: Likewise.
2856 * disk/ieee1275/ofdisk.c: Likewise.
2857 * disk/loopback.c: Likewise.
2858 * disk/lvm.c: Likewise.
2859 * disk/mdraid_linux.c: Likewise.
2860 * disk/raid.c: Likewise.
2861 * disk/raid6_recover.c: Likewise.
2862 * disk/scsi.c: Likewise.
2863 * efiemu/main.c: Likewise.
2864 * efiemu/mm.c: Likewise.
2865 * efiemu/pnvram.c: Likewise.
2866 * efiemu/symbols.c: Likewise.
2867 * font/font.c: Likewise.
2868 * fs/cpio.c: Likewise.
2869 * fs/hfsplus.c: Likewise.
2870 * fs/iso9660.c: Likewise.
2871 * fs/jfs.c: Likewise.
2872 * fs/minix.c: Likewise.
2873 * fs/ntfs.c: Likewise.
2874 * fs/ntfscomp.c: Likewise.
2875 * fs/reiserfs.c: Likewise.
2876 * fs/ufs.c: Likewise.
2877 * fs/xfs.c: Likewise.
2878 * gettext/gettext.c: Likewise.
2879 * include/grub/auth.h: Likewise.
2880 * kern/elf.c: Likewise.
2881 * kern/file.c: Likewise.
2882 * kern/ieee1275/init.c: Likewise.
2883 * kern/ieee1275/mmap.c: Likewise.
2884 * kern/ieee1275/openfw.c: Likewise.
2885 * kern/powerpc/dl.c: Likewise.
2886 * kern/sparc64/dl.c: Likewise.
2887 * lib/arg.c: Likewise.
2888 * loader/i386/bsd.c: Likewise.
2889 * loader/i386/bsdXX.c: Likewise.
2890 * loader/i386/efi/linux.c: Likewise.
2891 * loader/i386/efi/xnu.c: Likewise.
2892 * loader/i386/ieee1275/linux.c: Likewise.
2893 * loader/i386/linux.c: Likewise.
2894 * loader/i386/multiboot.c: Likewise.
2895 * loader/i386/pc/linux.c: Likewise.
2896 * loader/i386/pc/multiboot2.c: Likewise.
2897 * loader/i386/xnu.c: Likewise.
2898 * loader/ieee1275/multiboot2.c: Likewise.
2899 * loader/macho.c: Likewise.
2900 * loader/machoXX.c: Likewise.
2901 * loader/multiboot2.c: Likewise.
2902 * loader/multiboot_loader.c: Likewise.
2903 * loader/powerpc/ieee1275/linux.c: Likewise.
2904 * loader/sparc64/ieee1275/linux.c: Likewise.
2905 * loader/xnu.c: Likewise.
2906 * loader/xnu_resume.c: Likewise.
2907 * mmap/i386/pc/mmap.c: Likewise.
2908 * normal/menu_viewer.c: Likewise.
2909 * partmap/acorn.c: Likewise.
2910 * partmap/amiga.c: Likewise.
2911 * partmap/apple.c: Likewise.
2912 * script/lexer.c: Likewise.
2913 * term/gfxterm.c: Likewise.
2914 * term/i386/pc/serial.c: Likewise.
2915 * term/i386/pc/vga.c: Likewise.
2916 * term/ieee1275/ofconsole.c: Likewise.
2917 * term/terminfo.c: Likewise.
2918 * video/bitmap.c: Likewise.
2919 * video/efi_gop.c: Likewise.
2920 * video/efi_uga.c: Likewise.
2921 * video/fb/video_fb.c: Likewise.
2922 * video/i386/pc/vbe.c: Likewise.
2923 * video/readers/tga.c: Likewise.
2924 * video/video.c: Likewise.
2925
0ad46fd7 29262009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2927
2928 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2929 * commands/lspci.c: Likewise.
2930 * commands/probe.c: Likewise.
2931 * commands/xnu_uuid.c: Likewise.
2932 * conf/i386-coreboot.rmk: Likewise.
2933 * conf/i386-efi.rmk: Likewise.
2934 * conf/i386-ieee1275.rmk: Likewise.
2935 * conf/i386-pc.rmk: Likewise.
2936 * conf/powerpc-ieee1275.rmk: Likewise.
2937 * conf/sparc64-ieee1275.rmk: Likewise.
2938 * conf/x86_64-efi.rmk: Likewise.
2939 * fs/i386/pc/pxe.c: Likewise.
2940 * gettext/gettext.c: Likewise.
2941 * include/grub/efi/graphics_output.h: Likewise.
2942 * include/grub/i386/pc/memory.h: Likewise.
2943 * kern/env.c: Likewise.
2944 * kern/i386/qemu/startup.S: Likewise.
2945 * lib/i386/pc/biosnum.c: Likewise.
2946 * lib/i386/relocator.c: Likewise.
2947 * lib/i386/relocator_asm.S: Likewise.
2948 * lib/relocator.c: Likewise.
2949 * loader/i386/bsd.c: Likewise.
2950 * loader/i386/multiboot.c: Likewise.
2951 * loader/i386/pc/chainloader.c: Likewise.
2952 * loader/i386/xnu.c: Likewise.
2953 * loader/xnu.c: Likewise.
2954 * normal/main.c: Likewise.
2955 * normal/menu_text.c: Likewise.
2956 * util/getroot.c: Likewise.
2957 * util/grub-mkconfig_lib.in: Likewise.
2958 * util/grub.d/00_header.in: Likewise.
2959 * util/i386/pc/grub-mkimage.c: Likewise.
2960 * util/mkisofs/eltorito.c: Likewise.
2961 * util/mkisofs/exclude.h: Likewise.
2962 * util/mkisofs/hash.c: Likewise.
2963 * util/mkisofs/iso9660.h: Likewise.
2964 * util/mkisofs/joliet.c: Likewise.
2965 * util/mkisofs/mkisofs.c: Likewise.
2966 * util/mkisofs/mkisofs.h: Likewise.
2967 * util/mkisofs/multi.c: Likewise.
2968 * util/mkisofs/name.c: Likewise.
2969 * util/mkisofs/rock.c: Likewise.
2970 * util/mkisofs/tree.c: Likewise.
2971 * util/mkisofs/write.c: Likewise.
2972 * video/efi_gop.c: Likewise.
2973
009ec743
VS
29742009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2977 size counting.
2978
0ad46fd7 29792009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2980
2981 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2982 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2983
d3d30ea0
VS
29842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2987 (GRUB_MOD_INIT(memrw)): Update help line.
2988
a34f5c70
VS
29892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2992 Use grub_extcmd_t. All users updated.
2993 (options): New variable.
2994 (grub_cmd_read): Restructure for readability. Support "-v" option.
2995 (grub_cmd_write): Restructure for readability.
2996
0ad46fd7 29972009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2998
2999 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3000
0ad46fd7 30012009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3002
3003 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3004 with the actual contents of the correspondending make variable.
3005 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3006 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3007 specifying `*.lst' and `efiemu??.o'
3008
0ad46fd7 30092009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3010
3011 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3012 after function name.
3013 Noticed by Rene Engelhard <rene@debian.org>.
3014
dc77a799
VS
30152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3018 (options): New variable.
3019 (iospace): Likewise.
3020 (grub_lspci_iter): List IO spaces if "-i" was given.
3021 (grub_cmd_lspci): Parse options.
3022 (GRUB_MOD_INIT(lspci)): Use extcmd.
3023 (GRUB_MOD_FINI(lspci)): Likewise.
3024
0ad46fd7 30252009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3026
3027 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3028 `function' keyword.
3029 Patch by Tony Mancill <tmancill@debian.org>.
3030
b5d5993b
VS
30312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3034 (grub_uhci_portstatus): Likewise.
3035 (grub_uhci_portstatus): Add necessary delay.
11d18281 3036 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3037
941903f2 30382009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3039
941903f2 3040 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3041 (GRUB_MOD_INIT): Likewise.
3042 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3043 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3044 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3045 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3046 (enable_rom_area): Likewise.
3047 (GRUB_MOD_INIT): Likewise.
3048 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3049 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3050 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3051 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3052 * commands/hexdump.c (options): Likewise.
3053 * commands/i386/cpuid.c (options): Likewise.
3054 (GRUB_MOD_INIT): Likewise.
3055 * commands/i386/pc/drivemap.c (options): Likewise.
3056 (GRUB_MOD_INIT): Likewise.
3057 * commands/i386/pc/halt (options): Likewise.
3058 (GRUB_MOD_INIT): Likewise.
3059 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3060 * commands/i386/pc/pxecmd.c (options): Likewise.
3061 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3062 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3063 * commands/keystatus.c (options): Likewise.
3064 (GRUB_MOD_INIT): Likewise.
3065 * commands/loadenv.c (options): Likewise.
3066 * commands/ls.c (options): Likewise.
3067 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3068 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3069 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3070 * commands/parttool.c (helpmsg): Likewise.
3071 * commands/probe.c (options): Likewise.
3072 * commands/read.c (GRUB_MOD_INIT): Likewise.
3073 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3074 * commands/search.c (options): Likewise.
3075 * commands/sleep.c (options): Likewise.
3076 * commands/test.c (GRUB_MOD_INIT): Likewise.
3077 * commands/true.c (GRUB_MOD_INIT): Likewise.
3078 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3079 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3080 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3081 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3082 `$(XGETTEXT)'.
98a50553 3083 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3084
0ad46fd7 30852009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3086
ef3c2c3a 3087 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3088 instead of specifying them explicit.
3089
7922f68b
RM
30902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3091
3092 * NEWS: Add grub-probe support for GNU/Hurd.
3093
537ce47f
RM
30942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3095
3096 * NEWS: gettext was added after 1.97.
3097
9b214e3a
RM
30982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3099
3100 * util/mkisofs/msdos_partition.h: New file (based on
3101 include/grub/msdos_partition.h).
3102 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3103 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3104 (ld_options, main): Recognize --protective-msdos-label.
3105 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3106 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3107 (padblock_write): If `use_protective_msdos_label' is set, patch a
3108 protective DOS-style label in the output image.
3109
3110 * util/grub-mkrescue.in: Use --protective-msdos-label.
3111
e9309813
RM
31122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3113
3114 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3115 boot.
3116
0ae56929
RM
31172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3118
3119 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3120 variables.
3121 (ld_options, main): Recognize `--embedded-boot'.
3122 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3123 declarations.
3124 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3125 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3126 (padblock_write): Likewise. Rewrite to support embedded boot image.
3127
3128 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3129 for BIOS-based disk boot instead of only ElTorito.
3130
b15937b1
RM
31312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3132
3133 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3134 build (not needed for bootstrap).
3135
52cc3ce0
RM
31362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3137
3138 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3139 from i386-pc build (not needed for bootstrap).
3140 Rewrite a pair of strings.
3141
36f5ff04
RM
31422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3143
3144 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3145
973c6c85 31462009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3147
3148 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3149
05d21547
AB
31502009-12-21 Andreas Born <futur.andy@googlemail.com>
3151
3152 * kern/env.c (grub_env_context_open): Mark exported variable for
3153 reexport.
3154
0175d51f
AB
31552009-12-21 Andreas Born <futur.andy@googlemail.com>
3156
3157 * kern/env.c (grub_env_export): Create nonexistent variables before
3158 exporting.
3159
7f39d92f 31602009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3161
7f39d92f 3162 * include/grub/auth.h: Include `<grub/i18n.h>'.
3163 (GRUB_GET_PASSWORD): Gettextizze string.
3164 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3165 menu_text.c.
3166 (grub_utf8_to_ucs4_alloc): Fix indentation.
3167 (grub_print_ucs4): Likewise.
3168 (grub_getstringwidth): Likewise.
3169 (print_message_indented): New declaration.
3170 * normal/auth.c: Include `<grub/i18n.h>'.
3171 (grub_auth_check_authentication): Gettexttize string.
3172 * normal/cmdline.c: Include `<grub/i18n.h>'.
3173 (grub_cmdline_get): Gettextizze.
3174 * normal/color.c: Include `<grub/i18n.h>'.
3175 (grub_parse_color_name_pair): Gettexttize strings.
3176 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3177 string (use `print_message_indented').
3178 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3179 `include/grub/normal.h'.
3180 (print_message_indented): Renamed to ...
3181 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3182 used in normal/main.c).
3183 (print_message): Use `grub_print_message_indented' instead of
3184 `print_message_indented'.
3185 (print_timeout): Likewise.
3186 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3187 (grub_normal_print_device_info): Gettexttize strings.
3188 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3189
3041d898
VS
31902009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3193 of arguments. Return number of tokens and not arguments. All users
3194 updated.
3195
de15bf8e
VS
31962009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3199 non-MSDOS paritions.
3200
e0a6ca52
VS
32012009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * include/grub/types.h (UNUSED): Removed since it conflicts with
3204 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3205 Reported by Grégoire Sutre.
3206
b99518d1 32072009-12-19 Carles Pina i Estany <carles@pina.cat>
3208
3209 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3210 (grub_print_ucs4_alloc): Likewise.
3211 (grub_getstringwidth): Likewise.
3212 * normal/main.c (grub_normal_init_page): Gettextize version string.
3213 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3214 (getstringwidth): Renamed to ...
3215 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3216 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3217 (grub_print_ucs4): Remove `static' qualifer (now used in
3218 normal/main.c).
3219 * po/POTFILES: Add normal/main.c.
3220
bfd5e52b 32212009-12-19 Carles Pina i Estany <carles@pina.cat>
3222
3223 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3224 (print_message_indented): Add `margin_left' and `margin_right'
3225 parameters.
3226 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3227 strings.
3228 (print_timeout): Use `print_message_indented' to print the message.
3229 Deletes `second_stage' parameter.
3230 (run_menu): Update `print_timeout' calls.
3231
5a1ad2b9
VS
32322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 Fix console palette on OpenFirmware.
3235
3236 * term/ieee1275/ofconsole.c (MAX): Removed.
3237 (colors): Redone based on VGA palette.
3238 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3239 colors are supported.
3240 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3241
b045f00a
VS
32422009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 Fix potential EfiEmu double prepare.
3245
3246 * efiemu/main.c (prepared): New variable
3247 (grub_efiemu_unload): Set prepare to '0'.
3248 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3249
3250 set_virtual_address_map support.
3251
3252 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3253 prototype.
3254 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3255 prototype.
3256 (grub_efiemu_crc32): Likewise.
3257 (grub_efiemu_crc64): Likewise.
3258 (grub_efiemu_set_virtual_address_map): Likewise.
3259 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3260 New definition.
3261 (grub_autoefi_set_virtual_address_map): Likewise.
3262 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3263 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3264 Restructure flow to accomodate it.
3265 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3266 (grub_efiemu_crc): Recompute CRC32.
3267 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3268 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3269 * efiemu/symbols.c (relocated_handle): New variable.
3270 (grub_efiemu_free_syms): Free relocated_handle.
3271 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3272 (grub_efiemu_write_sym_markers): New function.
3273 (grub_efiemu_set_virtual_address_map): Likewise.
3274
3275 Newer XNU parameters.
3276
3277 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3278 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3279 (grub_xnu_fill_devicetree): New prototype.
3280 (grub_xnu_heap_real_start): New variable.
3281 * loader/xnu.c (get_name_ptr): New function.
3282 (grub_xnu_load_driver): Fill namelen and name.
3283
3284 64-bit xnu support.
3285
3286 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3287 and 'loader/macho64.c'.
3288 * conf/i386-pc.rmk: Likewise.
3289 * conf/x86_64-efi.rmk: Likewise.
3290 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3291 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3292 * include/grub/macho.h (grub_macho_segment64): New structure.
3293 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3294 (grub_macho_size32): ... to this.
3295 (grub_macho32_get_entry_point): Renamed from ...
3296 (grub_macho_get_entry_point32): ... to this.
3297 (grub_macho_contains_macho64): New prototype.
3298 (grub_macho_size64): Likewise.
3299 (grub_macho_get_entry_point64): Likewise.
3300 (grub_macho32_load): Renamed from ...
3301 (grub_macho_load32): ... to this.
3302 (grub_macho32_filesize): Renamed from ...
3303 (grub_macho_filesize32): ... to this.
3304 (grub_macho32_readfile): Renamed from ...
3305 (grub_macho_readfile32): ... to this.
3306 (grub_macho_filesize64): New prototype.
3307 (grub_macho_readfile64): Likewise.
3308 (grub_macho_parse32): Likewise.
3309 (grub_macho_parse64): Likewise.
3310 * loader/macho.c: Split into ...
3311 * loader/machoXX.c: ... and this. Replace 32 with XX.
3312 * loader/macho32.c: New file.
3313 * loader/macho64.c: Likewise.
3314 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3315 (grub_cmd_xnu_kernel): Make 32-bit only.
3316 (grub_cmd_xnu_kernel64): New function.
3317 (grub_xnu_load_driver): Support Mach-O 64.
3318 (grub_cmd_xnu_mkext): Likewise.
3319 * util/grub.d/30_os-prober.in (osx_entry): New function.
3320 Generate entries for 64-bit boot too.
3321
3322 Eliminate ad-hoc tree format in XNU and EfiEmu.
3323
3324 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3325 * efiemu/pnvram.c: Rewritten to use environment variables.
3326 All users updated.
3327
3328 Inline utf16_to_utf8.
3329
3330 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3331 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3332 All users updated.
3333 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3334
3335 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3336 * commands/usbtest.c (grub_usb_get_string): ... move here.
3337 (usb_print_str): Fix error handling.
3338 * include/grub/usb.h (grub_usb_get_string): Remove.
3339
3340 UTF-8 to UTF-16 transformation.
3341
3342 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3343 (charset_mod_SOURCES): New variable.
3344 (charset_mod_CFLAGS): Likewise.
3345 (charset_mod_LDFLAGS): Likewise.
3346 * include/grub/utf.h: New file.
3347 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3348
3349 Support for device properties.
3350
3351 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3352 (grub_xnu_devprop_device_header): Likewise.
3353 (grub_xnu_devprop_device_descriptor): Likewise.
3354 (grub_xnu_devprop_add_device): New prototype.
3355 (grub_xnu_devprop_remove_device): Likewise.
3356 (grub_xnu_devprop_remove_property): Likewise.
3357 (grub_xnu_devprop_add_property_utf8): Likewise.
3358 (grub_xnu_devprop_add_property_utf16): Likewise.
3359 (grub_cpu_xnu_init): Likewise.
3360 (grub_cpu_xnu_fini): Likewise.
3361 (grub_cpu_xnu_unload): Likewise.
3362 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3363 (property_descriptor): Likewise.
3364 (devices): New variable.
3365 (grub_xnu_devprop_remove_property): New function.
3366 (grub_xnu_devprop_add_device): Likewise.
3367 (grub_xnu_devprop_remove_device): Likewise.
3368 (grub_xnu_devprop_add_property): Likewise.
3369 (grub_xnu_devprop_add_property_utf8): Likewise.
3370 (grub_xnu_devprop_add_property_utf16): Likewise.
3371 (hextoval): Likewise.
3372 (grub_cpu_xnu_fill_devprop): Likewise.
3373 (grub_cmd_devprop_load): Likewise.
3374 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3375 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3376 (cmd_devprop_load): New variable.
3377 (grub_cpu_xnu_init): New function.
3378 (grub_cpu_xnu_fini): Likewise.
3379 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3380 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3381 (grub_cmd_xnu_devtree): Likewise.
3382 (hextoval): New function.
3383 (unescape): Likewise.
3384 (grub_xnu_fill_devicetree): Likewise.
3385
3386 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3387 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3388
0945f181
VS
33892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Workaround for broken ATI VBE.
3392
3393 * video/i386/pc/vbe.c (last_set_mode): New variable.
3394 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3395 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3396 (grub_video_vbe_setup): Don't check for reserved flag.
3397
0ad46fd7 33982009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3399
3400 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3401 the `find' command.
3402
c179ebe4
VS
34032009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 UUID support for HFS.
3406
3407 * fs/hfs.c (grub_hfs_uuid): New function.
3408 (grub_hfs_fs): New value .uuid.
3409 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3410
0ad46fd7 34112009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3412
3413 Fix a segfault with parsing unknown long options.
3414
3415 * util/grub-mkrelpath.c (options): Zero terminate it.
3416
c4a3e41a
CPE
34172009-12-13 Carles Pina i Estany <carles@pina.cat>
3418
3419 * include/grub/misc.h (grub_puts): New declaration.
3420 (grub_puts_): Likewise.
a22008a6 3421 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3422 (grub_puts_): Likewise.
3423
2e8a7602
RM
34242009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3425
3426 * util/grub-probe.c (probe): Improve error message.
3427
b50b77b9
RM
34282009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3429
3430 * loader/i386/multiboot_elfxx.c
3431 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3432 initialization.
3433
34342009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 Relocator framework
3437
3438 * loader/i386/xnu_helper.S: Removed. All users updated.
3439 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3440 (relocator_mod_SOURCES): New variable.
3441 (relocator_mod_CFLAGS): Likewise.
3442 (relocator_mod_LDFLAGS): Likewise.
3443 (relocator_mod_ASFLAGS): Likewise.
3444 * conf/x86_64.rmk: Likewise.
3445 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3446 (grub_multiboot_payload_entry_offset): Likewise.
3447 (grub_multiboot_forward_relocator): Likewise.
3448 (grub_multiboot_forward_relocator_end): Likewise.
3449 (grub_multiboot_backward_relocator): Likewise.
3450 (grub_multiboot_backward_relocator_end): Likewise.
3451 (grub_multiboot_payload_eip): New variable.
3452 (grub_multiboot_payload_orig): Likewise.
3453 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3454 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3455 * include/grub/i386/memory.h
3456 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3457 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3458 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3459 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3460 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3461 * include/grub/i386/relocator.h: New file.
3462 * include/grub/x86_64/relocator.h: Likewise.
3463 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3464 (XNU_RELOCATOR): New macro.
3465 (grub_xnu_launcher_start): Remove.
3466 (grub_xnu_launcher_end): Likewise.
3467 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3468 (grub_xnu_heap_real_start): Remove.
3469 (grub_xnu_heap_start): Change to void *. All users updated.
3470 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3471 * lib/i386/relocator.c: New file.
3472 * lib/i386/relocator_asm.S: Likewise.
3473 * lib/i386/relocator_backward.S: Likewise.
3474 * lib/mips/relocator.c: Likewise.
3475 * lib/mips/relocator_asm.S: Likewise.
3476 * lib/relocator.c: Likewise.
3477 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3478 (entry): Removed.
3479 (playground): Likewise.
3480 (grub_multiboot_payload_orig): New variable.
3481 (grub_multiboot_payload_dest): Likewise.
3482 (grub_multiboot_payload_size): Likewise.
3483 (grub_multiboot_payload_eip): Likewise.
3484 (grub_multiboot_payload_esp): Likewise.
3485 (grub_multiboot_boot): Use grub_relocator32_boot.
3486 (grub_multiboot_unload): Free relocators.
3487 (grub_multiboot): Setup stack. Use relocators.
3488 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3489 (grub_multiboot_load_elfXX): Use relocators.
3490 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3491 (grub_multiboot_payload_size): Likewise.
3492 (grub_multiboot_payload_dest): Likewise.
3493 (grub_multiboot_payload_entry_offset): Likewise.
3494 (grub_multiboot_forward_relocator): Likewise.
3495 (grub_multiboot_backward_relocator): Likewise.
3496 (grub_multiboot_real_boot): Likewise.
3497 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3498 (grub_xnu_entry_point): Likewise.
3499 (grub_xnu_arg1): Likewise.
3500 (grub_xnu_stack): Likewise.
3501 (grub_xnu_launch): Removed.
3502 (grub_xnu_boot_resume): New function.
3503 (grub_xnu_boot): Use relocators.
3504 * loader/i386/xnu_helper.S: Removed.
3505 * loader/xnu.c (grub_xnu_heap_start): New variable.
3506 (grub_xnu_heap_size): Likewise.
3507 (grub_xnu_heap_malloc): Use relocators.
3508 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3509
29eb90c6
VS
35102009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3513 anything.
3514
31027430
CPE
35152009-12-13 Carles Pina i Estany <carles@pina.cat>
3516
3517 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3518 GRUB_ERR_NONE before calling grub_env_set.
3519
dc0c71d9
RM
35202009-12-12 Robert Millan <rmh@aybabtu.com>
3521
3522 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3523 * genmk.rb (video): New variable.
3524 (CLEANFILES, VIDEOFILES): Add #{video}.
3525 (#{video}): New target rule.
3526 * genvideolist.sh: New file.
3527 * Makefile.in (pkglib_DATA): Add video.lst.
3528 (video.lst): New target rule.
3529 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3530 `video.lst'.
3531 * util/grub.d/30_os-prober.in: Replace `vbe' with
3532 ${GRUB_VIDEO_BACKEND}.
3533
2a4bfcf0
RM
35342009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3535
3536 * THANKS: Add David Miller.
3537
2a3aa4d5
RM
35382009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 libpciaccess support.
3541
3542 * Makefile.in (LIBPCIACCESS): New variable.
3543 (enable_grub_emu_pci): Likewise.
3544 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3545 util/pci.c and commands/lspci.c.
3546 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3547 * configure.ac (grub-emu-pci): New option.
3548 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3549 (grub_pci_device_unmap_range): Likewise.
3550 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3551 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3552 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3553 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3554 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3555 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3556 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3557 * include/grub/pciutils.h: New file.
3558 * util/pci.c: Likewise.
3559
0ad46fd7 35602009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
3561
3562 * util/misc.c: Don't include <errno.h> twice.
3563
0ad46fd7 35642009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
3565
3566 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3567 name in an error message.
3568 (grub_biosdisk_rw): Likewise.
3569
2e59983c
VS
35702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 Eliminate NTFS 4Gib barrier.
3573
3574 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3575 (read_run_data): Likewise.
3576 (grub_ntfs_read_run_list): Likewise.
3577 (grub_ntfs_read_block): Likewise.
3578 (grub_ntfs_iterate_dir): Likewise.
3579 (read_mft): Likewise.
3580 (read_data): Likewise.
3581 Use COM_LOG_LEN.
3582 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3583 to avoid 64-bit division
3584 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3585 (grub_ntfs_rlst): Use grub_disk_addr_t.
3586
71ee178a
VS
35872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Eliminate grub-fstest 4Gib barrier.
3590
3591 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3592 (read_file): Fix error reporting.
3593
2520d4b8
VS
35942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 Eliminate hexdump 4Gib barrier.
3597
3598 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3599 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3600
e1f27065
VS
36012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3604 Fixes amarsh bug.
3605
1a0f7f45
RM
36062009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3607
3608 Remove miscellaneous files in distclean target.
3609
3610 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3611
c631d9fb
CW
36122009-12-09 Colin Watson <cjwatson@ubuntu.com>
3613
3614 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3615 if they're already set. This resolves the conflict between my
3616 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3617 fixing the --grub-probe option again.
3618 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3619 change on 2009-10-06, so that we now once again source
3620 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3621
7c7b6106
RM
36222009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3623
3624 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3625 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3626 `util/devicemap.c'.
3627
e3069ec1
CPE
36282009-12-08 Carles Pina i Estany <carles@pina.cat>
3629
3630 * include/grub/misc.h (grub_printf_): New declaration.
3631 * kern/misc.c (grub_printf_): New definition.
3632 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3633 instead of `grub_printf' and `_'.
3634 * normal/menu_entry.c (store_completion): Likewise.
3635 (run): Likewise.
3636 (grub_menu_entry_run): Likewise.
3637 * normal/menu_text.c (grub_wait_after_message): Likewise.
3638 (notify_booting): Likewise.
3639 (notify_fallback): Likewise.
3640 (notify_execution_failure): Likewise.
3641
d6ceebf1
CW
36422009-12-07 Colin Watson <cjwatson@ubuntu.com>
3643
3644 * configure.ac: Check for vasprintf.
3645 * util/misc.c (asprintf): Move allocation from here ...
3646 (vasprintf): ... to here. New function.
3647 (xasprintf): New function.
3648 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3649 prototypes.
3650 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3651 * util/grub-mkfont.c (write_font): Likewise.
3652 * util/grub-probe.c (probe): Likewise.
3653 * util/hostdisk.c (make_device_name): Likewise.
3654
de6daa8b
DM
36552009-12-06 David S. Miller <davem@sunset.davemloft.net>
3656
3657 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3658 anything even prefixed with 'cdrom' as a cdrom.
3659
0ad46fd7 36602009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
3661
3662 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3663 mount points.
3664
98d3dc02
CPE
36652009-12-05 Carles Pina i Estany <carles@pina.cat>
3666
3667 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3668 grub_gettext_msg_list.
3669 (grub_gettext_gettranslation_from_position): Return const char *
3670 and not char *.
a2c1332b 3671 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
3672 returns from the list if existing there.
3673 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3674 (grub_gettext_delete_list): Delete the list.
3675 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3676 lang environment variable is changed.
3677 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3678
b283f108
VS
36792009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Rename kernel.mod to kernel.img.
3682
3683 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3684 (kernel_mod_EXPORTS): Rename to ...
3685 (kernel_img_EXPORTS): ... this.
3686 (kernel_mod_SOURCES): Rename to ...
3687 (kernel_img_SOURCES): ... this.
3688 (kernel_mod_HEADERS): Rename to ...
3689 (kernel_img_HEADERS): ... this. All users updated.
3690 (kernel_mod_CFLAGS): Rename to ...
3691 (kernel_img_CFLAGS): ... this.
3692 (kernel_mod_ASFLAGS): Rename to ...
3693 (kernel_img_ASFLAGS): ... this.
3694 (kernel_mod_LDFLAGS): Rename to ...
3695 (kernel_img_LDFLAGS): ... this.
3696 * conf/x86_64-efi.rmk: Likewise.
3697 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3698 (read_kernel_image): ... this. All users updated.
3699 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3700
69055f8a
CPE
37012009-12-05 Carles Pina i Estany <carles@pina.cat>
3702
3703 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3704 (print_spaces): New function.
3705 (grub_print_ucs4): New function.
3706 (getstringwidth): New function.
3707 (print_message_indented): New function.
3708 (print_message): Gettexttize strings using print_message_indented.
3709 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3710 width.
3711 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 3712 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
3713 Gettextize.
3714 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3715 string.
3716 (run): Likewise.
3717 (grub_menu_entry_run): Likewise.
3718 * PO/POTFILES: Add normal/menu_entry.c.
3719
f616f51c
VS
37202009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3723
57bbe3be
CPE
37242009-12-05 Carles Pina i Estany <carles@pina.cat>
3725
3726 * util/grub-install.in: Install gettext .mo files.
3727 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3728
013d67a1
CPE
37292009-12-05 Carles Pina i Estany <carles@pina.cat>
3730
3731 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3732 grub_dprintf.
3733
fb954db0
RM
37342009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3735
3736 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3737 non-firmware-dependant one in realmode.S takes precedence.
3738
6b8474f8
RM
37392009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3740
3741 * commands/halt.c: Replace misc arch-specific headers with
3742 `<grub/misc.h>'.
3743 * commands/reboot.c: Likewise.
3744 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3745 `<grub/misc.h>'.
3746 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3747 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3748 (kernel_img_SOURCES): ... to here.
3749
3750 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3751 * include/grub/i386/pc/init.h: Likewise.
3752 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3753 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3754
3755 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3756
3757 * include/grub/i386/halt.h: Remove.
3758 * include/grub/i386/reboot.h: Likewise.
3759
3760 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3761
4b2e6ca2
DM
37622009-12-03 David S. Miller <davem@sunset.davemloft.net>
3763
3764 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3765 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3766 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3767 "progname.h"
3768 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3769 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3770 (usage): Add missing comma in printf.
3771
5239348f
RM
37722009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3773
3774 Use the same reboot approach on i386 coreboot and qemu as we do on
3775 BIOS.
3776
3777 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3778 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3779 * kern/i386/reboot.c: Remove.
3780 * include/grub/i386/reboot.h (grub_reboot): Export function.
3781 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3782 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3783 0xf000:0xfff0 instead of 0xffff:0x0000.
3784 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3785 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3786
ef34cbd4
RM
37872009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3788
3789 Fix $srcdir != $objdir build.
3790
3791 * Makefile.in (po/%.po): Rewrite as ...
3792 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3793
dc9837ea
ST
37942009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3795
3796 Fix GNU/Hurd grub-install crash.
3797 * util/grub-probe.c (probe): Try to access `path' only when it is not
3798 NULL.
3799
2f857f98
VS
38002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Correct module naming.
3803
3804 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3805 (GRUB_MOD_INIT(efi_uga)): ... to this
3806 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3807 (GRUB_MOD_FINI(efi_uga)): ... to this
3808 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3809 (GRUB_MOD_INIT(efi_gop)): ... to this
3810 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3811 (GRUB_MOD_FINI(efi_gop)): ... to this
3812
c5448046
RM
38132009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3814
3815 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3816 translatable.
3817 (usage): Translate `arg' strings using gettext().
3818 Thanks to Jordi Mallach for the suggestion.
3819
c85184ad
VS
38202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 GOP support. Based on patch from Bean
3823 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3824
3825 * video/efi_gop.c: New file.
3826 * include/grub/efi/graphics_output.h: Likewise.
3827 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3828 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3829 variables.
3830 * conf/x86_64-efi.rmk: Likewise.
3831
8a4c48d8
VS
38322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 Rename efi_fb to efi_uga.
3835
3836 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3837 'efi_uga.mod'.
3838 (efi_fb_mod_SOURCES): Rename this ...
3839 (efi_uga_mod_SOURCES): ... to this.
3840 (efi_fb_mod_CFLAGS): Rename this ...
3841 (efi_uga_mod_CFLAGS): ... to this.
3842 (efi_fb_mod_LDFLAGS): Rename this ...
3843 (efi_uga_mod_LDFLAGS): ... to this.
3844 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3845 'efi_uga.mod'.
3846 (efi_fb_mod_SOURCES): Rename this ...
3847 (efi_uga_mod_SOURCES): ... to this.
3848 (efi_fb_mod_CFLAGS): Rename this ...
3849 (efi_uga_mod_CFLAGS): ... to this.
3850 (efi_fb_mod_LDFLAGS): Rename this ...
3851 (efi_uga_mod_LDFLAGS): ... to this.
3852 * video/efi_fb.c: Move this ...
3853 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3854
fb6c1a7b
RM
38552009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3856
3857 * po/README: New file. Explain our PO file workflow.
3858
3bc7896c
RM
38592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3860
3861 * po/ChangeLog: Remove. Move relevant entries back to ...
3862 * ChangeLog: ... here.
3863 * po/ca.po: Remove (now handled by TLP).
3864 * po/id.po: Likewise.
3865 * po/zh_CN.po: Likewise.
3866 * Makefile.in (LINGUAS): Initialize in a way that supports
3867 empty set.
3868
9ed4841d
RM
38692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3870
3871 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3872 reliing on po/LINGUAS.
3873 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3874 (po/%.po): ... this.
3875
0ad46fd7 38762009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3877
3878 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3879 (main): Use `program_name' instead of nonexistent `progname'.
3880
e30dd392
FZ
38812009-11-26 Felix Zielcke <fzielcke@z-51.de>
3882
3883 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3884 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3885
7656de4f
RM
38862009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3887
3888 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3889 commit.
3890 * conf/i386-efi.rmk: Likewise.
3891 * conf/i386-ieee1275.rmk: Likewise.
3892 * conf/powerpc-ieee1275.rmk: Likewise.
3893 * conf/sparc64-ieee1275.rmk: Likewise.
3894 * conf/x86_64-efi.rmk: Likewise.
3895
db77c4d4
FZ
38962009-11-26 Felix Zielcke <fzielcke@z-51.de>
3897
3898 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3899
a755bb04
FZ
39002009-11-26 Felix Zielcke <fzielcke@z-51.de>
3901
3902 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3903
8a4c07fd
RM
39042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3905
3906 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3907 (grub_mkdevicemap_SOURCES): New variable.
3908 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3909 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3910 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3911 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3912 (grub_mkdevicemap_SOURCES): Remove.
3913 * conf/i386-efi.rmk: Likewise.
3914 * conf/i386-ieee1275.rmk: Likewise.
3915 * conf/i386-pc.rmk: Likewise.
3916 * conf/powerpc-ieee1275.rmk: Likewise.
3917 * conf/sparc64-ieee1275.rmk: Likewise.
3918 * conf/x86_64-efi.rmk: Likewise.
3919 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3920 (usage): Fix strings to use `program_name'.
3921 (main): Initialize gettext.
3922 * util/grub-editenv.c: Likewise.
3923 * util/grub-emu.c: Likewise.
3924 * util/grub-fstest.c: Likewise.
3925 * util/grub-mkdevicemap.c: Likewise.
3926 * util/grub-mkfont.c: Likewise.
3927 * util/grub-mkrelpath.c: Likewise.
3928 * util/grub-pe2elf.c: Likewise.
3929 * util/grub-probe.c: Likewise.
3930 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3931 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3932 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3933
3934 * util/misc.c: Include `"progname.h"'.
3935 (progname): Remove variable.
3936 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3937
6f61ed55
FZ
39382009-11-25 Felix Zielcke <fzielcke@z-51.de>
3939
3940 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3941 printf and print a newline after the menuentry header line.
3942 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3943
f022876b
FZ
39442009-11-25 Felix Zielcke <fzielcke@z-51.de>
3945
3946 autoconf >= 2.60 support $(localedir).
3947
3948 * INSTALL: Note that autoconf 2.60 is required.
3949 * configure.ac (AC_PREREQ): Bump to 2.60.
3950 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3951 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3952
6717926e
YB
39532009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3954
3955 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3956 aclocal is run.
3957
08806a54
RM
39582009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3959
3960 * normal/main.c (grub_normal_read_line): Fix off-by-one
3961 buffer overflow.
3962
13b33fba
RM
39632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3964
3965 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3966 "parser.grub" in grub_command_execute() call.
3967
4a8572e9
CPE
39682009-11-24 Carles Pina i Estany <carles@pina.cat>
3969
3970 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3971 * conf/i386-efi.rmk: Likewise.
3972 * conf/i386-ieee1275.rmk: Likewise.
3973 * conf/i386-pc.rmk: Likewise.
3974 * conf/powerpc-ieee1275.rmk: Likewise.
3975 * conf/sparc64-ieee1275.rmk: Likewise.
3976 * conf/x86_64-efi.rmk: Likewise.
3977 * gettext/gettex.c: Include <grub/i18n.h>.
3978 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3979 here ...
3980 * include/grub/i18n.h: ... to here
3981 * include/grub/i18n.h: ... to here.
3982 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3983 (grub_gettext_dummy): Move above user.
4a8572e9 3984
bee48093
FZ
39852009-11-24 Felix Zielcke <fzielcke@z-51.de>
3986
3987 * util/Makefile.in (install-local): Convert a `for' into a normal
3988 shell expansion.
3989
a031e91c
RM
39902009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3991
3992 * autogen.sh: Add automake call.
3993 * config.guess: Remove.
3994 * config.sub: Likewise.
3995 * install-sh: Likewise.
3996
26bec39d
FZ
39972009-11-24 Felix Zielcke <fzielcke@z-51.de>
3998
3999 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4000
8e2532fd
FZ
40012009-11-24 Felix Zielcke <fzielcke@z-51.de>
4002
4003 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4004 function to a normal shell `for'.
4005
fefa1b7d
FZ
40062009-11-24 Felix Zielcke <fzielcke@z-51.de>
4007
4008 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4009
4501250b
FZ
40102009-11-24 Felix Zielcke <fzielcke@z-51.de>
4011
4012 * util/grub-mkrelpath.c: New file.
4013 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4014 (grub_mkrelpath_SOURCES): New variable.
4015 * include/grub/util/misc.h: New function prototype.
4016 * util/misc.c (make_system_path_relative_to_its_root): New function.
4017
4018 * util/grub-mkconfig_lib.in (bindir): New variable.
4019 (grub_mkrelpath): Likewise.
4020 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4021
4022 * util/probe.c (probe): Make the file path relative to its root.
4023 Change a info message to use the GRUB path. Enable again the
4024 check if we can read the file with GRUB facilities.
4025
4026 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4027 to its root.
4028
11d9778b
FZ
40292009-11-24 Felix Zielcke <fzielcke@z-51.de>
4030
4031 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4032 platform.
4033
4465287d
FZ
40342009-11-24 Felix Zielcke <fzielcke@z-51.de>
4035
4036 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4037 strncmp().
4038
62b47f22
FZ
40392009-11-24 Felix Zielcke <fzielcke@z-51.de>
4040
4041 * util/getroot.c (grub_util_is_dmraid): New function.
4042 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4043 devices as normal ones, not as LVM.
4044
1eafb9b9 40452009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4046
4047 * conf/common.rmk: Add grub-gettext_lib target and updates
4048 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4049 LDFLAGS.
4050 * gettext/gettext.c: New file. (Reads mo files).
4051 * include/grub/file.h (grub_file_pread): New prototype.
4052 * include/grub/i18n.h (_): New prototype.
4053 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4054 prototypes.
4055 * kern/misc.c (grub_gettext_dummy): New function.
4056 * normal/menu_text.c: Include <grub/i18n.h>.
4057 * normal/menu_text.c (print_timeout): Gettexttize string.
4058 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4059 * po/POTFILES: Add `normal/menu_text.c'.
4060 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4061 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4062 gettext module and defines locale_dir and lang in grub.cfg.
4063 * NEWS: Add gettext support.
4064
0fdb2568
RM
40652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4066
4067 * util/hostdisk.c: Include `<grub/i18n.h>'.
4068 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4069 (make_device_name): Rewrite using asprintf.
4070 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4071 (find_system_device): If a device is not found, generate one just
4072 by reusing the OS path name.
4073 (read_device_map): Make it permissible for device.map not to exist.
4074
f515aa62
RM
40752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4076
4077 * script/sh/execute.c: Move from here ...
4078 * script/execute.c: ... to here. Update all users.
4079 * script/sh/function.c: Move from here ...
4080 * script/function.c: ... to here. Update all users.
4081 * script/sh/lexer.c: Move from here ...
4082 * script/lexer.c: ... to here. Update all users.
4083 * script/sh/main.c: Move from here ...
4084 * script/main.c: ... to here. Update all users.
4085 * script/sh/parser.y: Move from here ...
4086 * script/parser.y: ... to here. Update all users.
4087 * script/sh/script.c: Move from here ...
4088 * script/script.c: ... to here. Update all users.
4089
f84b481b
RM
40902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4091
4092 * configure.ac: Detect all `emu' platforms. Define
4093 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4094 --enable-grub-emu logic. Disable include/grub/machine
4095 symlink on `emu' platforms.
4096
4097 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4098 * gensymlist.sh.in: Likewise.
4099
4100 * include/grub/i386/coreboot/machine.h: Remove file.
4101 * include/grub/i386/efi/machine.h: Likewise.
4102 * include/grub/i386/ieee1275/machine.h: Likewise.
4103 * include/grub/i386/pc/machine.h: Likewise.
4104 * include/grub/i386/qemu/machine.h: Likewise.
4105 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4106 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4107 * include/grub/x86_64/efi/machine.h: Likewise.
4108
4109 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4110 * commands/halt.c: Likewise.
4111 * commands/reboot.c: Likewise.
4112 * include/grub/autoefi.h: Likewise.
4113 * include/grub/i386/at_keyboard.h: Likewise.
4114 * include/grub/i386/kernel.h: Likewise.
4115 * include/grub/i386/loader.h: Likewise.
4116 * include/grub/i386/pc/memory.h: Likewise.
4117 * kern/dl.c: Likewise.
4118 * kern/i386/coreboot/init.c: Likewise.
4119 * loader/i386/bsd.c: Likewise.
4120 * loader/i386/linux.c: Likewise.
4121 * loader/multiboot_loader.c: Likewise.
4122 * term/i386/pc/serial.c: Likewise.
4123 * term/usb_keyboard.c: Likewise.
4124
4125 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4126 `<grub/machine/machine.h>'
4127 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4128 * util/misc.c: Remove `<grub/machine/machine.h>' and
4129 `<grub/machine/time.h>'.
4130
4131 * Makefile.in (enable_grub_emu): Remove variable.
4132 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4133
4134 * conf/any-emu.rmk: New file.
4135 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4136 (grub_emu_init.c): Move from here ...
4137 * conf/any-emu.rmk: ... to here.
4138
4139 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4140 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4141 * conf/any-emu.rmk: ... to here.
4142
4efeab03
RM
41432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4144
4145 * include/grub/parser.h (grub_parser_register): Document need
4146 of `name' parameter.
4147 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4148 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4149 "sh" to "grub".
4150
ea1dd8bf
RM
41512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4152
4153 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4154 `$(XGETTEXT)'.
4155 * include/grub/i18n.h (N_): New macro.
4156 * util/mkisofs/mkisofs.h: Likewise.
4157 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4158 around N_().
4159 (usage): Use gettext() to translate help strings when printing them.
4160
0c140626
RM
41612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4162
4163 Based on patch from Bean
4164 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4165
4166 * video/efi_fb.c: New file.
4167 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4168 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4169 variables.
4170 * conf/x86_64-efi.rmk: Likewise.
4171
87d58298
RM
41722009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4173
4174 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4175 * util/i386/pc/grub-setup.c: Likewise.
4176
994cc3a3
ST
41772009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4178
4179 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4180 <hurd/fs.h>
4181 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4182 file_get_storage_info to implement grub_guess_root_device.
4183
26a61d6a
FZ
41842009-11-21 Felix Zielcke <fzielcke@z-51.de>
4185
4186 * Makefile.in (target): Use make's builtin $(shell) function
4187 instead of calling directly $(SHELL) to create the locale directories,
4188 inside the $(foreach) function.
4189
74ff1dd5
FZ
41902009-11-21 Felix Zielcke <fzielcke@z-51.de>
4191
4192 * util/grub-mkrescue.in: Print an error and usage if output option
4193 has not been given.
4194
0b787d0e
FZ
41952009-11-21 Felix Zielcke <fzielcke@z-51.de>
4196
4197 Patch from Loïc Minier <loic.minier@ubuntu.com>.
4198 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4199 root and /boot are on different devices.
4200
1164b270
RM
42012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4202
4203 Fix build for srcdir != objdir.
4204
4205 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4206 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4207 $(srcdir).
4208 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4209 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4210 reference for input.
4211
13774a2f
RM
42122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4213
4214 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4215 or hardlinking it). Remove -J option, Joliet is not compatible with
4216 multiple source directories.
4217
efda854e
RM
42182009-11-21 Carles Pina i Estany <carles@pina.cat>
42192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4220
4221 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4222 (process_input_dir): New function. Process an arbitrary input
4223 directory.
4224 Misc adjustments to support both "override mode" and system-wide mode.
4225
6c09890c
FZ
42262009-11-20 Felix Zielcke <fzielcke@z-51.de>
4227
4228 * configure.ac (UNIFONT_BDF): Rename to ...
4229 (FONT_SOURCE): ... this. Update all users.
4230
a797824f
FZ
42312009-11-20 Felix Zielcke <fzielcke@z-51.de>
4232
4233 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4234 to the list of unifont files to look for.
4235
cd4f42b0
RM
42362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4237
4238 Patch from Joe Auricchio <jauricchio@gmail.com>
4239 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4240 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4241 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4242
393c783d
FZ
42432009-11-19 Felix Zielcke <fzielcke@z-51.de>
4244
4245 * Makefile.in (install-local): Add a missing backslash.
4246
b2f1e327
FZ
42472009-11-19 Felix Zielcke <fzielcke@z-51.de>
4248
4249 * include/grub/x86_64/io.h: New file.
4250
f577f7a0
RM
42512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4252
4253 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4254 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4255 Include `"progname.h"'.
4256 (main): Initialize gettext.
4257 * util/i386/pc/grub-setup.c: Gettexttize.
4258 * util/i386/pc/grub-mkimage.c: Likewise.
4259
4260 * Makefile.in (po/*.po): Redefine as ...
4261 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4262
3bc7896c
RM
4263 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4264
c37943b6
RM
42652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4266
4267 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4268 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4269 (program_name): Remove.
4270 (main): Initialize gettext support.
6323f705
RM
4271 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4272 Include `<libintl.h>'.
4273 (_): New macro.
c37943b6
RM
4274
4275 * util/mkisofs/eltorito.c: Gettexttize.
4276 * util/mkisofs/joliet.c: Likewise.
4277 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4278 * util/mkisofs/multi.c: Likewise.
4279 * util/mkisofs/rock.c: Likewise.
4280 * util/mkisofs/tree.c: Likewise.
4281 * util/mkisofs/write.c: Likewise.
4282
3bc7896c
RM
4283 * po/POTFILES: Update with new files.
4284
5ce77c6e
RM
42852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4286
4287 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4288 * util/mkisofs/iso9660.h: Likewise.
4289 * util/mkisofs/joliet.c: Likewise.
4290 * util/mkisofs/mkisofs.c: Likewise.
4291 * util/mkisofs/mkisofs.h: Likewise.
4292 * util/mkisofs/rock.c: Likewise.
4293 * util/mkisofs/tree.c: Likewise.
4294 * util/mkisofs/write.c: Likewise.
4295
4296 * util/mkisofs/eltorito.c (rcsid): Remove.
4297 * util/mkisofs/hash.c: Likewise.
4298 * util/mkisofs/joliet.c: Likewise.
4299 * util/mkisofs/name.c: Likewise.
4300 * util/mkisofs/rock.c: Likewise.
4301 * util/mkisofs/tree.c: Likewise.
4302 * util/mkisofs/write.c: Likewise.
4303
1dabbc77
RM
43042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4305
4306 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4307 instead of static allocation.
4308 * util/mkisofs/match.h: Likewise.
4309
633877cb
RM
43102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4311
3bc7896c
RM
4312 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4313 and `util/grub.d/10_linux.in'.
633877cb
RM
4314 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4315 translatable Shell files.
4316
af1c0c85
RM
43172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4318
4319 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4320
769ae37b
RM
43212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4322
4323 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4324 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4325 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4326 Add gettext initialization.
4327 (kfreebsd_entry): Make menuentry output translatable.
4328
43292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4330
4331 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4332 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4333 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4334 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4335 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4336 * po/LINGUAS: New file.
769ae37b
RM
4337
43382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4339
4340 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4341 other things).
4342 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4343 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4344 bindtextdomain() calls for gettext initialization.
4345
43462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4347
4348 * gnulib/progname.c: New file (imported from Gnulib).
4349 * gnulib/progname.h: Likewise.
4350 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4351 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4352 (usage): Replace `progname' with `program_name'.
4353 (main): Use set_program_name() for program name initialization.
4354
43552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4356
4357 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4358 from here ...
4359 * Makefile.in (CPPFLAGS): ... to here.
4360
43612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4362
4363 * aclocal.m4: Move from here ...
4364 * acinclude.m4: ... to here.
4365 * autogen.sh: Add call to `aclocal'.
4366 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4367
43682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4369
4370 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4371 (LINGUAS): New variable.
4372 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4373 (install-local): Install MO files.
4374 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4375 * include/grub/i18n.h: New file.
3bc7896c
RM
4376 * po/POTFILES: New file.
4377 * po/ca.po: New file.
769ae37b
RM
4378 * util/grub.d/10_linux.in (bindir): New variable.
4379 Add gettext initialization.
4380 (linux_entry): Make menuentry output translatable.
4381 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4382 (usage): Make --help output translatable.
4383 (main): Initialize gettext.
4384
02c0a6ad
RM
43852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4386
4387 * import_gcry.py: New file (written by Vladimir with minor
4388 adjustments).
4389 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4390 ciphers.
4391 * INSTALL: Document that Python is required for bootstrap.
4392
43932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4394
4395 Import ciphers from libgcrypt 1.4.4.
4396
4397 * lib/libgcrypt/cipher/ChangeLog
4398 * lib/libgcrypt/cipher/ac.c
4399 * lib/libgcrypt/cipher/arcfour.c
4400 * lib/libgcrypt/cipher/bithelp.h
4401 * lib/libgcrypt/cipher/blowfish.c
4402 * lib/libgcrypt/cipher/camellia-glue.c
4403 * lib/libgcrypt/cipher/camellia.c
4404 * lib/libgcrypt/cipher/camellia.h
4405 * lib/libgcrypt/cipher/cast5.c
4406 * lib/libgcrypt/cipher/cipher.c
4407 * lib/libgcrypt/cipher/crc.c
4408 * lib/libgcrypt/cipher/des.c
4409 * lib/libgcrypt/cipher/dsa.c
4410 * lib/libgcrypt/cipher/ecc.c
4411 * lib/libgcrypt/cipher/elgamal.c
4412 * lib/libgcrypt/cipher/hash-common.c
4413 * lib/libgcrypt/cipher/hash-common.h
4414 * lib/libgcrypt/cipher/hmac-tests.c
4415 * lib/libgcrypt/cipher/md.c
4416 * lib/libgcrypt/cipher/md4.c
4417 * lib/libgcrypt/cipher/md5.c
4418 * lib/libgcrypt/cipher/primegen.c
4419 * lib/libgcrypt/cipher/pubkey.c
4420 * lib/libgcrypt/cipher/rfc2268.c
4421 * lib/libgcrypt/cipher/rijndael-tables.h
4422 * lib/libgcrypt/cipher/rijndael.c
4423 * lib/libgcrypt/cipher/rmd.h
4424 * lib/libgcrypt/cipher/rmd160.c
4425 * lib/libgcrypt/cipher/rsa.c
4426 * lib/libgcrypt/cipher/seed.c
4427 * lib/libgcrypt/cipher/serpent.c
4428 * lib/libgcrypt/cipher/sha1.c
4429 * lib/libgcrypt/cipher/sha256.c
4430 * lib/libgcrypt/cipher/sha512.c
4431 * lib/libgcrypt/cipher/tiger.c
4432 * lib/libgcrypt/cipher/twofish.c
4433 * lib/libgcrypt/cipher/whirlpool.c
4434
af2f93ac
RM
44352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4436
4437 Fix build for systems without error().
4438
4439 * gnulib/error.c: New file (imported from Gnulib).
4440 * gnulib/error.h: Likewise.
4441 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4442 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4443 (this variable is now used by error()).
4444
73fb3dd5
FZ
44452009-11-16 Felix Zielcke <fzielcke@z-51.de>
4446
814f5e96
FZ
4447 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4448 instead of relying that char is signed.
73fb3dd5 4449
a691ca33
VS
44502009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4453 blocksize different from specified.
4454 (grub_pxefs_read): Likewise.
4455
2af8f0f4
FZ
44562009-11-16 Felix Zielcke <fzielcke@z-51.de>
4457
4458 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4459
4460 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4461 (grub_ata_readwrite): Likewise. Update 2 format strings.
4462 (grub_atapi_read): Likewise.
4463
4464 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4465 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4466 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4467 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4468 (ata_mod_LDFLAGS): Move from here ...
4469 * conf/i386.rmk: ... to here ...
4470 * conf/x86_64-efi.rmk: ... and here.
4471 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4472 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4473
83bdecaf
RM
44742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4475
4476 Relicense multiboot.h, with RMS' blessing.
4477
4478 * include/multiboot.h: Change to X11 license.
4479
fd6fd3d7
RM
44802009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4481
4482 Support --version in grub-mkisofs.
4483
4484 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4485 (OPTION_VERSION): New macro.
4486 (ld_options): Recognize --version.
4487 (usage): Move `program_name' from here ...
4488 (program_name): ... to here. Add `static' qualifier.
4489 (main): Recognize `OPTION_VERSION'.
4490
16a88c49
FZ
44912009-11-15 Felix Zielcke <fzielcke@z-51.de>
4492
4493 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4494 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4495
a4158476
RM
44962009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4497
4498 Fix help2man generation for mkisofs.
4499
4500 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4501 (usage): Send output to stdout (rather than stderr).
4502
fc2208b0
RM
45032009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4504
4505 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4506 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4507 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4508 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4509 (bin_SCRIPTS): Add `grub-mkfloppy'.
4510 (grub_mkfloppy_SOURCES): New variable.
4511
4512 * util/grub-mkrescue.in: New file.
4513 * util/i386/pc/grub-mkfloppy.in: New file.
4514
4515 * util/i386/coreboot/grub-mkrescue.in: Remove.
4516 * util/i386/pc/grub-mkrescue.in: Remove.
4517
8d0edf4a
RM
45182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4519
4520 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4521 from here ...
4522 * include/multiboot.h (struct multiboot_header): ... to here. Update
4523 all users.
4524 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4525 from here ...
4526 * include/multiboot.h (struct multiboot_info): ... to here. Update
4527 all users.
4528 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4529 from here ...
4530 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4531 Update all users.
4532 * include/grub/multiboot.h (struct grub_mod_list): Move
4533 from here ...
4534 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4535 Update all users.
4536
a73f5969
RM
45372009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4538
4539 * include/multiboot2.h (multiboot_word): Rename from this ...
4540 (multiboot2_word): ... to this. Update all users.
4541 (multiboot_header): Rename from this ...
4542 (multiboot2_header): ... to this. Update all users.
4543 (multiboot_tag_header): Rename from this ...
4544 (multiboot2_tag_header): ... to this. Update all users.
4545 (multiboot_tag_start): Rename from this ...
4546 (multiboot2_tag_start): ... to this. Update all users.
4547 (multiboot_tag_name): Rename from this ...
4548 (multiboot2_tag_name): ... to this. Update all users.
4549 (multiboot_tag_module): Rename from this ...
4550 (multiboot2_tag_module): ... to this. Update all users.
4551 (multiboot_tag_memory): Rename from this ...
4552 (multiboot2_tag_memory): ... to this. Update all users.
4553 (multiboot_tag_unused): Rename from this ...
4554 (multiboot2_tag_unused): ... to this. Update all users.
4555 (multiboot_tag_end): Rename from this ...
4556 (multiboot2_tag_end): ... to this. Update all users.
4557
1c8927f0
RM
45582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4559
4560 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4561 this platform we should support Multiboot1 first.
4562
4563 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4564 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4565 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4566
6e1e0d89
RM
45672009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4568
4569 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4570 of write calls (converting them to fwrite() if they aren't already).
4571 (get_torito_desc): Likewise.
4572 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4573
7f2b34d8
RM
45742009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4575
4576 * util/i386/pc/grub-install.in: Move from here ...
4577 * util/grub-install.in: ... to here. Update all users.
4578
c0ef3311
CW
45792009-11-11 Colin Watson <cjwatson@ubuntu.com>
4580
4581 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4582
e1f240ff
RM
45832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4584
4585 Support for El Torito without floppy emulation.
4586
4587 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4588 (init_boot_catalog): Improve error handling.
4589 (get_torito_desc): Don't use floppy emulation unless requested by
4590 user. Patch boot information table when requested via
4591 `-boot-info-table'.
4592 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4593 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4594 (use_boot_info_table): New variables.
4595 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4596 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4597 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4598 `--eltorito-emul-floppy'.
4599 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4600 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4601 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4602 (use_boot_info_table, get_731): New prototypes.
4603 * util/mkisofs/write.c (get_731): New function.
4604
af7d4de5
FZ
46052009-11-11 Felix Zielcke <fzielcke@z-51.de>
4606
4607 Fix the generation of the man page.
4608
4609 * util/pc/i386/grub-install.in: Source
4610 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4611
2c55dbc0
RM
46122009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4613
4614 Large file support for grub-mkisofs.
4615
4616 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4617 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4618 (session_start): Upgrade type to `uint64_t'. Update all users.
4619 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4620 (struct directory_entry): Upgrade type of `starting_block' and
4621 `size' to `uint64_t'. Update all users.
4622 (struct deferred): Remove unused structure.
4623 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4624 Update all users.
4625 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4626 file is larger than `UINT32_MAX'.
4627 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4628 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4629 return value.
4630 (struct deferred_write): Upgrade type of `extent' and `size' to
4631 `uint64_t'. Update all users.
4632 (last_extent_written): Upgrade type to `uint64_t'. Update all
4633 users.
4634 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4635 Update all users. Upgrade type of `remain' to `int64_t' and
4636 `use' to `size_t'. Use error() to handle fread() errors.
4637 (write_files): Rely on write_one_file() rather than calling
4638 xfwrite() directly.
4639
6a9cead5
FZ
46402009-11-09 Felix Zielcke <fzielcke@z-51.de>
4641
4642 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4643
4825d790
RM
46442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4645
4646 * util/mkisofs/fnmatch.c: Remove.
4647 * util/mkisofs/getopt1.c: Likewise.
4648 * util/mkisofs/getopt.c: Likewise.
4649 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4650 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4651 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4652 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4653 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4654
4655 * configure.ac: Detect `mingw32msvc' host_os.
4656 Check for lstat(), getuid() and getgid().
4657
4658 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4659 instances of `u_char' with `uint8_t'.
4660
4661 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4662 [!HAVE_GETUID] (getuid): New function (stub).
4663 [!HAVE_GETGID] (getgid): Likewise.
4664 [!HAVE_LSTAT] (lstat): Likewise.
4665 [!S_IROTH] (S_IROTH): New macro (dummy).
4666 [!S_IRGRP] (S_IRGRP): Likewise.
4667
84b860d8
RM
46682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4669
4670 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4671 conditional expression).
4672
66e9b712
RM
46732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4674
4675 Import from Gnulib.
4676
4677 * gnulib/fnmatch.c: New file.
4678 * gnulib/fnmatch.h: Likewise.
4679 * gnulib/fnmatch_loop.c: Likewise.
4680 * gnulib/getopt.c: Likewise.
4681 * gnulib/getopt.h: Likewise.
4682 * gnulib/getopt1.c: Likewise.
4683 * gnulib/getopt_int.h: Likewise.
4684 * gnulib/gettext.h: Likewise.
4685
34f4a5b0
RM
46862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4687
4688 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4689 * normal/handler.c (read_handler_list): Likewise.
4690
ac451143
RM
46912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4692
4693 Misc cleanup.
4694
4695 * kern/command.c (grub_register_command_prio): Use
4696 grub_zalloc() instead of explicitly zeroing data.
4697 * kern/list.c: Include `<grub/mm.h>'.
4698 (grub_named_list_find): Replace `0' with `NULL'.
4699 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4700 (fs_module_list): Change type to `grub_named_list_t'. Update all
4701 users.
4702 * normal/dyncmd.c (read_command_list): Add space between function
4703 call and parenthesis.
4704 * normal/handler.c (read_handler_list): Likewise.
4705
4089b167
RM
47062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4707
4708 * normal/auth.c (punishment_delay): Moved from here ...
4709 (grub_auth_strcmp): ... to here (inside function).
4710
325f5037
RM
47112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4712
4713 * include/grub/list.h (struct grub_named_list): Remove `const'
4714 qualifier from `name'.
4715 (struct grub_prio_list): Likewise.
4716
7aea29a3
RM
47172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4718
4719 * normal/auth.c: Include `<grub/time.h>'.
4720 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4721
3fd6f044
RM
47222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4723
4724 * normal/auth.c (punishment_delay): New variable.
4725 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4726 (grub_auth_check_authentication): Punish failed login attempts with
4727 an incremental (2^N) delay.
4728
a4cd68e4
RM
47292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4730
4731 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4732 path with $(srcdir).
4733
7ad12f43
VS
47342009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4737
c1129f03
RM
47382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4739
4740 * util/i386/coreboot/grub-mkrescue.in: New file.
4741 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4742 variables.
4743
4744 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4745 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4746 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4747 requirements.
4748 * util/mkisofs/defaults.h: New file.
4749 * util/mkisofs/eltorito.c: Likewise.
4750 * util/mkisofs/exclude.h: Likewise.
4751 * util/mkisofs/fnmatch.c: Likewise.
4752 * util/mkisofs/getopt.c: Likewise.
4753 * util/mkisofs/getopt1.c: Likewise.
4754 * util/mkisofs/hash.c: Likewise.
4755 * util/mkisofs/include/fctldefs.h: Likewise.
4756 * util/mkisofs/include/mconfig.h: Likewise.
4757 * util/mkisofs/include/prototyp.h: Likewise.
4758 * util/mkisofs/include/statdefs.h: Likewise.
4759 * util/mkisofs/iso9660.h: Likewise.
4760 * util/mkisofs/joliet.c: Likewise.
4761 * util/mkisofs/match.c: Likewise.
4762 * util/mkisofs/match.h: Likewise.
4763 * util/mkisofs/mkisofs.c: Likewise.
4764 * util/mkisofs/mkisofs.h: Likewise.
4765 * util/mkisofs/multi.c: Likewise.
4766 * util/mkisofs/name.c: Likewise.
4767 * util/mkisofs/rock.c: Likewise.
4768 * util/mkisofs/tree.c: Likewise.
4769 * util/mkisofs/write.c: Likewise.
4770
ec8bb77d
VS
47712009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4774 being insecure.
4775
3716b12c
RM
47762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4777
4778 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4779 `grub-mkimage' (and use $0 when possible).
4780
b97b7b91
RM
47812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4782
4783 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4784 error message for excessively large memory map.
4785
04114812
RM
47862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4787
4788 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4789 executable bit.
4790
e4eb2373
RM
47912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4792
4793 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4794 message for coreboot users.
4795
c926e1d5 47962009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4797
4798 Fix build with GNU gold.
4799
4800 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4801 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4802 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4803 link addresses.
4804 * aclocal.m4: Likewise.
4805
86e5b1db 48062009-11-04 Felix Zielcke <fzielcke@z-51.de>
4807
4808 * configure.ac (AC_PREREQ): Bump to 2.59d.
4809 * INSTALL: Make it more clear when Autoconf and Ruby are
4810 needed and when to run `./autogen.sh'.
4811
246cd78f 48122009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4813
4814 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4815 OSes.
4816
4f9dfb37 48172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4818
4819 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4820
b82bd5e1 48212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4822
4823 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4824 giving it to GNU Mach.
4825
ff1a9bca 48262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4827
4828 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4829 GNU partition number to get internal GRUB partition number.
4830
61697d9c 48312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4832
4833 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4834 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4835
a50569e1 48362009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4837
4838 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4839 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4840 case.
4841
5b153867 48422009-11-01 Felix Zielcke <fzielcke@z-51.de>
4843
4844 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4845
d9e2cd70 48462009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4847
4848 Fix build problem.
4849
4850 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4851 `-isystem=$(srcdir)/include'.
4852
805111a4 48532009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4854
4855 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4856 checked (grub-install doesn't currently rely on it).
4857
fa6e945f 48582009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4859
4860 Revert SVN r2660.
4861
4862 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4863 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4864 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4865 * conf/i386-ieee1275.rmk: Likewise.
4866 * conf/i386-pc.rmk: Likewise.
4867 * conf/powerpc-ieee1275.rmk: Likewise.
4868 * conf/sparc64-ieee1275.rmk: Likewise.
4869 * conf/x86_64-efi.rmk: Likewise.
4870
cee15086 48712009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4872
4873 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4874
95b9239e 48752009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4876
4877 * include/grub/misc.h: Stop checking for APPLE_CC.
4878
2ed19dfd 48792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4880
4881 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4882 doesn't cause an infinite call loop.
4883
fdcdde19 48842009-10-28 Felix Zielcke <fzielcke@z-51.de>
4885
4886 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4887 strings.
4888
cefabfe1 48892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4890
4891 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4892 variable.
4893 * Makefile.in: Likewise.
4894
ed96ab6d 48952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4896
4897 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4898
0579b753 48992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4900
4901 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4902
478df409 49032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4904
4905 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4906
083d1679 49072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4908
4909 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4910 from here ...
4911 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4912
5947ae32 49132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4914
4915 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4916 in $(MAKEINFO) invocation. This makes it clear in output that
4917 errors are being ignored.
4918
94180ff6 49192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4920
4921 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4922 from here ...
4923 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4924 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4925 * conf/i386-ieee1275.rmk: Likewise.
4926 * conf/i386-pc.rmk: Likewise.
4927 * conf/powerpc-ieee1275.rmk: Likewise.
4928 * conf/sparc64-ieee1275.rmk: Likewise.
4929 * conf/x86_64-efi.rmk: Likewise.
4930
9031b03a 49312009-10-26 Colin Watson <cjwatson@ubuntu.com>
4932
4933 * util/grub-editenv.c (main): If only a command is given, use
4934 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4935 (usage): FILENAME is now optional and has a default.
4936
e4f6809b 49372009-10-26 Colin Watson <cjwatson@ubuntu.com>
4938
4939 Improve grub-mkconfig performance when there are several menu
4940 entries on a single filesystem.
4941
4942 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4943 prepare_grub_to_access_device.
4944 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4945 * util/grub.d/30_os-prober.in: Likewise.
4946
67937d4d 49472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4948
4949 * util/grub.d/10_freebsd.in: Remove.
4950 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4951 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4952
ee3756cc 49532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4954
5c35048e 4955 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4956
4dea1c6f 49572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4958
4959 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4960 grub_util_error() call.
4961
042484d7 49622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4963
4964 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4965 `reserved_first_sector' member.
4966 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4967 `reserved_first_sector' to 1.
4968 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4969 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4970 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4971 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4972 filesystems which begin at first sector.
4973 (options): New option --skip-fs-probe.
4974 (main): Handle --skip-fs-probe and pass it to setup().
4975
d64448a7 49762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4977
4978 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4979 (memset): Fix function prototype.
4980
508d42ec 49812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
49822009-10-25 Vasily Averin <vvs@parallels.com>
4983
4984 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4985 `dirent.direntlen == 0'.
4986
b240e30c 49872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4988
4989 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4990 `cpio'.
4991 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4992
346e7fbe 49932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4994
4995 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4996 `__trampoline_setup' and `__ucmpdi2'.
4997 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4998 that libgcc provides.
4999
cdb308b0 50002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5001
5002 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5003 * include/grub/sparc64/libgcc.h (memset): Likewise.
5004 * include/grub/misc.h (memset, memcmp): New function prototypes.
5005
fb26abc2 50062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5007
5008 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5009 `cpio'.
5010 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5011
f6693890 50122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5013
5014 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5015 * docs/grub.cfg: Compensate for recent change in multiboot
5016 loader (since 2009-08-14 it won't pass filename to payload).
5017 * util/grub.d/10_hurd.in: Likewise.
5018
0933cdc0 50192009-10-21 Felix Zielcke <fzielcke@z-51.de>
5020
5021 * config.guess: Update to latest version from config git
5022 repository.
5023 * config.sub: Likewise.
5024
3b2fe8c2 50252009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5026
5027 Fix build on sparc64.
5028
5029 * configure.ac: Perform checks for libgcc symbols before
5030 adding `-nostdlib' to LDFLAGS.
5031
46695a62 50322009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 Let user specify OpenBSD root device.
5035
5036 * loader/i386/bsd.c (openbsd_root): New variable.
5037 (openbsd_opts): New option 'root'.
5038 (OPENBSD_ROOT_ARG): New macro.
5039 (grub_openbsd_boot): Use 'openbsd_root'.
5040 (grub_cmd_openbsd): Fill 'openbsd_root'.
5041
d2b6b7fc 50422009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5043
5044 * NEWS: Misc adjustments.
5045
421bd7ac 50462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5049
f1d29d87 50502009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5051
5052 * configure.ac: Bump version to 1.97.
5053
6f3cd880 50542009-10-16 Colin Watson <cjwatson@ubuntu.com>
5055
5056 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5057 -mno-3dnow on x86 architectures. Some toolchains enable these
5058 features by default, but they rely on registers that aren't enabled
5059 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5060
035f7122 50612009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5062
5063 Make entry text a bit more readable.
5064
5065 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5066
44998e58 50672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5070
cd2851b3 50712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5074 operations.
5075
c6f3b249 50762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * configure.ac: Add missing dollar.
5079
6b5886ba 50802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5083
5084 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5085 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5086 exports.
5087 * include/grub/sparc64/libgcc.h: Likewise. Use
5088 preprocessor conditionals.
5089
e9d66f6d 50902009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5091
5092 * conf/common.rmk (grub-dumpbios): Remove rule.
5093 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5094 * util/grub-dumpbios.in: Remove file.
5095
9155bc17 50962009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5097
5098 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5099 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5100
5101 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5102 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5103 users.
5104
5105 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5106 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5107 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5108 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5109 users.
5110
bf7f7a18 51112009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5112
5113 * term/tparm.c: Switch to GPLv3.
5114
86564c26 51152009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5116
5117 * include/grub/i386/cpuid.h: Add header protection.
5118
5c936493 51192009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5120
5121 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5122
5123 * include/grub/i386/cpuid.h: New file.
5124 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5125 (has_longmode): Rename to ...
5126 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5127 `static' attribute.
5128 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5129 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5130 on a CPU that doesn't implement AMD64 instruction set.
5131
186e7cf2 51322009-10-06 Colin Watson <cjwatson@ubuntu.com>
5133
5134 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5135 that version.texi is rebuilt on version number changes.
5136
83b65c4a 51372009-10-06 Colin Watson <cjwatson@ubuntu.com>
5138
5139 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5140 Fixes bug #27602.
5141
d244281c 51422009-10-06 Colin Watson <cjwatson@ubuntu.com>
5143
5144 * util/i386/pc/grub-install.in: Source
5145 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5146 that the --grub-probe option will work.
5147 * util/sparc64/ieee1275/grub-install.in: Likewise.
5148
da25306d 51492009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5150
5151 * configure.ac: Bump version to 1.97~beta4.
5152
e8ee83c0 51532009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5154
5155 Resync grub-mkdevicemap in x86_64-efi.
5156
5157 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5158 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5159 `util/devicemap.c'.
5160
50dcabcf 51612009-10-01 Colin Watson <cjwatson@ubuntu.com>
5162
5163 * util/grub-editenv.c (create_envblk_file): Write new block with a
5164 .new suffix and then rename it into place, to ensure atomic
5165 creation.
5166
0e51c3a7 51672009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5168
5169 Do not automatically install headers.
5170
5171 * Makefile.in (include_DATA): Remove. Update all users.
5172
31299a95 51732009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5174
5175 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5176 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5177
5178 * util/osdetect.lua: Remove.
5179 * script/lua/lauxlib.c: Likewise.
5180 * script/lua/ldebug.c: Likewise.
5181 * script/lua/grub_main.c: Likewise.
5182 * script/lua/lauxlib.h: Likewise.
5183 * script/lua/ldebug.h: Likewise.
5184 * script/lua/ltablib.c: Likewise.
5185 * script/lua/liolib.c: Likewise.
5186 * script/lua/lstrlib.c: Likewise.
5187 * script/lua/lualib.h: Likewise.
5188 * script/lua/ldo.c: Likewise.
5189 * script/lua/ldump.c: Likewise.
5190 * script/lua/ldo.h: Likewise.
5191 * script/lua/loslib.c: Likewise.
5192 * script/lua/lundump.c: Likewise.
5193 * script/lua/grub_lib.c: Likewise.
5194 * script/lua/ldblib.c: Likewise.
5195 * script/lua/lundump.h: Likewise.
5196 * script/lua/lmem.c: Likewise.
5197 * script/lua/grub_lib.h: Likewise.
5198 * script/lua/lmathlib.c: Likewise.
5199 * script/lua/lstate.c: Likewise.
5200 * script/lua/ltm.c: Likewise.
5201 * script/lua/lvm.c: Likewise.
5202 * script/lua/lmem.h: Likewise.
5203 * script/lua/lstate.h: Likewise.
5204 * script/lua/ltm.h: Likewise.
5205 * script/lua/ltable.c: Likewise.
5206 * script/lua/lvm.h: Likewise.
5207 * script/lua/llex.c: Likewise.
5208 * script/lua/lgc.c: Likewise.
5209 * script/lua/grub_lua.h: Likewise.
5210 * script/lua/loadlib.c: Likewise.
5211 * script/lua/lfunc.c: Likewise.
5212 * script/lua/lopcodes.c: Likewise.
5213 * script/lua/lparser.c: Likewise.
5214 * script/lua/ltable.h: Likewise.
5215 * script/lua/llex.h: Likewise.
5216 * script/lua/lgc.h: Likewise.
5217 * script/lua/lfunc.h: Likewise.
5218 * script/lua/lbaselib.c: Likewise.
5219 * script/lua/lopcodes.h: Likewise.
5220 * script/lua/lparser.h: Likewise.
5221 * script/lua/lzio.c: Likewise.
5222 * script/lua/linit.c: Likewise.
5223 * script/lua/lobject.c: Likewise.
5224 * script/lua/llimits.h: Likewise.
5225 * script/lua/lstring.c: Likewise.
5226 * script/lua/lzio.h: Likewise.
5227 * script/lua/lapi.c: Likewise.
5228 * script/lua/lcode.c: Likewise.
5229 * script/lua/lua.h: Likewise.
5230 * script/lua/lobject.h: Likewise.
5231 * script/lua/lstring.h: Likewise.
5232 * script/lua/lapi.h: Likewise.
5233 * script/lua/lcode.h: Likewise.
5234 * script/lua/luaconf.h: Likewise.
5235
cb8a2c38 52362009-09-26 Colin Watson <cjwatson@ubuntu.com>
5237
5238 * docs/grub.texi (Command-line and menu entry commands): Document
5239 date and echo commands.
5240
6b9b6276 52412009-09-24 Pavel Roskin <proski@gnu.org>
5242
5243 * include/grub/kernel.h (struct grub_module_header): Remove
5244 `grub_module_header_types'. Make `type' unsigned. Make `size'
5245 32-bit on all platforms.
5246 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5247 8-bit field. Use grub_host_to_target32() for `size'.
5248 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5249 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5250 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5251
4e5a02a7 52522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5253
5254 Fix "lost keypress" bug in at_keyboard.
5255
5256 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5257 Checks for readyness of input buffer (without flushing it).
5258 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5259 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5260
c6dcedf6 52612009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5262
5263 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5264 size check within GRUB_MACHINE_PCBIOS section.
5265
74c958b1 52662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5267
5268 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5269 return value.
5270 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5271 KEYBOARD_ISREADY check.
5272 (grub_at_keyboard_checkkey): Rename to ...
5273 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5274 Remove gratuitous cast.
5275
ff420223 52762009-09-23 Colin Watson <cjwatson@ubuntu.com>
5277
5278 * configure.ac: Call AC_PROG_MKDIR_P.
5279 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5280 version.texi in $(builddir) rather than $(srcdir).
5281 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5282 to makeinfo's @include search path.
5283
d96875df 52842009-09-23 Felix Zielcke <fzielcke@z-51.de>
5285
5286 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5287
9b3f8365 52882009-09-23 Felix Zielcke <fzielcke@z-51.de>
5289
5290 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5291 for `*.dpkg-new'.
5292
c44c90db 52932009-09-21 Colin Watson <cjwatson@ubuntu.com>
5294
5295 Build info documentation. Some code borrowed from Automake.
5296
5297 * configure.ac: Check for makeinfo.
5298 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5299 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5300 docs/version.texi.
5301 (MOSTLYCLEANFILES): Add vti.tmp.
5302 (docs/version.texi, docs/stamp-vti): Update automatically.
5303 (docs/grub.info): Build info documentation. Use --force and ignore
5304 errors for now.
5305 (all-local): Add $(INFOS).
5306 (install-local): Install info files.
5307 (uninstall): Uninstall info files.
5308 * docs/version.texi: Remove from revision control. This file is
5309 automatically generated on build now.
5310 * gendistlist.sh: Add `*.info'.
5311
e0b37bb5 53122009-09-21 Felix Zielcke <fzielcke@z-51.de>
5313
5314 * kern/term.c: Fix indentation.
5315
5a78865b 53162009-09-21 Felix Zielcke <fzielcke@z-51.de>
5317
5318 * util/hostdisk.c: Fix a comment.
5319
dace7e8a 53202009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5321
5322 Fix regression introduced in r2539.
5323
5324 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5325 to 0xA1.
5326
a83d079b 53272009-09-19 Colin Watson <cjwatson@ubuntu.com>
5328
5329 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5330 os-prober. Under normal operation, it does not print anything to
5331 stderr; if it does, we need to debug it, and throwing away stderr
5332 makes that excessively difficult.
a83d079b 5333
be94a509 53342009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5337
63f745e8 53382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5339
5340 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5341 AC_LANG_PROGRAM from autoconf.
5342 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5343 prototypes (fixes warning).
5344
5345 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5346 `--disable-werror' was used.
5347
bbb2a70f 53482009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5349
5350 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5351 uninitialized `lastaddr'.
5352
77c24f1d 53532009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5354
0f0b8c87 5355 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5356
07197f23 53572009-09-14 Colin Watson <cjwatson@ubuntu.com>
5358
5359 * commands/test.c (get_fileinfo): Return immediately if
5360 grub_fs_probe fails.
5361
dabf1798 53622009-09-14 José Martínez <xosemp@gmail.com>
5363
5364 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5365
d52109a7 53662009-09-14 Colin Watson <cjwatson@ubuntu.com>
5367
5368 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5369 output.
5370
56532179 53712009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5372
5373 * configure.ac: Remove --enable-grub-pe2elf. Only build
5374 grub-pe2elf when needed by the build system itself.
5375 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5376
8ef070f5 53772009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5378
5379 * configure.ac: Bump version to 1.97~beta3.
5380 * docs/version.texi: Likewise.
5381
61229557 53822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5383
5384 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5385 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5386 from here ...
5387 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5388 (grub_linux_setup_video): ... to here (with some adjustments).
5389
5c9f8d84 53902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5391
5392 Fix memory corruption issue (spotted by Colin Watson).
5393
5394 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5395 causing returned size to be stored in an incorrect memory location.
5396 Fix use of uninitialized value when storing the returned size.
5397
e8f5d6e9 53982009-09-12 Yves Blusseau <blusseau@zetam.org>
5399
5400 Change clean rules to properly remove files
5401
5402 * genmk.rb: add new clean rules
5403 * Makefile.in (clean): add the new targets
5404 (mostlyclean): likewise
5405
cda2a409 54062009-09-11 Colin Watson <cjwatson@ubuntu.com>
5407
5408 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5409 to grub_uint64_t.
5410 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5411 non-resident files.
5412
86695375 54132009-09-11 Colin Watson <cjwatson@ubuntu.com>
5414
5415 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5416 part of bug #27349.
5417
8aa1541a 54182009-09-10 Felix Zielcke <fzielcke@z-51.de>
5419
5420 * util/grub-mkconfig.in: Make the created config mode 400 and
5421 print a warning if it fails.
5422
48d9bb0a 54232009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5424
5425 * util/grub.d/40_custom.in: Ask user to type custom entries below
5426 comment, rather than below 'exec tail' line.
5427
3b0521be 54282009-09-10 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5431 visible in grub.cfg.
5432
50051d55 54332009-09-10 Colin Watson <cjwatson@ubuntu.com>
5434
5435 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5436 file.
5437
c0d34387 54382009-09-10 Felix Zielcke <fzielcke@z-51.de>
5439
5440 * docs/grub.cfg: Add an example menu entry for memtest86+.
5441
80a608f3 54422009-09-09 Felix Zielcke <fzielcke@z-51.de>
5443
a2094832 5444 * config.guess: Update to latest version from config git.
80a608f3 5445 * config.sub: Likewise.
5446
99423078 54472009-09-08 Colin Watson <cjwatson@ubuntu.com>
5448
5449 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5450 unknown-command case. Fixes bug #27320.
5451
44454e4c 54522009-09-08 Felix Zielcke <fzielcke@z-51.de>
5453
5454 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5455 `help' if the command exists.
5456
e30d87ad 54572009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5458
5459 * INSTALL: Require GCC 4.1.3 or later.
5460
9a86f1ec 54612009-09-06 Yves Blusseau <blusseau@zetam.org>
5462
5463 * Makefile.in (RMKFILES): add i386-qemu.rmk
5464 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5465 $(srcdir)/stamp-h.in
5466
7f26d466 54672009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5468
5469 * util/grub-probe.c (probe): Comment out buggy codepath, which
5470 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5471 should be re-enabled after 1.97.
5472
3a613259 54732009-09-05 Felix Zielcke <fzielcke@z-51.de>
5474
5475 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5476 find searches for.
5477
197f76c7 54782009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5481 unnecessary calls to grub_error.
5482
70ba68ce 54832009-09-04 Colin Watson <cjwatson@ubuntu.com>
5484
5485 * NEWS: Mention `keystatus' and Unicode fonts.
5486
4ff0d7a4 54872009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5488
5489 * configure.ac: Bump version to 1.97~beta2.
5490 * docs/version.texi: Likewise.
5491
77c55a87 54922009-09-03 Colin Watson <cjwatson@ubuntu.com>
5493
5494 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5495 containing unwind information in some cases where it previously did
5496 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5497 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5498 discussion.
5499
f79572cd 55002009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5501
5502 Embedding loadenv module into grub-emu
5503
5504 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5505 commands/loadenv.c
5506 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5512
93a81088 55132009-09-03 Magnus Granberg <zorry@ume.nu>
5514
5515 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5516 include -fPIE in the default specs.
5517 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5518 to TARGET_CFLAGS.
5519
160034b2 55202009-09-03 Felix Zielcke <fzielcke@z-51.de>
5521
5522 * INSTALL: Note that GNU Bison 2.3 or later is required.
5523
087c07c4 55242009-09-03 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * kern/i386/pc/startup.S: Fix typo.
5527
cbf978c0 55282009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5531 according to GCS.
5532
55332009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 5534
5535 * docs/grub.texi (Naming convention): Describe one-based partition
5536 numbering.
5537 (Device syntax): Likewise.
5538 (File name syntax): Likewise.
5539 (Block list syntax): Likewise.
5540 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5541 menu.lst.
5542 (File name syntax): Likewise.
5543 (Command-line and menu entry commands): Document acpi, blocklist,
5544 crc, export, insmod, keystatus, ls, set, and unset commands.
5545
f3e8cdfd 55462009-09-02 Colin Watson <cjwatson@ubuntu.com>
5547
5548 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5549 to avoid implying that only one of --shift, --ctrl, or --alt may be
5550 used.
5551
c0bc232b 55522009-09-02 Colin Watson <cjwatson@ubuntu.com>
5553
5554 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5555 rather than comparing against S_IFREG, which will almost never work.
5556
aa0f752d 55572009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5560 (write_blocklists): Likewise.
5561
ecb3166a 55622009-09-01 Colin Watson <cjwatson@ubuntu.com>
5563
5564 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5565 argument to grub_printf.
5566
c403a125 55672009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 5568
5569 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 5570 non GNU test.
31aba781 5571
b5e7312c 55722009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * kern/file.c (grub_file_read): Spelling fix
5575
fe00f472 55762009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5579 loading of headers in some cases.
5580
cc55302e 55812009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5582
5583 * configure.ac: Bump version to 1.97~beta1.
5584 * docs/version.texi: Likewise.
5585
5c90cdd2 55862009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 5587
5588 * include/grub/i386/xnu.h: Add license header.
5589 include grub/err.h explicitly.
5590
c90edae4 55912009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5592
5593 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5594 to `ufs' in the vfs.root.mountfrom kernel parameter.
5595
d8888b5c 55962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5597
5598 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5599
5600 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5601 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5602
5603 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5604 `ARRAY_SIZE' macro.
5605
6f07b921 56062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * kern/file.c (grub_file_read): Check offset.
5609 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5610 * fs/jfs.c (grub_jfs_read_file): Likewise.
5611 * fs/ntfs.c (grub_ntfs_read): Likewise.
5612 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5613 * fs/minix.c (grub_minix_read_file): Correct offset check.
5614 * fs/ufs.c (grub_ufs_read_file): Likewise.
5615
b4f34077 56162009-08-28 Colin Watson <cjwatson@ubuntu.com>
5617
5618 * term/i386/pc/console.c (bios_data_area): Cast
5619 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5620
e7c69859 56212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 1-bit optimised blitters.
5624
5625 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5626 prototype.
5627 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5628 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5629 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5630 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5631 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5632 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5633 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5634 function.
5635 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5636 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5637 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5638 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5639 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5640 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5641 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5642 when possible.
5643 * video/video.c (grub_video_get_blit_format): Return
5644 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5645
a57da43f 56462009-08-28 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5649 the first argument to grub_printf.
5650
4cbe67e5 56512009-08-28 Colin Watson <cjwatson@ubuntu.com>
56522009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5653
5654 Add `getkeystatus' terminal method. Add a new `keystatus' command
5655 to query it.
5656
5657 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5658 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5659 modifier key bitmasks.
5660 (struct grub_term_input): Add `getkeystatus' member.
5661 (grub_getkeystatus): Add prototype.
5662 * kern/term.c (grub_getkeystatus): New function.
5663
5664 * include/grub/i386/pc/memory.h
5665 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5666 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5667 Data Area layout.
5668 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5669 (grub_console_term_input): Set `getkeystatus' member.
5670 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5671 constants.
5672 (grub_usb_keyboard_getreport): Likewise.
5673 (grub_usb_keyboard_checkkey): Likewise.
5674 (grub_usb_keyboard_getkeystatus): New function.
5675 (grub_usb_keyboard_term): Set `getkeystatus' member.
5676
5677 * commands/keystatus.c: New file.
5678 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5679 (keystatus_mod_SOURCES): New variable.
5680 (keystatus_mod_CFLAGS): Likewise.
5681 (keystatus_mod_LDFLAGS): Likewise.
5682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5683 commands/keystatus.c.
5684 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5686 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5689 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 5690
6e2a9085 56912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Split befs.mod and afs.mod into *_be.mod and *.mod
5694
5695 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5696 (grub_fstest_SOURCES): Likewise.
5697 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5698 (afs_be_mod_SOURCES): New variable.
5699 (afs_be_mod_CFLAGS): Likewise.
5700 (afs_be_mod_LDFLAGS): Likewise.
5701 (befs_be_mod_SOURCES): Likewise.
5702 (befs_be_mod_CFLAGS): Likewise.
5703 (befs_be_mod_LDFLAGS): Likewise.
5704 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5707 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5708 (grub_emu_SOURCES): Likewise.
5709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5712 * fs/afs_be.c: New file.
5713 * fs/befs_be.c: New file.
5714 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5715 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5716 (U16): Replaced with ...
5717 (grub_afs_to_cpu16): ...this. All users updated.
5718 (U32): Replaced with ...
5719 (grub_afs_to_cpu32): ...this. All users updated.
5720 (U64): Replaced with ...
5721 (grub_afs_to_cpu64): ...this. All users updated.
5722 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5723 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 5724 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 5725 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5726 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5727 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5728 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5729 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5730 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5731 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5732 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5733
32a71655 57342009-08-26 Bean <bean123ch@gmail.com>
5735
5736 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5737 64-bit number.
5738 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5739 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5740 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5741
552bf6c5 57422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 NetBSD memory map support.
5745
5746 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5747 (grub_netbsd_btinfo_mmap_header): New structure.
5748 (grub_netbsd_btinfo_mmap_entry): Likewise.
5749 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5750
1ae2078c 57512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 Enable bsd.mod on coreboot.
5754
5755 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5756 (bsd_mod_SOURCES): New variable.
5757 (bsd_mod_CFLAGS): Likewise.
5758 (bsd_mod_LDFLAGS): Likewise.
5759 (bsd_mod_ASFLAGS): Likewise.
5760 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5761 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5762
beefc598 57632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 Cleanup NetBSD root support.
5766
5767 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5768 grub_bsd_get_device.
5769 Fix typo.
5770
3b76e68b 57712009-08-25 Felix Zielcke <fzielcke@z-51.de>
5772
5773 * util/grub.d/00_header.in: Move check for the video backend of
5774 gfxterm from here ...
5775 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5776 a suitable video backend.
5777
aea664ea 57782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 Fix breakage in grub-setup.
5781
5782 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5783 "msdos_partition_map".
5784
ff747d50 57852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Fix breakage in normal/auth.c.
5788
5789 * normal/auth.c (grub_iswordseparator): New function.
5790
e7e1f93f 57912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 Authentication support.
5794
5795 * commands/password.c: New file.
5796 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5797 (password_mod_SOURCES): New variable.
5798 (password_mod_CFLAGS): Likewise.
5799 (password_mod_LDFLAGS): Likewise.
5800 (normal_mod_SOURCES): Add normal/auth.c.
5801 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5802 normal/auth.c.
5803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5805 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5807 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5808 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5809 * include/grub/auth.h: New file.
5810 * include/grub/err.h (grub_err_t): New enum value
5811 GRUB_ERR_ACCESS_DENIED.
5812 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5813 'users'.
5814 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5815 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5816 users updated.
5817 * normal/auth.c: New file.
5818 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5819 (grub_cmdline_run): Don't allow to go to command line without
5820 authentication.
5821 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5822 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5823 menuentry without superuser rights.
5824 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5825 user isn't a superuser.
5826
70f1161d 58272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 Save space by inlining misc.c functions.
5830
5831 * kern/misc.c (grub_iswordseparator): Made static.
5832 * kern/misc.c (grub_strcat): Moved from here ...
5833 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5834 * kern/misc.c (grub_strncat): Moved from here ...
5835 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5836 * kern/misc.c (grub_strcasecmp): Moved from here ...
5837 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5838 * kern/misc.c (grub_strncasecmp): Moved from here ...
5839 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5840 * kern/misc.c (grub_isalpha): Moved from here ...
5841 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5842 * kern/misc.c (grub_isdigit): Moved from here ...
5843 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5844 * kern/misc.c (grub_isgraph): Moved from here ...
5845 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5846 * kern/misc.c (grub_tolower): Moved from here ...
5847 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5848
48e40bff 58492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * script/sh/function.c (grub_script_function_find): Cut error message
5852 not to flood terminal.
5853 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5854 limit.
5855 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5856
c385bfc3 58572009-08-24 Colin Watson <cjwatson@ubuntu.com>
5858
5859 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5860 `report' grub_uint8_t *.
5861 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5862 Use a 50-millisecond timeout rather than just repeating
5863 grub_usb_keyboard_getreport 50 times.
5864 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5865
2d21e3e8 58662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 Rename *_partition_map to part_*
5869
5870 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5871 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5872 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5873 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5874 All users updated.
5875 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5876 All users updated.
5877 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5878 * util/grub-probe.c (probe_partmap): Don't transform partition name
5879 to get module name.
5880
dd103c4e 58812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 Fix OpenBSD and NetBSD support.
5884
5885 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5886 memory address conflict.
5887 (OPENBSD_MMAP_ACPI): New definition.
5888 (OPENBSD_MMAP_NVS): Likewise.
5889 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5890 and OPENBSD_MMAP_NVS.
5891 Add memory map terminator
5892 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5893 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5894
16c84d74 58952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Let user specify NetBSD root device.
5898
5899 * loader/i386/bsd.c (netbsd_root): New variable.
5900 (netbsd_opts): New option 'root'.
5901 (NETBSD_ROOT_ARG): New macro.
5902 (grub_netbsd_boot): Use 'netbsd_root'.
5903 (grub_bsd_unload): Free 'netbsd_root'.
5904 (grub_cmd_netbsd): Fill 'netbsd_root'.
5905
adb29902 59062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Support for 64-bit NetBSD.
5909
5910 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5911 point when booting non-FreeBSD.
5912
f5ae9f74 59132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Support --no-smp and --no-acpi for NetBSD.
5916
5917 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5918 (NETBSD_AB_NOACPI): Likewise.
5919 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5920 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5921
de74f136 59222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5925 errors.
5926 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5927 errors. Call grub_error when needed.
5928
e9a925da 59292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * commands/search.c (search_fs): Try searching without autoload first.
5932 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5933 filesystem module explicitly for faster booting.
5934
5174302b 59352009-08-23 Colin Watson <cjwatson@ubuntu.com>
5936
5937 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5938
c8c80635 59392009-08-23 Colin Watson <cjwatson@ubuntu.com>
5940
5941 * util/grub.d/30_os-prober.in: Disable os-prober if
5942 `GRUB_DISABLE_OS_PROBER' was set to true.
5943
71acf5e5 59442009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5945
5946 * partmap/pc.c: Rename to ...
5947 * partmap/msdos.c: ... this. Update all users.
5948 (grub_pc_partition_map): Rename to ...
5949 (grub_msdos_partition_map): ... this. Update all users.
5950
5951 * parttool/pcpart.c: Rename to ...
5952 * parttool/msdospart.c: ... this. Update all users.
5953
5954 * include/grub/pc_partition.h: Rename to ...
5955 * include/grub/msdos_partition.h: ... this. Update all users.
5956 (grub_pc_partition_bsd_entry): Rename to ...
5957 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5958 (grub_pc_partition_disk_label): Rename to ...
5959 (grub_msdos_partition_disk_label): ... this. Update all users.
5960 (grub_pc_partition_entry): Rename to ...
5961 (grub_msdos_partition_entry): ... this. Update all users.
5962 (grub_pc_partition_mbr): Rename to ...
5963 (grub_msdos_partition_mbr): ... this. Update all users.
5964 (grub_pc_partition): Rename to ...
5965 (grub_msdos_partition): ... this. Update all users.
5966 (grub_pc_partition_is_empty): Rename to ...
5967 (grub_msdos_partition_is_empty): ... this. Update all users.
5968 (grub_pc_partition_is_extended): Rename to ...
5969 (grub_msdos_partition_is_extended): ... this. Update all users.
5970 (grub_pc_partition_is_bsd): Rename to ...
5971 (grub_msdos_partition_is_bsd): ... this. Update all users.
5972
5973 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5974 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5975 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5976 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5977 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5978 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5979 (gpt_mod_LDFLAGS): Rename to ...
5980 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5981 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5982 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5983 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5984 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5985 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5986 (part_gpt_mod_LDFLAGS): ... this.
5987 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5988 `pcpart.mod' to `msdospart.mod'.
5989 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5990 to ...
5991 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5992 (msdospart_mod_LDFLAGS): ... this.
5993
c11fded5 59942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5997 (openbsd_opts): Likewise.
5998 (netbsd_opts): Likewise.
5999 (freebsd_flags): Added 0 terminator.
6000 (openbsd_flags): Likewise.
6001 (netbsd_flags): Likewise.
6002 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6003 (grub_cmd_freebsd): Transformed into extended command.
6004 (grub_cmd_openbsd): Likewise.
6005 (grub_cmd_netbsd): Likewise.
6006 (cmd_freebsd): Changed type to grub_extcmd_t.
6007 (cmd_openbsd): Likewise.
6008 (cmd_netbsd): Likewise.
6009 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6010 grub_cmd_openbsd as extended commands.
6011 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6012 cmd_netbsd and cmd_openbsd
6013
11d1c769 60142009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6017
7a9094e5 60182009-08-21 Pavel Roskin <proski@gnu.org>
6019
5496c37e 6020 * Makefile.in (install-local): When checking if a file is in the
6021 build directory, use "test -e" to detect symlinks.
6022
7a9094e5 6023 * Makefile.in (install-local): Remove all files in
6024 $(DESTDIR)$(pkglibdir) before installing new files there.
6025
e53cea11 60262009-08-18 Felix Zielcke <fzielcke@z-51.de>
6027
6028 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6029 grub-mkelfimage.
6030
9aced544 60312009-08-18 Felix Zielcke <fzielcke@z-51.de>
6032
6033 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6034 explicitly specified by the user.
6035
b7da6bab 60362009-08-18 Pavel Roskin <proski@gnu.org>
6037
6038 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6039 grub_uint8_t pointer for data.
6040 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6041 Likewise.
6042 * video/fb/fbutil.c: Remove unnecessary casts.
6043
19f1b335 60442009-08-17 Michal Suchanek <hramrach@centrum.cz>
6045
6046 VBE cleanup.
6047
6048 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6049 (grub_vbe_set_video_mode): Save active mode info
6050 only after setting the mode.
6051 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6052 second argument.
6053
2f467aa9 60542009-08-17 Michal Suchanek <hramrach@centrum.cz>
6055
6056 Rename variables for clarity.
6057
6058 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6059 (active_vbe_mode_info): ... this. All users updated.
6060 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6061 All users updated.
6062 (initial_mode): Rename to ...
6063 (initial_vbe_mode): ... this. All users updated.
6064 (mode_in_use): Rename to ..
6065 (vbe_mode_in_use): ... this. All users updated.
6066 (mode_list): Rename to ..
6067 (vbe_mode_list): ... this. All users updated.
6068 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6069 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6070 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6071 'mode_list_size' to 'vbe_mode_list_size'.
6072 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6073 'best_mode_info' to 'best_vbe_mode_info' and
6074 'best_mode' to 'best_vbe_mode'
6075
6025fcd7 60762009-08-17 Michal Suchanek <hramrach@centrum.cz>
6077
6078 Remove duplicate grub_video_fb_get_video_ptr.
6079
6080 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6081 (grub_video_fb_get_video_ptr): ... this.
6082 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6083 * video/fb/fbutil.c: Add comment about addressing.
6084 (get_data_ptr): Rename to ...
6085 (grub_video_fb_get_video_ptr): ... this. All users updated.
6086 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6087
cc8c6faf 60882009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6089
6090 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6091 grub_dprintf() that was just added.
6092
08aa61f0 60932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6094
6095 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6096 (DEFAULT_VIDEO_MODE): Remove macros.
6097 (grub_linux_boot): Remove assumption that Linux has FB support,
6098 and use "text" as default video mode.
6099
7cef4f75 61002009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6103 grub_dprintf.
6104 * fs/fat.c (grub_fat_read_data): Likewise.
6105
e1f39873 61062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6109 payload.
6110 (grub_module): Likewise.
6111
c166d79e 61122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6115 mbi->cmdline but free playground.
6116
c60cee8e 61172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 Handle group offset on UFS1.
6120
6121 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6122 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6123
c0d8b5d4 61242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Split ufs.mod into ufs1.mod and ufs2.mod.
6127
6128 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6129 (grub_fstest_SOURCES): Likewise.
6130 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6131 (ufs_mod_SOURCES): Remove.
6132 (ufs_mod_CFLAGS): Likewise.
6133 (ufs_mod_LDFLAGS): Likewise.
6134 (ufs1_mod_SOURCES): New variable.
6135 (ufs1_mod_CFLAGS): Likewise.
6136 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6137 (ufs2_mod_SOURCES): New variable.
6138 (ufs2_mod_CFLAGS): Likewise.
6139 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6141 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6142 Likewise.
6143 (grub_emu_SOURCES): Likewise.
6144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6145 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6146 (grub_setup_SOURCES): Likewise.
6147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6148 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6149 (grub_setup_SOURCES): Likewise.
6150 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6151 Likewise.
6152 * fs/ufs2.c: New file.
6153 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6154
d3539132 61552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Framebuffer split.
6158
6159 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6160 subsystem at the end.
6161 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6162 (video_fb_mod_SOURCES): New variable.
6163 (video_fb_mod_CFLAGS): Likewise.
6164 (video_fb_mod_LDFLAGS): Likewise.
6165 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6166 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6167 * video/i386/pc/vbeblit.c: Moved from here ...
6168 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6169 * video/i386/pc/vbefill.c: Moved from here ...
6170 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6171 * video/i386/pc/vbeutil.c: Moved from here ...
6172 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6173 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6174 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6175 * include/grub/i386/pc/vbefill.h: Moved from here ...
6176 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6177 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6178 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6179 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6180 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6181 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6182 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6183 (grub_video_adapter): Added 'get_info_and_fini'.
6184 (grub_video_get_info_and_fini): New prototype.
6185 (grub_video_set_mode): make modestring const char *.
6186 * loader/i386/linux.c (grub_linux_setup_video): Use
6187 grub_video_get_info_and_fini.
6188 (grub_linux_boot): Move modesetting just before booting.
6189 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6190 grub_video_get_info_and_fini.
6191 * video/i386/pc/vbe.c: Moved framebuffer part ...
6192 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6193 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6194 grub_video_fbstd_colors and grub_video_fb_set_palette.
6195 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6196 grub_video_fb_init.
6197 (grub_video_vbe_fini): Use grub_video_fb_fini.
6198 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6199 render_target and use grub_video_fb_set_active_render_target and
6200 grub_video_fb_set_palette.
6201 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6202 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6203 (grub_video_vbe_adapter): Use framebuffer.
6204 * video/video.c (grub_video_get_info_and_fini): New function.
6205 (grub_video_set_mode): Make modestring const char *.
6206 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6207 values are already initialised.
6208
d404ee56 62092009-08-14 Pavel Roskin <proski@gnu.org>
6210
6211 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6212 ABS and APPLE_CC.
6213 * boot/i386/pc/diskboot.S: Likewise.
6214 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6215 sectors allow compilation on MacOSX.
6216 * conf/i386-pc.rmk: Enable unconditional compilation of
6217 lnxboot.img.
6218
9a10df16 62192009-08-13 Colin Watson <cjwatson@ubuntu.com>
6220
6221 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6222 * util/grub.d/00_header.in: Enter interruptible sleep if
6223 GRUB_HIDDEN_TIMEOUT is set.
6224
be3c9ca7 62252009-08-13 Yves Blusseau <blusseau@zetam.org>
6226
6227 * include/grub/symbol.h: Add the LOCAL macro.
6228 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6229 starting with "L_".
6230
1f9e557e 62312009-08-13 Pavel Roskin <proski@gnu.org>
6232
9ca62843 6233 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6234 any modern compilers we support.
6235
1f9e557e 6236 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6237 Use local labels starting with "L_" so that Apple assembler
6238 knows they are local.
6239
81623db6 62402009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6241
6242 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6243 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6244 (bsd_kernel_types): ... this enum.
6245
6246 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6247 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6248 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6249
6250 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6251 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6252 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6253 messages.
6254
f5d35e7a 62552009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6256
6257 * util/grub-dumpdevtree: Moved from here ...
6258 * util/i386/efi/grub-dumpdevtree: ... to here.
6259 (hexify): New function. Converts a string to its hex version.
6260 Generate hex versions of "efi" and "device-properties" by calling
6261 hexify() on the ASCII strings rather than by hardcoding numbers.
6262
d1e1d527 62632009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6264
6265 * fs/jfs.c: Update copyright year.
6266
1ebbe064 62672009-08-08 Felix Zielcke <fzielcke@z-51.de>
6268
6269 * util/grub.d/00_header.in: Fix a comment.
6270 * util/grub.d/10_linux.in: Likewise.
6271 * util/grub.d/10_windows.in: Likewise.
6272 * util/grub.d/10_hurd.in: Likewise.
6273
a78c8d24 62742009-08-08 Felix Zielcke <fzielcke@z-51.de>
6275
6276 * util/grub-mkconfig.in: Allow the user to specify the used font
6277 with GRUB_FONT.
6278
29a6b9e8 62792009-08-08 Pavel Roskin <proski@gnu.org>
6280
b5f16cc4 6281 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6282 available, xfs.mod needs it now.
6283
2f5cb827 6284 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6285 the "g" modifier in sed when the intention is to strip something
6286 once. This fixes comparison of kernels with multiple dashes.
6287
29a6b9e8 6288 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6289 on it. Add missing space before closing bracket. Fix
6290 misleading formatting.
6291
892a3d98 62922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6293
6294 * docs/grub.texi: Major overhaul. Remove all sections that are
6295 specific to GRUB Legacy, or mostly composed of Legacy-specific
6296 information.
6297
ed94253f 62982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6299
6300 * docs/version.texi: New file. Provides version information for
6301 grub.texi.
6302
126d6628 63032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6304
6305 * docs/grub.texi: Update CVS information to SVN.
6306 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6307
998b5aa9 63082009-08-07 Felix Zielcke <fzielcke@z-51.de>
6309
6310 * util/grub-mkconfig.in: Remove a wrong `fi'.
6311
818e094a 63122009-08-07 Felix Zielcke <fzielcke@z-51.de>
6313
6314 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6315 (grub_jfs_uuid): New function.
6316 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6317
b969c52f 63182009-08-07 Felix Zielcke <fzielcke@z-51.de>
6319
6320 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6321 of it to ...
6322 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6323 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6324
7a4894cc 63252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6326
6327 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6328 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6329 Update all users.
6330
6331 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6332 not just "vmlinu[zx]".
6333 Moved from here ...
6334 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6335 all users.
6336
6337 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6338 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6339 all users.
6340
4e2171f8 63412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6342
6343 * util/grub.d/10_freebsd.in: Use an absolute device path for
6344 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6345
6dcfcb32 63462009-08-06 Felix Zielcke <fzielcke@z-51.de>
6347
6348 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6349 handling of multiple abstraction modules.
6350
f56a8756 63512009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6352
6353 Fix a bug resulting in black screen when loading Linux using a
6354 packed video mode.
6355
6356 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6357 function.
6358
6359 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6360 (grub_vbe_bios_getset_dac_palette_width): New function.
6361 (grub_vbe_bios_get_dac_palette_width)
6362 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6363 grub_vbe_bios_getset_dac_palette_width()).
6364
6365 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6366 check for return status.
6367 (grub_vbe_get_video_mode_info): When getting information for a packed
6368 mode (<= 8 bpp), obtain DAC palette width using
6369 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6370 {red,green,blue}_mark_size.
6371
222671b2 63722009-08-04 Felix Zielcke <fzielcke@z-51.de>
6373
ecb1a6d9 6374 * commands/search.c (options): Fix help output to match actual code.
222671b2 6375
f84114f5 63762009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6379 of homegrown code.
6380
bd288a20 63812009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6382
6383 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6384 on XFS or ReiserFS.
6385
8aab5e25 63862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 Support Apple partition map with sector size different from 512 bytes.
6389
6390 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6391 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6392 and 'apart.partmap_size'.
6393
6ad6258a 63942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
63952009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6396
6397 Fix cpuid command.
6398
6399 * commands/i386/cpuid.c (options): New variable.
6400 (grub_cmd_cpuid): Return real error.
6401 (GRUB_MOD_INIT(cpuid)): Declare options.
6402
67459bc6 64032009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6406 valid.
6407
fbc6ab54 64082009-07-31 Bean <bean123ch@gmail.com>
6409
6410 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6411 log2_inode.
6412 (grub_fshelp_node): Move inode field to the end.
6413 (grub_xfs_data): Remove inode field.
6414 (grub_xfs_inode_block): Calculate inode size using sblock.
6415 (grub_xfs_inode_offset): Likewise.
6416 (grub_xfs_read_inode): Calculate inode size using sblock.
6417 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6418 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6419 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6420 to match inode size.
6421 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6422 not accessible when data is null.
6423 (grub_xfs_open): Likewise.
6424
f45d6cfc 64252009-07-31 Bean <bean123ch@gmail.com>
6426
6427 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6428 Don't change pv->disk if it's already set.
6429
6430 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6431 (grub_raid_register): ... here.
6432 (grub_raid_rescan): Removed.
6433
6434 * include/grub/raid.h (grub_raid_rescan): Removed.
6435
6436 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6437 (fstest): Replace grub_raid_rescan with module fini function followed
6438 by init function.
6439
6440 * util/grub-probe.c: Add include file <grub/raid.h>.
6441 (probe_raid_level): New function.
6442 (probe): Detect abstraction by walking the disk device, support two
6443 level of abstraction (LVM on RAID) when detecting partition map.
6444
24443b5a 64452009-07-31 Pavel Roskin <proski@gnu.org>
6446
6447 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6448 to grub_zalloc(), it was erroneous.
6449 Reported by Bean <bean123ch@gmail.com>
6450
a275d9e7 64512009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 6454 embedding zone, not only the first one.
a275d9e7 6455
56c5a47f 64562009-07-29 Joe Auricchio <jauricchio@gmail.com>
6457
6458 * term/gfxterm.c (clear_char): New function.
6459 (grub_virtual_screen_setup): Use clear_char.
6460 (scroll_up): Likewise.
6461 (grub_virtual_screen_cls): Likewise.
6462
67bb323a 64632009-07-29 Felix Zielcke <fzielcke@z-51.de>
6464
6465 * util/deviceiter.c (get_acceleraid_disk_name): New static
6466 function.
6467 (grub_util_iterate_devices): Handle Accelraid devices.
6468 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6469
388a7c75 64702009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6471
6472 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6473 separator for the suggested gfxpayload string (';' collides with the
6474 parser and needs escaping).
6475
3bb7abcf 64762009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6479 Clear direction flag before jumping to OS.
6480 (grub_multiboot2_real_boot): Likewise.
6481
2ddd36d7 64822009-07-28 Felix Zielcke <fzielcke@z-51.de>
6483
6484 * util/i386/pc/grub-install: Fix parsing of --disk-module
6485 option.
6486
c521b62b 64872009-07-28 Felix Zielcke <fzielcke@z-51.de>
6488
6489 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6490 when embedding.
6491
880e0a0c 64922009-07-26 Felix Zielcke <fzielcke@z-51.de>
6493
6494 * util/grub-mkconfig.in (package_version): New variable.
6495 Use it do display the version.
6496
2366e356 64972009-07-25 Felix Zielcke <fzielcke@z-51.de>
6498
6499 * kern/file.c (grub_file_open): Revert to previous check with
6500 grub_errno.
6501
7ad8c80e 65022009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6505 from help line. It's out of sync with code.
6506
72b9658b 65072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6510 entries on failed boot.
6511
77435277 65122009-07-25 Felix Zielcke <fzielcke@z-51.de>
6513
6514 * kern/file.c (grub_file_open): Fix an error check.
6515
fcaa8b21 65162009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6517
35d16c74 6518 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6519 partition map couldn't be identified.
fcaa8b21 6520
48904cd1 65212009-07-23 Pavel Roskin <proski@gnu.org>
6522
ef3c317f 6523 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6524 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6525 case of little endian words becomes just an optimization.
6526 Respect const modifier.
ad8ea1f4 6527 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 6528
48904cd1 6529 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6530 to avoid loss of upper bits if align is unsigned and shorter
6531 than addr.
6532
260c9a89 65332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 UUID support for UFS
6536
6537 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6538 (grub_ufs_uuid): New function.
6539 (grub_ufs_fs): add .uuid
6540
f76ce889 65412009-07-21 Pavel Roskin <proski@gnu.org>
6542
6543 * kern/dl.c (grub_dl_check_header): Make static.
6544
6a6cbcaf 65452009-07-21 Felix Zielcke <fzielcke@z-51.de>
6546
6547 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6548 add drivemap for Vista. It breaks Windows 7.
6549
cffcddb2 65502009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6553 128 bytes
6554
1ef44b80 65552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 Add BFS support
6558
6559 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6560 (grub_fstest_SOURCES): Likewise.
6561 (pkglib_MODULES): Add befs.mod.
6562 (befs_mod_SOURCES): New variable.
6563 (befs_mod_CFLAGS): Likewise.
6564 (befs_mod_LDFLAGS): Likewise.
6565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6566 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6568 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6569 (grub_setup_SOURCES): Likewise.
6570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6571 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6572 (grub_setup_SOURCES): Likewise.
6573 * fs/befs.c: New file.
6574 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6575 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6576 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6577 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6578 (B_KEY_INDEX_ALIGN): New declaration.
6579 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6580 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6581 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6582 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6583 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6584 (grub_afs_mount) [MODE_BFS]: Likewise.
6585 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6586 (grub_afs_fs): Use GRUB_AFS_FSNAME
6587 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6588 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6589 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6590 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6591
4f253044 65922009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6593
6594 * util/getroot.c (find_root_device): Add support for MacOSX.
6595 * util/hostdisk.c: Likewise.
6596
57a55913 65972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * font/font.c (find_glyph): Check whether a font is present to avoid
6600 segmentation fault.
75421ca9 6601
66022009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 6603
6604 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6605
e98cd0c2 66062009-07-20 Pavel Roskin <proski@gnu.org>
6607
6608 * configure.ac: Trim excessively wordy excuses.
6609
1d2d169a 66102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Add symlink, mtime and label support to AtheFS.
6613
6614 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6615 (grub_afs_iterate_dir): Handle symlinks.
6616 (grub_afs_open): Use grub_afs_read_symlink.
6617 (grub_afs_dir): Likewise.
6618 Pass mtime.
6619 (grub_afs_label): New function.
6620 (grub_afs_fs): Add grub_afs_label.
6621 (grub_afs_read_symlink): New function.
6622
186f3189 66232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 Fix AtheFS support.
6626
6627 * fs/afs.c: Fix comments style.
6628 (grub_afs_blockrun): Declare as packed.
6629 (grub_afs_datastream): Likewise.
6630 (grub_afs_bnode): Likewise.
6631 (grub_afs_btree): Likewise.
6632 (grub_afs_sblock): Likewise.
6633 Declare `name' as char.
6634 (grub_afs_inode): Declare as packed.
6635 Change void *vnode to grub_uint32_t unused.
6636 (grub_afs_iterate_dir): Check that key_size is positive.
6637 (grub_afs_mount): Don't read superblock twice.
75421ca9 6638 (grub_afs_dir): Don't free node in case of error,
186f3189 6639 grub_fshelp_find_file already handles this.
6640 (grub_afs_open): Likewise.
6641
5680109e 66422009-07-19 Pavel Roskin <proski@gnu.org>
6643
6644 * Makefile.in: Remove LIBLZO and enable_lzo.
6645 * conf/i386-pc.rmk: Remove lzo support.
6646 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6647 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6648 support.
6649 * kern/i386/pc/lzo1x.S: Remove.
6650 * kern/i386/pc/startup.S: Remove lzo support.
6651 * util/i386/pc/grub-mkimage.c: Likewise.
6652
ac70fa32 66532009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6656 * fs/xfs.c (grub_xfs_dir): Likewise.
6657 * fs/afs.c (grub_afs_dir): Likewise.
6658 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6659 (grub_iso9660_open): Likewise.
6660 * fs/jfs.c (grub_jfs_open): Likewise.
6661 * fs/ext2.c (grub_ext2_dir): Likewise.
6662 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6663 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 6664
eab58da2 66652009-07-16 Pavel Roskin <proski@gnu.org>
6666
d2838156 6667 * configure.ac: Never add "-c" to CFLAGS.
6668
55c70904 6669 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6670
43e6200c 6671 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6672 grub_cv_cc_efiemu should be used.
6673
ce7a733d 6674 * configure.ac: Typo fixes.
6675
eab58da2 6676 * kern/mm.c (grub_zalloc): New function.
6677 (grub_debug_zalloc): Likewise.
6678 * include/grub/mm.h: Declare grub_zalloc() and
6679 grub_debug_zalloc().
6680 * util/misc.c (grub_zalloc): New function.
6681 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6682 instead of grub_malloc(), remove unneeded initializations.
6683 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6684 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6685 * commands/parttool.c (grub_cmd_parttool): Likewise.
6686 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6687 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6688 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6689 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6690 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6691 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6692 (grub_cmd_efiemu_pnvram): Likewise.
6693 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6694 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6695 (grub_iso9660_iterate_dir): Likewise.
6696 * fs/jfs.c (grub_jfs_opendir): Likewise.
6697 * fs/ntfs.c (list_file): Likewise.
6698 (grub_ntfs_mount): Likewise.
6699 * kern/disk.c (grub_disk_open): Likewise.
6700 * kern/dl.c (grub_dl_load_core): Likewise.
6701 * kern/elf.c (grub_elf_file): Likewise.
6702 * kern/env.c (grub_env_context_open): Likewise.
6703 (grub_env_set): Likewise.
6704 (grub_env_set_data_slot): Likewise.
6705 * kern/file.c (grub_file_open): Likewise.
6706 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6707 * loader/i386/multiboot.c (grub_module): Likewise.
6708 * loader/xnu.c (grub_xnu_create_key): Likewise.
6709 (grub_xnu_create_value): Likewise.
6710 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6711 (read_config_file): Likewise.
6712 * normal/menu_entry.c (make_screen): Likewise.
6713 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6714 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6715 * script/sh/script.c (grub_script_parse): Likewise.
6716 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6717 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6718 * video/readers/png.c (grub_png_output_byte): Likewise.
6719 (grub_video_reader_png): Likewise.
6720
830afef7 67212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 6722
6723 Enable all targets that can be built by default
6724
830afef7 6725 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 6726 grub-mkfont and grub-fstest if they can be built
6727
ee293aee 67282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 Fix hang and segmentation fault in grub-emu-usb
6731
6732 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6733 * util/usb.c (grub_libusb_devices): likewise
6734 (grub_libusb_init): rename to ...
6735 (GRUB_MOD_INIT (libusb)):...this
6736 (grub_libusb_fini): rename to ..
6737 (GRUB_MOD_FINI (libusb)):...this
6738 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6739 * include/grub/disk.h (grub_raid_init): removed, it's useless
6740 (grub_raid_fini): likewise
6741 (grub_lvm_init): likewise
6742 (grub_lvm_fini): likewise
6743 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6744 by grub_init_all
6745
94414221 67462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Fix libusb
6749
6750 * Makefile.in (LIBUSB): new macro
6751 * genmk.rb (Utility/print_tail): new method
6752 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6753 (top level): call util.print_tail at the end.
6754
59ade63d 67552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 Make FreeBSD accept zpool.cache
6758
6759 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6760 type is /boot/zfs/zpool.cache
6761
a58da8c7 67622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 Fix 64-bit efiemu
6765
6766 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6767 correct wrong typedef
6768 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6769
20591577 67702009-07-15 Pavel Roskin <proski@gnu.org>
6771
560ca572 6772 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6773 * kern/disk.c (struct grub_disk_cache): Likewise.
6774
e8e8e4fd 6775 * commands/probe.c (options): Typo fix.
6776
fde24e10 6777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6778 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6779 accordingly.
6780 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6781
379c54c1 6782 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6783 the end of "Error" to make the message more readable.
6784
7bd8f5bf 6785 * boot/i386/pc/boot.S (kernel_segment): Remove.
6786 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6787 for destination.
6788
40b132c5 6789 * boot/i386/pc/boot.S (boot_version): Remove.
6790 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6791 Remove.
6792
20591577 6793 * include/grub/i386/pc/boot.h: Sort all offsets.
6794 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6795 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6796 * boot/i386/pc/boot.S: Assert location of every offset listed in
6797 include/grub/i386/pc/boot.h.
6798
2df32b2c 67992009-07-13 Pavel Roskin <proski@gnu.org>
6800
44b5d879 6801 * include/grub/i386/coreboot/machine.h: Rename
6802 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6803 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6804 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6805
17dc3751 6806 * kern/dl.c: Force native word size to suppress warnings when
6807 compiling grub-emu.
6808
2df32b2c 6809 * kern/device.c (grub_device_iterate): Change struct part_ent to
6810 hold the name, not a pointer to it. Use one grub_malloc() per
6811 partition, not two. Free partition_name if grub_malloc() fails.
6812 Set ents to NULL only before grub_partition_iterate() is called.
6813
75c59f59 68142009-07-11 Bean <bean123ch@gmail.com>
6815
6816 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6817 childname.
6818
0ae1bf88 68192009-07-10 Bean <bean123ch@gmail.com>
68202009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6821
6822 * kern/ieee1275/openfw.c (grub_children_iterate)
6823 (grub_devalias_iterate): Fix size evaluation for property or path
6824 strings, which was broken since r2132.
6825
8279cade 68262009-07-07 Pavel Roskin <proski@gnu.org>
6827
7d8a52d3 6828 * commands/search.c (search_file): Merge into ...
6829 (search_fs): ... this. Accept search type as argument.
6830 (grub_cmd_search): Pass search type to search_fs().
6831
25f9a05a 6832 * include/grub/util/console.h: New file.
6833 * util/console.c: Use it instead of grub/machine/console.h.
6834 * util/grub-emu.c: Likewise.
6835
8279cade 6836 * lib/arg.c (find_long_option): Remove.
6837 (find_long): Add `len' argument, make `s' const char *.
6838 (grub_arg_parse): Parse long options in place, not in a
6839 temporary buffer.
6840
4a11b60f 68412009-07-06 Pavel Roskin <proski@gnu.org>
6842
99f68041 6843 * commands/search.c (search_fs): Fix potential NULL pointer
6844 dereference.
6845
4a11b60f 6846 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6847 function pointer.
6848
e110f4de 68492009-07-06 Daniel Mierswa <impulze@impulze.org>
6850
6851 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6852 comparison.
6853
46eeb6a2 68542009-07-05 Pavel Roskin <proski@gnu.org>
6855
bab74958 6856 * include/grub/i386/linux.h (struct linux_kernel_params):
6857 Restore padding3, it's still needed.
6858
46eeb6a2 6859 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6860 FreeBSD.
6861 * util/osdetect.lua: Likewise.
6862
b4a1dc79 68632009-07-05 Bean <bean123ch@gmail.com>
6864
6865 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6866
6867 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6868 (grub_lua_getenv): Likewise.
6869 (grub_lua_setenv): Likewise.
6870 (save_errno): New function.
6871 (push_result): Likewise.
6872 (grub_lua_enum_device): Likewise.
6873 (grub_lua_enum_file): Likewise.
6874 (grub_lua_file_open): Likewise.
6875 (grub_lua_file_close): Likewise.
6876 (grub_lua_file_seek): Likewise.
6877 (grub_lua_file_read): Likewise.
6878 (grub_lua_file_getline): Likewise.
6879 (grub_lua_file_getsize): Likewise.
6880 (grub_lua_file_getpos): Likewise.
6881 (grub_lua_file_eof): Likewise.
6882 (grub_lua_file_exist): Likewise.
6883 (grub_lua_add_menu): Likewise.
6884
6885 * script/lua/grub_lua.h (isupper): New inline function.
6886 (islower): Likewise.
6887 (ispunct): Likewise.
6888 (isxdigit): Likewise.
6889 (strcspn): Change to normal function.
6890 (strpbkr): New function declaration.
6891 (memchr): Likewise.
6892
6893 * script/lua/grub_main.c (scan_str): New function.
6894 (strcspn): Likewise.
6895 (strpbrk): Likewise.
6896 (memchr): Likewise.
6897
6898 * script/lua/linit.c (lualibs): Enable the string library.
6899
6900 * util/osdetect.lua: New file.
6901
2da92295 69022009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6903
6904 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6905 `capabilities' member.
6906
b2582ec9 69072009-07-02 Pavel Roskin <proski@gnu.org>
6908
6909 * genparttoollist.sh: Add missing newline at the end.
6910
32622956 69112009-07-01 Pavel Roskin <proski@gnu.org>
6912
87a7339e 6913 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6914
d23af54e 6915 * util/hostdisk.c (open_device): Remove `const' from
6916 `sysctl_size', as sysctlbyname() can change it (in this case it
6917 doesn't actually happen).
6918
c94b18a9 6919 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6920 using signed long int constants.
6921
c6cd3ef0 6922 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6923 constant to avoid a warning on FreeBSD.
6924
0df63420 6925 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6926 where it's needed.
6927
999577f1 6928 * Makefile.in: Install include/grub/machine symlink.
6929
6f41557f 6930 * Makefile.in: When installing symlinks, use "cp -fR", which
6931 works on FreeBSD and MacOSX.
6932 From Yves Blusseau <cl7m42e02@sneakemail.com>
6933
c8d22988 6934 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6935 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6936
1b96e952 6937 * util/misc.c: Move grub_reboot() and grub_halt() ...
6938 * util/grub-emu.c: ... here. Make main_env static.
6939 * include/grub/util/misc.h: Remove main_env.
6940
2ef0084d 6941 * kern/mm.c: Use correct format to print size_t.
6942
32622956 6943 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6944 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6945 * kern/powerpc/dl.c: Likewise.
6946 * kern/sparc64/dl.c: Likewise.
6947 * kern/x86_64/dl.c: Likewise.
6948
3f7f0cd0 69492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6950
6951 Fix grub-emu build on sparc64-ieee1275.
6952
75421ca9 6953 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6955
211d06b5 69562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6957
6958 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6959 (grub_reboot, grub_halt): New functions.
6960
6961 * util/i386/pc/misc.c: Delete. Update all users.
6962 * util/sparc64/ieee1275/misc.c: Likewise.
6963 * util/powerpc/ieee1275/misc.c: Likewise.
6964
aaf53e3c 69652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6966
6967 * conf/i386.rmk (setjmp_mod_SOURCES)
6968 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6969 * conf/common.rmk (setjmp_mod_SOURCES)
6970 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6971 to use $(target_cpu).
6972 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6973 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6974 * conf/powerpc-ieee1275.rmk: Likewise.
6975 * conf/sparc64-ieee1275.rmk: Likewise.
6976
6977 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6978 $(target_cpu) for kern/$(target_cpu)/dl.c.
6979 * conf/i386-efi.rmk: Likewise.
6980 * conf/i386-ieee1275.rmk: Likewise.
6981 * conf/x86_64-efi.rmk: Likewise.
6982 * conf/i386-coreboot.rmk: Likewise.
6983 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6984 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6985 kern/$(target_cpu)/cache.S.
6986 * conf/sparc64-ieee1275.rmk: Likewise.
6987
a337130b 69882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6989
6990 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6991 type to `grub_uint8_t', and adjust `padding9' accordingly.
6992
c6fe4d53 69932009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6994
b09db61d 6995 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6996
c6fe4d53 6997 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6998 assembly in final jump, using register constraints.
6999
b09db61d 7000 (grub_linux_boot): For text mode, initialize `have_vga' using
7001 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7002
7003 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7004 right before the final jump.
7005
7006 Set `video_mode' to 0x3.
7007
7008 Document initialization of `video_page', `video_mode' and
7009 `video_ega_bx'.
7010
28333ad0 70112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7012
7013 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7014 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7015 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7016
02164e1b 70172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7018
7019 Fix build on Debian / sparc.
7020
7021 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7022
18b6c557 70232009-06-28 Pavel Roskin <proski@gnu.org>
7024
85f2aab6 7025 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7026 fix a warning.
7027
18b6c557 7028 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7029
ad760f81 70302009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7031
7032 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7033 `err'.
7034
87a4623b 70352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7036
7037 Revert r2338.
7038
7039 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7040 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7041 grub_errno / grub_errmsg appropriately.
87a4623b 7042 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7043
8231fb77 70442009-06-27 Pavel Roskin <proski@gnu.org>
70452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7046
7047 * include/grub/dl.h: Include grub/elf.h.
7048 (struct grub_dl): Add symtab field.
7049 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7050 GRUB_MODULES_MACHINE_READONLY.
7051 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7052 of the header for read-only modules.
7053 (grub_dl_unload): Free mod->symtab for read-only modules.
7054 * kern/i386/dl.c: Use mod->symtab.
7055 * kern/powerpc/dl.c: Likewise.
7056 * kern/sparc64/dl.c: Likewise.
7057 * kern/x86_64/dl.c: Likewise.
7058
7059 * conf/i386-qemu.rmk: New file.
7060 * kern/i386/qemu/startup.S: Likewise.
7061 * kern/i386/qemu/mmap.c: Likewise.
7062 * boot/i386/qemu/boot.S: Likewise.
7063 * include/grub/i386/qemu/time.h: Likewise.
7064 * include/grub/i386/qemu/serial.h: Likewise.
7065 * include/grub/i386/qemu/kernel.h: Likewise.
7066 * include/grub/i386/qemu/console.h: Likewise.
7067 * include/grub/i386/qemu/boot.h: Likewise.
7068 * include/grub/i386/qemu/init.h: Likewise.
7069 * include/grub/i386/qemu/machine.h: Likewise.
7070 * include/grub/i386/qemu/loader.h: Likewise.
7071 * include/grub/i386/qemu/memory.h: Likewise.
7072
7073 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7074 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7075 [qemu] (pkglib_IMAGES): Add `boot.img'.
7076 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7077 [qemu] (boot_img_FORMAT): New variables.
7078 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7079 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7080 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7081 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7082 [qemu] (kernel_img_FORMAT): New variables.
7083
7084 * configure.ac: Recognise `i386-qemu'.
7085
7086 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7087 (for no compression).
7088 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7089 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7090 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7091 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7092 ifdefs).
7093
97fe384e 70942009-06-27 Pavel Roskin <proski@gnu.org>
7095
7096 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7097 read.
7098 * efiemu/prepare32.c: Likewise.
7099 * efiemu/prepare64.c: Likewise.
7100
c402ab17 71012009-06-26 Pavel Roskin <proski@gnu.org>
7102
7103 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7104 * include/grub/elf.h: Define symbols without "32" or "64" based
7105 on GRUB_TARGET_WORDSIZE.
7106 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7107 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7108 ELF definitions.
7109 * efiemu/loadcore64.c: Likewise.
7110 * loader/i386/bsd32.c: Likewise.
7111 * loader/i386/bsd64.c: Likewise.
7112 * kern/dl.c: Remove own ELF definitions.
7113 * util/i386/efi/grub-mkimage.c: Likewise.
7114
9bbdfd4d 71152009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7116
7117 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7118 segment 0x0 unconditionally, because the reference generated by
7119 GAS is an absolute address.
7120
a42ce6e9 71212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7122
7123 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7124 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7125
c952cf92 71262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7127
7128 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7129 indexes. Check for -f explicitly.
cc3752ad 7130 (search_file): Improve error message.
7131 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7132
132a0a59 71332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7134
7135 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7136 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7137
387a140c 71382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7139
7140 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7141 * conf/i386-ieee1275.rmk: Likewise.
7142 * conf/i386-coreboot.rmk: Likewise.
7143
7144 * kern/i386/pc/startup.S (grub_stop): Remove function.
7145 * kern/i386/ieee1275/startup.S: Likewise.
7146 * kern/i386/coreboot/startup.S: Likewise.
7147 * kern/i386/misc.S (grub_stop): New function.
7148
41da9665 71492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7150
7151 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7152 * kern/i386/realmode.S (real_to_prot): ... to here.
7153
bf337234 71542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7155
7156 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7157 with `kernel.img'.
7158 (kernel_elf_SOURCES): Rename to ...
7159 (kernel_img_SOURCES): ... this.
7160 (kernel_elf_HEADERS): Rename to ...
7161 (kernel_img_HEADERS): ... this. Update all users.
7162 (kernel_elf_ASFLAGS): Rename to ...
7163 (kernel_img_ASFLAGS): ... this.
7164 (kernel_elf_CFLAGS): Rename to ...
7165 (kernel_img_CFLAGS): ... this.
7166 (kernel_elf_LDFLAGS): Rename to ...
7167 (kernel_img_LDFLAGS): ... this.
7168 * conf/i386-coreboot.rmk: Likewise.
7169 * conf/powerpc-ieee1275.rmk: Likewise.
7170
7171 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7172 with "kernel.img".
7173
f52196ff 71742009-06-21 Pavel Roskin <proski@gnu.org>
7175
c3cee413 7176 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7177 to match nested functions.
7178 * loader/sparc64/ieee1275/linux.c: Likewise.
7179
f52196ff 7180 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7181
58750afc 71822009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7183
7184 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7185 all i386 platforms.
7186
15355c7d 71872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7188
7189 Fix asm file handling on ELF, and remove workarounds.
7190
7191 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7192 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7193 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7194 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7195
3f3ec72b 71962009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Load BSD ELF modules
7199
7200 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7201 and loader/i386/bsd64.c
7202 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7203 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7204 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7205 (grub_freebsd_load_elfmodule32): New declaration
7206 (grub_freebsd_load_elfmoduleobj64): Likewise
7207 (grub_freebsd_load_elf_meta32): Likewise
7208 (grub_freebsd_load_elf_meta64): Likewise
7209 (grub_freebsd_add_meta): Likewise
7210 (grub_freebsd_add_meta_module): Likewise
7211 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7212 (grub_freebsd_add_meta_module): Likewise and move module-specific
7213 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7214 (grub_cmd_freebsd): Add elf-kernel specific parts
7215 based on grub_freebsd_add_meta_module
7216 (grub_cmd_freebsd_module): Add type parsing moved from
7217 grub_freebsd_add_meta_module
7218 (grub_cmd_freebsd_module_elf): New function
7219 (cmd_freebsd_module_elf): New variable
7220 (GRUB_MOD_INIT): Register freebsd_module_elf
7221 * loader/i386/bsd32.c: New file
7222 * loader/i386/bsd64.c: Likewise
7223 * loader/i386/bsdXX.c: Likewise
7224 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7225 (grub_elf64_load): Likewise
7226 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7227 All users updated
7228 (grub_elf64_load_hook_t): Likewise
7229
0db15301 72302009-06-21 Colin Watson <cjwatson@ubuntu.com>
7231
7232 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7233 variable.
7234 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7235 don't write a menu entry for recovery mode.
7236
546796c1 72372009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7238
7239 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7240 after it's no longer needed.
7241
cd7310d5 72422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7243
7244 * include/grub/i386/loader.h (grub_linux_prot_size)
7245 (grub_linux_tmp_addr, grub_linux_real_addr)
7246 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7247 GRUB_MACHINE_PCBIOS.
7248 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7249 common grub_util_info() call to ...
7250 (generate_image): ... here.
7251 Fix use of uninitialized memory, comparison of signed with
7252 unsigned integers and memory leak.
7253 Remove bogus module address message.
7254
ab32d3b5 72552009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7258 grub_raid_register
7259 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7260
024ef597 72612009-06-19 Pavel Roskin <proski@gnu.org>
7262
7263 * configure.ac: Remove stray AC_MSG_CHECKING.
7264
3ac72b51 72652009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7268
e14cd814 72692009-06-18 Pavel Roskin <proski@gnu.org>
7270
7271 * conf/common.rmk: Add fs_file.mod.
7272 * disk/fs_file.c: New file.
7273 * include/grub/disk.h (enum grub_disk_dev_id): Add
7274 GRUB_DISK_DEVICE_FILE_ID.
7275
26586d98 72762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 Fix build with Apple's toolchain. Part 2
7279
7280 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7281 a fake start
7282
26de2bcd 72832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 Fix build with Apple's toolchain. Part 1
7286
7287 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7288 for long calls
7289 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7290 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7291 Apple's toolchain
7292
09b3490b 72932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 Fix warnings
7296
7297 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7298 (decomp_block): initialize ch
7299 use grub_memcpy instead of memcpy
7300
c22a006a 73012009-06-17 Pavel Roskin <proski@gnu.org>
7302
d3638678 7303 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7304 version, use declarations needed to use vga_text as the startup
7305 console.
7306
c22a006a 7307 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7308 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7309 the kernel.
7310 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7311 and grub_at_keyboard_fini(), it's done on module load and
7312 unload.
7313
05b129e0 73142009-06-17 Felix Zielcke <fzielcke@z-51.de>
7315
7316 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7317 file can't be found.
7318 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7319
cf24ed9e 73202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 Fix newline handling
7323
7324 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7325 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7326 (grub_script_yylex): don't segfault on unterminated script
7327 newline terminates command and variable
7328
74aa8e4b 73292009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 avoid double grub_adjust_range call. Bug reported by David Simner
7332
7333 * kern/disk.c (grub_disk_write): change to raw disk access before
7334 calling disk_read
7335
1bd265f3 73362009-06-17 Colin Watson <cjwatson@ubuntu.com>
7337
7338 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7339 spaces, for the benefit of help2man.
7340 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7341
a2d08c06 73422009-06-16 Pavel Roskin <proski@gnu.org>
7343
7344 * kern/i386/halt.c: Include grub/machine/init.h.
7345 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7346
b97bcb19 73472009-06-16 Felix Zielcke <fzielcke@z-51.de>
7348
7349 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7350 drivemap menuentry.
7351
0644f96c 73522009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7353
7354 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7355 `echo' command.
7356
3ef17a2e 73572009-06-16 Pavel Roskin <proski@gnu.org>
7358
7359 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7360 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7361 save %dx, we only need %dl and we never change it.
7362 * boot/i386/pc/cdboot.S: Don't set the root drive.
7363 * boot/i386/pc/pxeboot.S: Likewise.
7364 * include/grub/i386/pc/boot.h: Remove
7365 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7366 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7367 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7368 * kern/i386/pc/init.c (make_install_device): Remove references
7369 to grub_root_drive.
7370 * kern/i386/pc/startup.S: Likewise.
7371 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7372
693fe637 73732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 xnu_uuid command
7376
7377 * commands/xnu_uuid.c: new file
7378 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7379 (xnu_uuid_mod_SOURCES): new variable
7380 (xnu_uuid_mod_CFLAGS): likewise
7381 (xnu_uuid_mod_LDFLAGS): likewise
7382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7383 * conf/i386-ieee1275.rmk: likewise
7384 * conf/i386-pc.rmk: likewise
7385 * conf/powerpc-ieee1275.rmk: likewise
7386 * conf/sparc64-ieee1275.rmk: likewise
7387 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7388
c9da87d0 73892009-06-16 Pavel Roskin <proski@gnu.org>
7390
7391 * configure.ac: Avoid '==' in test command, it's not portable.
7392
9c6f4596 73932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 Probe command
7396
7397 * commands/probe.c: new file
7398 * conf/common.rmk (pkglib_MODULES): add probe.mod
7399 (probe_mod_SOURCES): new variable
7400 (probe_mod_CFLAGS): likewise
7401 (probe_mod_LDFLAGS): likewise
7402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7403 * conf/i386-ieee1275.rmk: likewise
7404 * conf/i386-pc.rmk: likewise
7405 * conf/powerpc-ieee1275.rmk: likewise
7406 * conf/sparc64-ieee1275.rmk: likewise
7407
70b7f9fd 74082009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 Fix handling of string like \"hello\" and "a
7411 b"
7412
7413 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7414 (grub_script_yylex): fix parsing of quoting, escaping and newline
7415
71c79a6b 74162009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7417
dd74360c 7418 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7419 handling
dd74360c 7420
0644f96c 74212009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7422
7423 * util/grub-mkconfig.in: Fix parsing of --output option.
7424
e40893c3 74252009-06-12 Pavel Roskin <proski@gnu.org>
7426
7427 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7428 genmk.rb don't need to be generated or installed.
7429
3a1acfe2 74302009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * commands/i386/pc/drivemap_int13h.S: add more comments
7433
3a4575d4 74342009-06-11 Pavel Roskin <proski@gnu.org>
7435
0658e928 7436 * Makefile.in (uninstall): Uninstall manuals.
7437
ca0388f0 7438 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7439 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7440 and update-grub_lib in two places.
7441 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7442
e3b27c39 7443 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7444 a compiler warning.
7445
3a4575d4 7446 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7447 `entry_lo' to fix variable shadowing.
7448
af1f4f55 74492009-06-11 Christian Franke <franke@computer.org>
7450
7451 * kern/misc.c (__enable_execute_stack): Add missing return type
7452 to prevent gcc warning.
7453
5225e649 74542009-06-11 Felix Zielcke <fzielcke@z-51.de>
7455
7456 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7457
7d83bd47 74582009-06-11 Pavel Roskin <proski@gnu.org>
7459
c1cb63ba 7460 * Makefile.in: Don't rely on any scripts being executable.
7461 Always use $(SHELL) to run shell scripts.
7462
7d83bd47 7463 * configure.ac: Always define ___main if using -nostdlib. This
7464 fixes tests on Cygwin.
7465
948f48e7 74662009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7467
7468 UDF fix
7469
7d83bd47 7470 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 7471 is in bytes and not in blocks
7d83bd47 7472
8ada9bc1 74732009-06-11 Pavel Roskin <proski@gnu.org>
7474
7475 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7476 warning.
7477
25ad2323 74782009-06-11 Felix Zielcke <fzielcke@z-51.de>
7479
7480 * util/grub.d/30_os-prober.in: Fix a comment. Source
7481 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7482 to set the root device. Place drivemap command in the generated
7483 chain entry.
7484
e65acb0c 74852009-06-11 Pavel Roskin <proski@gnu.org>
7486
7487 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7488 have long been resolved.
7489
f285fe2d 74902009-06-11 Colin Watson <cjwatson@ubuntu.com>
7491
bd47b0b5 7492 * util/grub.d/10_linux.in: Capitalise "Linux".
7493
f285fe2d 7494 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7495
a0c62e4e 74962009-06-11 Pavel Roskin <proski@gnu.org>
7497
b6783cb2 7498 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7499 fix a gcc warning and ensure that the function won't ever exit.
7500
dde032e8 7501 * kern/i386/ieee1275/init.c: Add missing prototype for
7502 grub_stop_floppy().
7503
22cd079d 7504 * loader/ieee1275/multiboot2.c [__i386__]: Include
7505 grub/cpu/multiboot.h.
7506
a0c62e4e 7507 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7508 casts to short - they are not portable and cause warnings. Fix
7509 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7510
63963d17 75112009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 Drivemap fixes
7514
7515 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7516 new function
7517 (grub_get_root_biosnumber_saved): new variable
7518 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7519 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 7520 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 7521 %dx after the call if necessary
7522 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7523 (boot_mod_SOURCES): remove
7524 (boot_mod_CFLAGS): remove
7525 (boot_mod_LDFLAGS): remove
7526 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7527 (boot_mod_SOURCES): new variable
7528 (boot_mod_CFLAGS): likewise
7529 (boot_mod_LDFLAGS): likewise
7530 * conf/i386-efi.rmk: likewise
7531 * conf/i386-ieee1275.rmk: likewise
7532 * conf/i386-pc.rmk: likewise
7533 * conf/powerpc-ieee1275.rmk: likewise
7534 * conf/sparc64-ieee1275.rmk: likewise
7535 * conf/x86_64-efi.rmk: likewise
7536 * include/grub/i386/pc/biosnum.h: new file
7537 * lib/i386/pc/biosnum.c: likewise
7538 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7539 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7540 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 7541
33abf7ae 75422009-06-10 Pavel Roskin <proski@gnu.org>
7543
5ac35b35 7544 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7545 Use separate variables. Read only the file size at the end, but
7546 not the checksum that we don't use.
7547
5c5215d5 7548 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7549 Adjust all callers.
7550
27d5fef7 7551 * kern/ieee1275/openfw.c: Remove libc includes.
7552 * kern/ieee1275/cmain.c: Likewise.
7553 * include/grub/ieee1275/ieee1275.h: Likewise.
7554
33abf7ae 7555 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7556 compiler warnings.
7557
19d50c2b 75582009-06-10 Felix Zielcke <fzielcke@z-51.de>
7559
7560 * Makefile.in: Remove all trailing whitespace.
7561 * conf/i386-pc.rmk: Likewise.
7562 * conf/powerpc-ieee1275.rmk: Likewise.
7563 * conf/sparc64-ieee1275.rmk: Likewise.
7564 * docs/grub.texi: Likewise.
7565 * docs/texinfo.tex: Likewise.
7566 * disk/fs_uuid.c: Likewise.
7567 * disk/lvm.c: Likewise.
7568 * disk/scsi.c: Likewise.
7569 * disk/ata.c: Likewise.
7570 * disk/ieee1275/ofdisk.c: Likewise.
7571 * disk/i386/pc/biosdisk.c: Likewise.
7572 * disk/host.c: Likewise.
7573 * disk/raid.c: Likewise.
7574 * disk/efi/efidisk.c: Likewise.
7575 * disk/usbms.c: Likewise.
7576 * disk/memdisk.c: Likewise.
7577 * disk/loopback.c: Likewise.
7578 * kern/powerpc/dl.c: Likewise.
7579 * kern/device.c: Likewise.
7580 * kern/dl.c: Likewise.
7581 * kern/sparc64/dl.c: Likewise.
7582 * kern/ieee1275/ieee1275.c: Likewise.
7583 * kern/term.c: Likewise.
7584 * kern/fs.c: Likewise.
7585 * kern/i386/dl.c: Likewise.
7586 * kern/i386/pc/startup.S: Likewise.
7587 * kern/i386/pc/init.c: Likewise.
7588 * kern/i386/pc/mmap.c: Likewise.
7589 * kern/i386/pc/lzo1x.S: Likewise.
7590 * kern/i386/ieee1275/init.c: Likewise.
7591 * kern/i386/realmode.S: Likewise.
7592 * kern/i386/tsc.c: Likewise.
7593 * kern/partition.c: Likewise.
7594 * kern/corecmd.c: Likewise.
7595 * kern/file.c: Likewise.
7596 * kern/efi/efi.c: Likewise.
7597 * kern/efi/init.c: Likewise.
7598 * kern/efi/mm.c: Likewise.
7599 * kern/main.c: Likewise.
7600 * kern/err.c: Likewise.
7601 * kern/env.c: Likewise.
7602 * kern/disk.c: Likewise.
7603 * kern/generic/millisleep.c: Likewise.
7604 * kern/generic/rtc_get_time_ms.c: Likewise.
7605 * kern/misc.c: Likewise.
7606 * kern/parser.c: Likewise.
7607 * genmk.rb: Likewise.
7608 * configure.ac: Likewise.
7609 * boot/i386/pc/diskboot.S: Likewise.
7610 * boot/i386/pc/pxeboot.S: Likewise.
7611 * boot/i386/pc/boot.S: Likewise.
7612 * boot/i386/pc/lnxboot.S: Likewise.
7613 * boot/i386/pc/cdboot.S: Likewise.
7614 * parttool/pcpart.c: Likewise.
7615 * video/readers/tga.c: Likewise.
7616 * video/video.c: Likewise.
7617 * video/bitmap.c: Likewise.
7618 * lib/envblk.c: Likewise.
7619 * lib/i386/setjmp.S: Likewise.
7620 * fs/xfs.c: Likewise.
7621 * fs/afs.c: Likewise.
7622 * fs/fat.c: Likewise.
7623 * fs/ntfs.c: Likewise.
7624 * fs/udf.c: Likewise.
7625 * fs/affs.c: Likewise.
7626 * fs/iso9660.c: Likewise.
7627 * fs/hfs.c: Likewise.
7628 * fs/fshelp.c: Likewise.
7629 * fs/ext2.c: Likewise.
7630 * fs/jfs.c: Likewise.
7631 * fs/reiserfs.c: Likewise.
7632 * fs/hfsplus.c: Likewise.
7633 * fs/minix.c: Likewise.
7634 * fs/cpio.c: Likewise.
7635 * fs/sfs.c: Likewise.
7636 * fs/ufs.c: Likewise.
7637 * efiemu/prepare.c: Likewise.
7638 * efiemu/loadcore_common.c: Likewise.
7639 * efiemu/runtime/efiemu.sh: Likewise.
7640 * efiemu/runtime/efiemu.S: Likewise.
7641 * efiemu/runtime/efiemu.c: Likewise.
7642 * efiemu/pnvram.c: Likewise.
7643 * efiemu/main.c: Likewise.
7644 * efiemu/i386/pc/cfgtables.c: Likewise.
7645 * efiemu/i386/loadcore64.c: Likewise.
7646 * efiemu/i386/loadcore32.c: Likewise.
7647 * efiemu/loadcore.c: Likewise.
7648 * efiemu/symbols.c: Likewise.
7649 * efiemu/mm.c: Likewise.
7650 * include/grub/autoefi.h: Likewise.
7651 * include/grub/datetime.h: Likewise.
7652 * include/grub/term.h: Likewise.
7653 * include/grub/hfs.h: Likewise.
7654 * include/grub/lvm.h: Likewise.
7655 * include/grub/i386/tsc.h: Likewise.
7656 * include/grub/i386/linux.h: Likewise.
7657 * include/grub/i386/xnu.h: Likewise.
7658 * include/grub/i386/efiemu.h: Likewise.
7659 * include/grub/i386/pc/biosdisk.h: Likewise.
7660 * include/grub/i386/pc/memory.h: Likewise.
7661 * include/grub/i386/pc/vbe.h: Likewise.
7662 * include/grub/parttool.h: Likewise.
7663 * include/grub/video.h: Likewise.
7664 * include/grub/memory.h: Likewise.
7665 * include/grub/fs.h: Likewise.
7666 * include/grub/partition.h: Likewise.
7667 * include/grub/xnu.h: Likewise.
7668 * include/grub/efi/api.h: Likewise.
7669 * include/grub/efi/pe32.h: Likewise.
7670 * include/grub/efi/memory.h: Likewise.
7671 * include/grub/multiboot.h: Likewise.
7672 * include/grub/usbdesc.h: Likewise.
7673 * include/grub/multiboot2.h: Likewise.
7674 * include/grub/acpi.h: Likewise.
7675 * include/grub/efiemu/efiemu.h: Likewise.
7676 * include/grub/disk.h: Likewise.
7677 * include/grub/ieee1275/ieee1275.h: Likewise.
7678 * include/grub/net.h: Likewise.
7679 * include/grub/machoload.h: Likewise.
7680 * include/grub/macho.h: Likewise.
7681 * include/multiboot.h: Likewise.
7682 * genmoddep.awk: Likewise.
7683 * normal/main.c: Likewise.
7684 * normal/menu_entry.c: Likewise.
7685 * normal/menu_viewer.c: Likewise.
7686 * normal/completion.c: Likewise.
7687 * normal/cmdline.c: Likewise.
7688 * normal/misc.c: Likewise.
7689 * normal/datetime.c: Likewise.
7690 * bus/usb/usbtrans.c: Likewise.
7691 * bus/usb/ohci.c: Likewise.
7692 * bus/usb/uhci.c: Likewise.
7693 * bus/usb/usb.c: Likewise.
7694 * mmap/efi/mmap.c: Likewise.
7695 * mmap/i386/pc/mmap_helper.S: Likewise.
7696 * mmap/i386/pc/mmap.c: Likewise.
7697 * mmap/i386/mmap.c: Likewise.
7698 * mmap/i386/uppermem.c: Likewise.
7699 * mmap/mmap.c: Likewise.
7700 * commands/acpi.c: Likewise.
7701 * commands/echo.c: Likewise.
7702 * commands/blocklist.c: Likewise.
7703 * commands/loadenv.c: Likewise.
7704 * commands/usbtest.c: Likewise.
7705 * commands/boot.c: Likewise.
7706 * commands/parttool.c: Likewise.
7707 * commands/search.c: Likewise.
7708 * commands/cat.c: Likewise.
7709 * commands/i386/pc/play.c: Likewise.
7710 * commands/i386/pc/drivemap.c: Likewise.
7711 * commands/i386/pc/vbeinfo.c: Likewise.
7712 * commands/i386/pc/acpi.c: Likewise.
7713 * commands/i386/pc/vbetest.c: Likewise.
7714 * commands/ls.c: Likewise.
7715 * commands/cmp.c: Likewise.
7716 * commands/test.c: Likewise.
7717 * commands/efi/acpi.c: Likewise.
7718 * commands/gptsync.c: Likewise.
7719 * commands/help.c: Likewise.
7720 * partmap/amiga.c: Likewise.
7721 * partmap/apple.c: Likewise.
7722 * partmap/acorn.c: Likewise.
7723 * partmap/pc.c: Likewise.
7724 * partmap/sun.c: Likewise.
7725 * partmap/gpt.c: Likewise.
7726 * script/sh/lexer.c: Likewise.
7727 * script/sh/function.c: Likewise.
7728 * font/font.c: Likewise.
7729 * font/font_cmd.c: Likewise.
7730 * loader/powerpc/ieee1275/linux.c: Likewise.
7731 * loader/efi/chainloader.c: Likewise.
7732 * loader/multiboot_loader.c: Likewise.
7733 * loader/macho.c: Likewise.
7734 * loader/i386/multiboot.c: Likewise.
7735 * loader/i386/linux.c: Likewise.
7736 * loader/i386/pc/linux.c: Likewise.
7737 * loader/i386/pc/multiboot2.c: Likewise.
7738 * loader/i386/pc/chainloader.c: Likewise.
7739 * loader/i386/pc/xnu.c: Likewise.
7740 * loader/i386/bsd_trampoline.S: Likewise.
7741 * loader/i386/efi/linux.c: Likewise.
7742 * loader/i386/multiboot_elfxx.c: Likewise.
7743 * loader/i386/bsd_helper.S: Likewise.
7744 * loader/i386/bsd.c: Likewise.
7745 * loader/i386/linux_trampoline.S: Likewise.
7746 * loader/i386/xnu_helper.S: Likewise.
7747 * loader/i386/xnu.c: Likewise.
7748 * loader/i386/bsd_pagetable.c: Likewise.
7749 * loader/i386/multiboot_helper.S: Likewise.
7750 * loader/xnu.c: Likewise.
7751 * loader/xnu_resume.c: Likewise.
7752 * io/gzio.c: Likewise.
7753 * term/efi/console.c: Likewise.
7754 * term/terminfo.c: Likewise.
7755 * term/ieee1275/ofconsole.c: Likewise.
7756 * term/i386/pc/serial.c: Likewise.
7757 * term/i386/pc/vesafb.c: Likewise.
7758 * term/i386/pc/vga.c: Likewise.
7759 * term/usb_keyboard.c: Likewise.
7760 * term/gfxterm.c: Likewise.
7761 * aclocal.m4: Likewise.
7762 * util/lvm.c: Likewise.
7763 * util/grub.d/30_os-prober.in: Likewise.
7764 * util/grub.d/10_hurd.in: Likewise.
7765 * util/console.c: Likewise.
7766 * util/grub-macho2img.c: Likewise.
7767 * util/grub-probe.c: Likewise.
7768 * util/hostfs.c: Likewise.
7769 * util/i386/pc/grub-mkimage.c: Likewise.
7770 * util/i386/pc/grub-setup.c: Likewise.
7771 * util/i386/efi/grub-mkimage.c: Likewise.
7772 * util/grub-mkconfig.in: Likewise.
7773 * util/raid.c: Likewise.
7774 * util/resolve.c: Likewise.
7775 * util/grub-mkdevicemap.c: Likewise.
7776 * util/grub-emu.c: Likewise.
7777 * util/getroot.c: Likewise.
7778 * util/hostdisk.c: Likewise.
7779 * util/usb.c: Likewise.
7780 * util/grub-editenv.c: Likewise.
7781 * util/misc.c: Likewise.
7782
d2d49665 77832009-06-10 Felix Zielcke <fzielcke@z-51.de>
7784
7785 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7786 `genparttoollist.sh'.
7787 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7788 Add `*.sh' to the list find searches for and change `mdate.sh'
7789 to `mdate-sh'.
7790
fe052e37 77912009-06-10 Pavel Roskin <proski@gnu.org>
7792
2763ac18 7793 * include/grub/multiboot2.h: Provide compatibility defines for
7794 multiboot2.h.
7795 * include/multiboot2.h: Include stdint.h only if needed, using
7796 angle brackets.
7797 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7798 grub/multiboot2.h.
7799 * loader/ieee1275/multiboot2.c: Likewise.
7800 * loader/multiboot2.c: Likewise.
7801 * loader/multiboot_loader.c: Likewise.
7802
437e6adc 7803 * configure.ac: Use -nostdlib when probing for the target. It
7804 should not be required to have libc for the target.
7805
06a6836c 7806 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7807 they fail without libc headers for the target.
7808 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7809 exports.
7810 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7811 preprocessor conditionals.
7812
fe052e37 7813 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7814 build system doesn't need to be aware of the tar.c internals.
7815
afd22553 78162009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7817
afd22553 7818 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7819
6b787c4f 78202009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7821
7822 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7823 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7824
78252009-06-09 Felix Zielcke <fzielcke@z-51.de>
7826
7827 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7828 aren't available if ata.mod gets used.
6b787c4f 7829
473d1e45 78302009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7831
473d1e45 7832 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7833 initialising controller.
473d1e45 7834 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7835
255a27d4 78362009-06-08 Felix Zielcke <fzielcke@z-51.de>
7837
7838 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7839 to choose between ata and biosdisk module on i386-pc.
7840
473d1e45 78412009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7842
d55842d8 7843 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7844 Subclass and Programming Interface fields in terms of the 3 byte
7845 Class Code register.
7846 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7847
fa5db0b1 7848 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7849 interface is OHCI. Add grub_dprintf for symmetry with
7850 bus/usb/uhci.c.
7851 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7852 interface is UHCI. Add interf variable for programming
7853 interface. Print interface with class/subclass.
7854
c0947beb 7855 * bus/usb/ohci.c: Set interf with correct field.
7856
69da8877 7857 * bus/usb/uhci.c: Remove unneeded doubled lines.
7858 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7859 Remove whitespace inside comment.
7860
9e172e30 78612009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7862
7863 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7864 as fallback an equivalent option without depth.
7865
de65ee2b 78662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Not fail if unable to retrieve C/H/S on LBA disks
7869
473d1e45 7870 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7871 if unable to retrieve C/H/S on LBA disks
7872
b57ea2c9 78732009-06-08 Pavel Roskin <proski@gnu.org>
7874
7875 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7876 about aliasing.
7877
af361263 78782009-06-08 Felix Zielcke <fzielcke@z-51.de>
7879
7880 * Makefile.in (uninstall): Remove all $lib_DATA files.
7881
4c9ec6b3 78822009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 Bugfix: install on partitionless device
7885
7886 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7887 is a whole disk
7888
e76fc924 78892009-06-08 Felix Zielcke <fzielcke@z-51.de>
7890
7891 * Makefile.in (uninstall): Remove all $include_DATA files.
7892
ba5a0d05 78932009-06-08 Felix Zielcke <fzielcke@z-51.de>
7894
7895 * commands/true.c: New file. Implement the true and false commands.
7896 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7897 (true_mod_SOURCES): New variable.
7898 (true_mod_CFLAGS): Likewise.
7899 (true_mod_LDFLAGS): Likewise.
7900
c8048e32 79012009-06-05 Colin D Bennett <colin@gibibit.com>
7902
7903 Optimized font character lookup using binary search instead of linear
7904 search. Fonts now are required to have the character index ordered by
7905 code point.
7906
7907 * font/font.c (load_font_index): Verify that fonts have ordered
7908 character indices.
7909 (find_glyph): Use binary search instead of linear search to find a
7910 character in a font.
7911
408305be 79122009-06-05 Michael Scherer <misc@mandriva.org>
7913
7914 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7915 uses case sensitive btree.
7916 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7917 only for case insensitive filesystems.
7918
8ee1e0d9 79192009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7922 * conf/common.rmk (search_mod_CFLAGS): likewise
7923
a9966eb1 79242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7925
473d1e45 7926 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7927 compensate a compiler bug
7928
9e7100fb 79292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7930
473d1e45 7931 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7932 instead of '\b'
473d1e45 7933
ede21d71 79342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 Definitions for creating asm symbols with Apple's CC
7937
7938 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7939 [APPLE_CC] (VARIABLE): likewise
7940
9dbf7653 79412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Disable lnxboot.img when compiled
7944 with Apple's CC
7945
7946 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7947 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7948 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7949 [! APPLE_CC] (CODE_LENG): skip
7950 [! APPLE_CC] (setup_sects): likewise
7951 [! APPLE_CC]: skip filling
473d1e45 7952
e93cdc3d 79532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Address in trampolines based on 32-bit registers when compiled
7956 with Apple's CC
7957
473d1e45 7958 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7959 for addresses
7960 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7961
6c688477 79622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7965
7966 * kern/misc.c [APPLE_CC] (memcpy): new function
7967 [APPLE_CC] (memmove): likewise
7968 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7969 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7970 (memset): likewise
7971 (abort): likewise
7972 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7973 APPLE_CC are defined
7974 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7975 (grub_assert_fail): make prototype conditional
7976
e37ffc5c 79772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7980
473d1e45 7981 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7982 grub-macho2img
e37ffc5c 7983 (CLEANFILES): add grub-macho2img
7984 (grub_macho2img_SOURCES): new variable
7985 * kern/i386/pc/startup.S (bss_start): new variable
7986 (bss_end): likewise
7987 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7988 * util/grub-macho2img.c: new file
7989
cf00df31 79902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Use objconv when compiling with Apple's CC
7993
7994 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7995 (efiemu64.o): likewise
7996 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7997 when compiling with Apple's CC
7998 (efiemu64_s.o): likewise
7999 * configure.ac: check for objconv when compiling with Apple's CC
8000 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8001
d119a20c 80022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 Define segment as well as section when compiling with
8005 Apple's CC
8006
8007 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8008 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8009 (efiemu_convert_pointer): likewise
8010 (efiemu_set_virtual_address_map): likewise
8011 (efiemu_convert_pointer): likewise
8012 (efiemu_getcrc32): likewise
8013 (init_crc32_table): likewise
8014 (reflect): likewise
8015 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8016 (GRUB_MOD_DEP): likewise
473d1e45 8017
c8600122 80182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 Allow a compilation without -mcmodel=large
8021
8022 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8023 when compiled without -mcmodel=large
473d1e45 8024 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8025 without -mcmodel=large
473d1e45 8026 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8027 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8028
e8df1d4e 80292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Remove nested functions in efiemu core
8032
8033 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8034
cc6c3ac1 80352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8038
8039 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8040 temporary storage
473d1e45 8041 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8042 using Apple's CC
cc6c3ac1 8043 (grub_cpu_is_tsc_supported): likewise
8044 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8045
3e325901 80462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Absolute addressing through constant with Apple's cc
8049
8050 * kern/i386/pc/startup.S: Define necessary constants
8051 and address through it when using ABS with Apple's CC
8052 * boot/i386/pc/diskboot.S: likewise
8053 * boot/i386/pc/boot.S: likewise
8054 * boot/i386/pc/lnxboot.S: likewise
8055 * boot/i386/pc/cdboot.S: likewise
8056 * mmap/i386/pc/mmap_helper.S: likewise
8057 * commands/i386/pc/drivemap_int13h.S: likewise
8058
2b167a72 80592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 Check if compiler is apple cc
8062
8063 * Makefile.in (ASFLAGS): new variable
8064 (TARGET_ASFLAGS): likewise
8065 (TARGET_MODULE_FORMAT): likewise
8066 (TARGET_APPLE_CC): likewise
8067 (OBJCONV): likewise
8068 (TARGET_IMG_CFLAGS): likewise
8069 (TARGET_CPPFLAGS): add includedir
8070 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8071 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8072 Check for linker script only if compiler isn't Apple's CC
8073 (TARGET_MODULE_FORMAT): set
8074 (TARGET_APPLE_CC): likewise
8075 (TARGET_ASFLAGS): likewise
8076 (ASFLAGS): likewise
8077 Check for objcopy only if compiler isn't Apple's CC
8078 Check for BSS symbol only if compiler isn't Apple's CC
8079 * genmk.rb: adapt nm options if we use Apple's utils
8080 * aclocal.m4 (grub_apple_cc): new test
8081 (grub_apple_target_cc): likewise
473d1e45 8082
fb14123e 80832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 Simplify sed expressions and improve awk
8086
8087 * Makefile.in (install-local): simplify sed expression
8088 * gencmdlist.sh: likewise
8089 * genmoddep.awk: avoid adding module as a dependency of itself
8090
5b889789 80912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 Add missing start symbols
8094
8095 * boot/i386/pc/boot.S: add start
fb14123e 8096 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8097
fd2bf2e3 80982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8101
8102 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8103 (relocate_addresses): consider both r_addend and value at offset
8104 (make_mods_section): zerofill modinfo and header
8105 (convert_elf): write prefix here
473d1e45 8106
5389763d 81072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 Use .asciz instead of .string
8110
8111 * i386/pc/diskboot.S: use .asciz instead of .string
8112 * i386/pc/boot.S: likewise
8113 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8114 (GRUB_MOD_NAME): likewise
473d1e45 8115
3eb5ed4e 81162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 gfxpayload support
8119
8120 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8121 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8122 (grub_video_setup): remove
8123 (grub_video_set_mode): new prototype
8124 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8125 (vid_mode): remove
8126 (linux_vesafb_res): compile only on PCBIOS
8127 (grub_linux_boot): support gfxpayload
8128 * loader/i386/pc/xnu.c (video_hook): new function
8129 (grub_xnu_set_video): support gfxpayload
8130 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8131 (DEFAULT_VIDEO_HEIGHT): likewise
8132 (DEFAULT_VIDEO_FLAGS): likewise
8133 (DEFAULT_VIDEO_MODE): new definition
8134 (video_hook): new function
8135 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8136 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8137 loading xnu
8138 * video/video.c (grub_video_setup): removed
473d1e45 8139 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8140 grub_video_setup
8141
4b0e1143 81422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 Avoid calling biosdisk in drivemap
8145
8146 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8147 (revparse_biosdisk): likewise
8148 (list_mappings): derive name from id directly
8149 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8150
fda6cb98 81512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 Script fixes
8154
8155 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8156 (grub_lexer_param): add tokenonhold
8157 (grub_script_create_cmdline): remove cmdline. All callers updated
8158 (grub_script_function_create): make functionname
8159 grub_script_arg. All callers updated
8160 (grub_script_execute_argument_to_string): new prototype
8161 * kern/parser.c (state_transitions): reorder
8162 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8163 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8164 make global
8165 (grub_script_execute_cmdline): use new format
8166 * script/sh/function.c (grub_script_function_create): make functionname
8167 grub_script_arg. All callers updated
473d1e45 8168 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8169 (grub_script_yylex): remove
8170 (grub_script_yylex2): renamed to ...
8171 (grub_script_yylex): ...renamed
8172 parse the expressions like a${b}c
8173 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8174 (GRUB_PARSER_TOKEN_VAR): remove
8175 (GRUB_PARSER_TOKEN_NAME): likewise
8176 ("if"): declare as typeless
8177 ("while"): likewise
8178 ("function"): likewise
8179 ("else"): likewise
8180 ("then"): likewise
8181 ("fi"): likewise
8182 (text): remove
8183 (argument): likewise
8184 (script): accept empty scripts and make exit on error
8185 (arguments): use GRUB_PARSER_TOKEN_ARG
8186 (function): likewise
8187 (command): move error handling to script
8188 (menuentry): move grub_script_lexer_ref before
473d1e45 8189 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8190 argument. All callers updated
8191
f4448a07 81922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8193
8194 Prevent GRUB from probing floppies during boot.
8195
8196 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8197 * commands/search.c (options): Add --no-floppy.
8198 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8199 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8200 --no-floppy when searching for UUIDs.
8201
2bf5885a 82022009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8203
8204 Simplify the code duplication in commands/search.c.
8205
8206 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8207 (search_fs): ... this. Update all users.
8208
f6fd460a 82092009-06-03 Felix Zielcke <fzielcke@z-51.de>
8210
8211 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8212
cbb3c83e 82132009-05-28 Pavel Roskin <proski@gnu.org>
8214
57788cfd 8215 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8216 Remove the original symlink explicitly.
8217
cbb3c83e 8218 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8219 just one slash. That's how grub_fshelp_find_file() does it.
8220
cd0d5e30 82212009-05-26 Pavel Roskin <proski@gnu.org>
8222
f0f8bbe2 8223 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8224 to `str'.
8225
cd0d5e30 8226 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8227 possibly unused.
8228
8c2cab51 82292009-05-25 Christian Franke <franke@computer.org>
8230
8231 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8232 register.
8233 (grub_atapi_identify): Add wait after drive select.
8234 (grub_ata_identify): Do more strict status register check before
8235 calling grub_atapi_identify (). Suppress error message if status
8236 register is 0x00 after command failure. Add status register
8237 check after PIO read to avoid bogus identify due to stuck DRQ.
8238 Thanks to Pavel Roskin for testing.
8239 (grub_device_initialize): Remove unsafe status register check.
8240 Thanks to 'phcoder' for problem report and patch.
8241 Prevent sign extension in debug message.
8242
230c0ad6 82432009-05-23 Colin D Bennett <colin@gibibit.com>
8244
8245 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8246 definition file, and functions defined in `normal/menu.c' have had
8247 their prototypes moved to `include/grub/menu.h' for consistency.
8248
8249 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8250 from normal.h.
8251 (grub_menu_get_entry): Likewise.
8252 (grub_menu_get_timeout): Likewise.
8253 (grub_menu_set_timeout): Likewise.
8254 (grub_menu_execute_entry): Likewise.
8255 (grub_menu_execute_with_fallback): Likewise.
8256 (grub_menu_entry_run): Likewise.
8257
8258 * include/grub/normal.h: Re-ordered and grouped function
8259 prototypes by file that the function is defined in.
8260 (grub_menu_execute_callback): Removed; moved to menu.h.
8261 (grub_menu_get_entry): Likewise.
8262 (grub_menu_get_timeout): Likewise.
8263 (grub_menu_set_timeout): Likewise.
8264 (grub_menu_execute_entry): Likewise.
8265 (grub_menu_execute_with_fallback): Likewise.
8266 (grub_menu_entry_run): Likewise.
8267 (grub_menu_addentry): Renamed from this ...
8268 (grub_normal_add_menu_entry): ... to this.
8269
8270 * normal/main.c (grub_menu_addentry): Renamed from this ...
8271 (grub_normal_add_menu_entry): ... to this.
8272
8273 * script/sh/execute.c (grub_script_execute_menuentry): Update
8274 reference to renamed grub_menu_addentry function.
8275
861f03a5 82762009-05-23 Felix Zielcke <fzielcke@z-51.de>
8277
8278 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8279
96b1619a 82802009-05-22 Pavel Roskin <proski@gnu.org>
8281
bf6a5fb2 8282 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8283 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8284 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8285 compiling for the i386 targets, but not for the utilities.
8286
96b1619a 8287 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8288 to grub_uint8_t.
8289 (grub_root_drive): Likewise.
8290 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8291 remove alignment.
8292 (grub_root_drive): Change size to byte.
8293 (grub_start_addr): Remove.
8294 (grub_end_addr): Likewise.
8295 (grub_apm_bios_info): Likewise.
8296
b729776b 82972009-05-21 Felix Zielcke <fzielcke@z-51.de>
8298
8299 * normal/i386: Remove.
8300 * normal/powerpc: Likewise.
8301 * normal/sparc64: Likewise.
8302 * normal/x86_64: Likewise.
8303
0a15ce80 83042009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8307 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8308 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8309
33db9015 83102009-05-18 Colin D Bennett <colin@gibibit.com>
8311
d6da58e6 8312 Display error messages when parsing a Lua statement fails.
8313 Previously, executing a syntactically invalid statement like
8314 ")foo" or "bar;" would silently fail.
33db9015 8315
8316 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8317 (grub_lua_parse_line): Improved reporting of Lua parser and
8318 execution errors.
33db9015 8319
46422c89 83202009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Remove -Werror which causes build to fail on some systems
8323
8324 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8325 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8326 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8327
22f53a96 83282009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 trampoline for linux on 64-bit platform
8331
18f547ad 8332 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8333 loader/i386/efi/linux_trampoline.S
8334 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8335 declaration
d6da58e6 8336 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8337 here
22f53a96 8338 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8339 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8340 trampoline
22f53a96 8341 (jumpvector): removed
8342 (grub_linux_trampoline_start): new declaration
8343 (grub_linux_trampoline_end): likewise
8344 (grub_linux_boot): use trampoline when on 64-bit platform
8345 * loader/i386/linux.c: likewise
8346
cb5a0f40 83472009-05-16 Pavel Roskin <proski@gnu.org>
8348
8349 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8350 const to avoid a warning.
8351 (grub_lua_setenv): Likewise.
8352 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8353 lmsg to fix a warning.
8354
334f2c28 83552009-05-16 Felix Zielcke <fzielcke@z-51.de>
8356
8357 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8358 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8359 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8360 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8361 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8362 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8363 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8364 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8365
59e5d3ec 83662009-05-16 Felix Zielcke <fzielcke@z-51.de>
8367
8368 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8369
9d87a1ba 83702009-05-16 Bean <bean123ch@gmail.com>
8371
8372 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8373 (lua_mod_SOURCES): New variable.
8374 (lua_mod_CFLAGS): Likewise.
8375 (lua_mod_LDFLAGS): Likewise.
8376
8377 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8378 (setjmp_mod_SOURCES): New variable.
8379 (setjmp_mod_CFLAGS): Likewise.
8380 (setjmp_LDFLAGS): Likewise.
8381
8382 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8383 (setjmp_mod_SOURCES): New variable.
8384 (setjmp_mod_CFLAGS): Likewise.
8385 (setjmp_LDFLAGS): Likewise.
8386
8387 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8388 (setjmp_mod_SOURCES): New variable.
8389 (setjmp_mod_CFLAGS): Likewise.
8390 (setjmp_LDFLAGS): Likewise.
8391
8392 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8393 (setjmp_mod_SOURCES): New variable.
8394 (setjmp_mod_CFLAGS): Likewise.
8395 (setjmp_LDFLAGS): Likewise.
8396
8397 * normal/i386/setjmp.S: Moved from here ...
8398 * lib/i386/setjmp.S: ... Moved here
8399 * normal/x86_64/setjmp.S: Moved from here ...
8400 * lib/x86_64/setjmp.S: ... Moved here
8401 * normal/powerpc/setjmp.S: Moved from here ...
8402 * lib/powerpc/setjmp.S: ... Moved here
8403 * normal/sparc64/setjmp.S: Moved from here ...
8404 * lib/sparc64/setjmp.S: ... Moved here
8405
8406 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8407 returns_twice in mingw.
8408
8409 * script/lua/grub_lib.c: New file.
8410 * script/lua/grub_lib.h: Likewise.
8411 * script/lua/grub_lua.h: Likewise.
8412 * script/lua/grub_main.c: Likewise.
8413 * script/lua/lapi.c: Likewise.
8414 * script/lua/lapi.h: Likewise.
8415 * script/lua/lauxlib.c: Likewise.
8416 * script/lua/lauxlib.h: Likewise.
8417 * script/lua/lbaselib.c: Likewise.
8418 * script/lua/lcode.c: Likewise.
8419 * script/lua/lcode.h: Likewise.
8420 * script/lua/ldblib.c: Likewise.
8421 * script/lua/ldebug.c: Likewise.
8422 * script/lua/ldebug.h: Likewise.
8423 * script/lua/ldo.c: Likewise.
8424 * script/lua/ldo.h: Likewise.
8425 * script/lua/ldump.c: Likewise.
8426 * script/lua/lfunc.c: Likewise.
8427 * script/lua/lfunc.h: Likewise.
8428 * script/lua/lgc.c: Likewise.
8429 * script/lua/lgc.h: Likewise.
8430 * script/lua/linit.c: Likewise.
8431 * script/lua/liolib.c: Likewise.
8432 * script/lua/llex.c: Likewise.
8433 * script/lua/llex.h: Likewise.
8434 * script/lua/llimits.h: Likewise.
8435 * script/lua/lmathlib.c: Likewise.
8436 * script/lua/lmem.c: Likewise.
8437 * script/lua/lmem.h: Likewise.
8438 * script/lua/loadlib.c: Likewise.
8439 * script/lua/lobject.c: Likewise.
8440 * script/lua/lobject.h: Likewise.
8441 * script/lua/lopcodes.c: Likewise.
8442 * script/lua/lopcodes.h: Likewise.
8443 * script/lua/loslib.c: Likewise.
8444 * script/lua/lparser.c: Likewise.
8445 * script/lua/lparser.h: Likewise.
8446 * script/lua/lstate.c: Likewise.
8447 * script/lua/lstate.h: Likewise.
8448 * script/lua/lstring.c: Likewise.
8449 * script/lua/lstring.h: Likewise.
8450 * script/lua/lstrlib.c: Likewise.
8451 * script/lua/ltable.c: Likewise.
8452 * script/lua/ltable.h: Likewise.
8453 * script/lua/ltablib.c: Likewise.
8454 * script/lua/ltm.c: Likewise.
8455 * script/lua/ltm.h: Likewise.
8456 * script/lua/lua.h: Likewise.
8457 * script/lua/luaconf.h: Likewise.
8458 * script/lua/lualib.h: Likewise.
8459 * script/lua/lundump.c: Likewise.
8460 * script/lua/lundump.h: Likewise.
8461 * script/lua/lvm.c: Likewise.
8462 * script/lua/lvm.h: Likewise.
8463 * script/lua/lzio.c: Likewise.
8464 * script/lua/lzio.h: Likewise.
8465
5e898c9d 84662009-05-16 Bean <bean123ch@gmail.com>
8467
8468 * include/grub/kernel.h (grub_module_header_types): Add type
8469 OBJ_TYPE_CONFIG.
8470
8471 * kern/main.c (grub_load_config): New function.
8472 (grub_main): Call grub_load_config to read boot config.
8473
8474 * grub-mkimage (generate_image): New parameter config_path.
8475 (options): New option --config.
8476 (main): Parse --config option, and pass it to generate_image.
8477
cf353a47 84782009-05-14 Christian Franke <franke@computer.org>
8479
8480 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8481 This fixes build on Cygwin.
8482
3834887f 84832009-05-14 Pavel Roskin <proski@gnu.org>
8484
8485 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8486 jump. This saves two bytes, so the typical case of 2 swapped
8487 drives would fit 32 bytes.
8488
8090fc01 84892009-05-13 Pavel Roskin <proski@gnu.org>
8490
ac963883 8491 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8492 grub_uint32_t to avoid a warning.
8493
8090fc01 8494 * loader/i386/linux.c (allocate_pages): When assigning
8495 real_mode_mem, cast through grub_size_t to fix a warning. The
8496 code already makes sure that the value would fit a pointer.
8497 (grub_linux_setup_video): Cast render_target->data to
8498 grub_size_t to fix a warning.
8499
18f547ad 85002009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 8501
8502 * commands/i386/pc/drivemap.c: New file - implement drivemap
8503 command.
8504 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8505 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8506
6f6a8b28 85072009-05-13 Pavel Roskin <proski@gnu.org>
8508
8509 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8510 embedding_area_exists.
8511
15fbf4c4 85122009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8513
8514 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8515 it easier to understand / work with.
59978c8a 8516 Improve warning messages for cases where there's no embedding area,
8517 or when it is too small (or core.img too large).
15fbf4c4 8518
238e871f 85192009-05-13 Pavel Roskin <proski@gnu.org>
8520
0ab3a9a4 8521 * loader/i386/pc/multiboot2.c: Add necessary includes for
8522 grub_multiboot2_real_boot().
8523
a2c8c5f8 8524 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8525 PX record is always little-endian. We only need the lower 2
8526 bytes of the mode.
8527
faec96af 8528 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8529 facilitate code reuse.
8530 (grub_cpio_mount): Use "struct head", not a char buffer. This
8531 fixes a warning reported by gcc 4.4.
8532
238e871f 8533 * kernel/disk.c (grub_disk_read): Use void pointer for the
8534 buffer.
8535 (grub_disk_write): Use const void pointer for the buffer.
8536 Adjust all callers. Remove unnecessary casts.
8537
901d2f0c 85382009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8539
8540 * util/i386/pc/grub-install.in: Update copyright year.
8541
18f547ad 85422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 8543
8544 gptsync
8545
8546 * commands/gptsync.c: new file
8547 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8548 (gptsync_mod_SOURCES): new variable
8549 (gptsync_mod_CFLAGS): likewise
8550 (gptsync_mod_LDFLAGS): likewise
18f547ad 8551 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 8552 new definition
8553 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8554 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8555 * conf/i386-ieee1275.rmk: likewise
8556 * conf/i386-pc.rmk: likewise
8557 * conf/powerpc-ieee1275.rmk: likewise
8558
b4ba690a 85592009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 Fixed grub-emu
8562
8563 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8564 (grub_dl_ref): likewise
8565
317e1a44 85662009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8567
8568 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8569 split in two functions (one for msdos and one for gpt).
8570
041b8094 85712009-05-08 Pavel Roskin <proski@gnu.org>
8572
752473c2 8573 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8574 not modified.
8575
041b8094 8576 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8577 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8578 Initialize them with -1. Add sanity check for bad1. Eliminate
8579 nerr variable.
8580
172800ce 85812009-05-08 David S. Miller <davem@davemloft.net>
8582
8583 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8584
29aa5e81 85852009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8586
8587 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 8588 existence.
29aa5e81 8589
96613b62 85902009-05-05 Felix Zielcke <fzielcke@z-51.de>
8591
8592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 8593 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 8594
eef73c8a 85952009-05-05 David S. Miller <davem@davemloft.net>
8596
8597 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8598
119494b5 85992009-05-05 Pavel Roskin <proski@gnu.org>
8600
8601 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8602 of grub_dl_ref() and grub_dl_unref().
8603 * commands/parttool.c: Remove preprocessor conditionals around
8604 grub_dl_ref() and grub_dl_unref().
8605 * fs/affs.c: Likewise.
8606 * fs/afs.c: Likewise.
8607 * fs/cpio.c: Likewise.
8608 * fs/ext2.c: Likewise.
8609 * fs/fat.c: Likewise.
8610 * fs/hfs.c: Likewise.
8611 * fs/hfsplus.c: Likewise.
8612 * fs/iso9660.c: Likewise.
8613 * fs/jfs.c: Likewise.
8614 * fs/minix.c: Likewise.
8615 * fs/ntfs.c: Likewise.
8616 * fs/reiserfs.c: Likewise.
8617 * fs/sfs.c: Likewise.
8618 * fs/udf.c: Likewise.
8619 * fs/ufs.c: Likewise.
8620 * fs/xfs.c: Likewise.
8621 * include/grub/dl.h: Likewise.
8622 * loader/xnu.c: Likewise.
8623
de5fd76e 86242009-05-04 Pavel Roskin <proski@gnu.org>
8625
8626 * commands/acpi.c: Remove unused variable my_mod.
8627 * partmap/amiga.c: Likewise.
8628 * partmap/apple.c: Likewise.
8629 * partmap/gpt.c: Likewise.
8630 * partmap/pc.c: Likewise.
8631 * partmap/sun.c: Likewise.
8632 * term/gfxterm.c: Likewise.
8633 * term/i386/pc/vesafb.c: Likewise.
8634 * term/i386/pc/vga.c: Likewise.
8635
983598ad 86362009-05-04 David S. Miller <davem@davemloft.net>
8637
8638 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8639 pointer args to grub_ieee1275_get_property().
8640
8aadec43 8641 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8642
9554b15e 8643 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8644 devices, and do not traverse down under controller nodes.
8645
67e23c90 8646 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8647 (grub_ofdisk_open): Use it to un-escape "," characters.
8648 * kern/disk.c (find_part_sep): New.
8649 (grub_disk_open): Use it to find the first non-escaped ','
8650 character in the disk name.
8651 * util/ieee1275/devicemap.c (escape_of_path): New.
8652 (grub_util_emit_devicemap_entry): Use it.
8653 * util/sparc64/ieee1275/grub-install.in: Update script to
8654 strip partition specifiers properly by not triggering on
8655 '\' escaped ',' characters.
8656
74bfdd2f 86572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8658
8659 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8660 to 0x300.
8661 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8662 resolutions.
8663 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8664 on documentation from Wikipedia).
8665
4241d2b1 86662009-05-04 Pavel Roskin <proski@gnu.org>
8667
8668 * disk/ata.c: Spelling fixes.
8669 * disk/raid.c: Likewise.
8670 * disk/usbms.c: Likewise.
8671 * disk/dmraid_nvidia.c: Likewise.
8672 * kern/ieee1275/openfw.c: Likewise.
8673 * kern/ieee1275/init.c: Likewise.
8674 * kern/ieee1275/cmain.c: Likewise.
8675 * boot/i386/pc/cdboot.S: Likewise.
8676 * video/readers/png.c: Likewise.
8677 * video/i386/pc/vbe.c: Likewise.
8678 * fs/udf.c: Likewise.
8679 * fs/hfs.c: Likewise.
8680 * fs/reiserfs.c: Likewise.
8681 * efiemu/runtime/efiemu.c: Likewise.
8682 * efiemu/main.c: Likewise.
8683 * efiemu/mm.c: Likewise.
8684 * include/grub/elf.h: Likewise.
8685 * include/grub/xnu.h: Likewise.
8686 * include/grub/usbdesc.h: Likewise.
8687 * include/grub/usb.h: Likewise.
8688 * include/grub/script_sh.h: Likewise.
8689 * include/grub/lib/LzmaEnc.h: Likewise.
8690 * include/grub/efiemu/efiemu.h: Likewise.
8691 * include/grub/command.h: Likewise.
8692 * normal/menu.c: Likewise.
8693 * normal/main.c: Likewise.
8694 * normal/datetime.c: Likewise.
8695 * bus/usb/uhci.c: Likewise.
8696 * mmap/i386/uppermem.c: Likewise.
8697 * mmap/mmap.c: Likewise.
8698 * commands/acpi.c: Likewise.
8699 * commands/test.c: Likewise.
8700 * partmap/apple.c: Likewise.
8701 * font/font.c: Likewise.
8702 * loader/sparc64/ieee1275/linux.c: Likewise.
8703 * loader/macho.c: Likewise.
8704 * loader/i386/bsd_trampoline.S: Likewise.
8705 * loader/i386/bsd.c: Likewise.
8706 * loader/xnu.c: Likewise.
8707 * term/i386/pc/vesafb.c: Likewise.
8708 * term/usb_keyboard.c: Likewise.
8709 * util/resolve.c: Likewise.
8710 * util/getroot.c: Likewise.
8711
0cfc0083 87122009-05-04 Felix Zielcke <fzielcke@z-51.de>
8713
8714 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8715
7c1d00cd 87162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8717
8718 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8719 build error.
8720
b01f0548 87212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8722
8723 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8724 parameter only available on BIOS.
8725
ecc3eb22 87262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 Removed wrong semicolon in declaration
8729
8730 * grub/misc.h (grub_dprintf): remove semicolon
8731
112972a9 87322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8733
8734 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8735 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8736 is done by grub_cmd_linux() now).
8737 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8738 restore video to text mode.
8739 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8740 indicates lack of "vga=" parameter. "vga=0" is mapped to
8741 `GRUB_LINUX_VID_MODE_NORMAL'.
8742
afd5c115 87432009-05-04 Felix Zielcke <fzielcke@z-51.de>
8744
8745 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8746 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8747 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8748 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8749 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8750 `grub_script.tab.c'.
8751
8752 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8753 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8756 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8757
faa517ce 8758 * Makefile.in: Remove duplicated 2008 in Copyright line.
8759
ae0c0bdc 87602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8761
473d1e45 8762 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8763 unconditionally.
8764 * include/grub/util/misc.h (grub_util_warn): New declaration.
8765
8766 * util/i386/pc/grub-install.in: Understand --force and pass it down
8767 to grub-setup.
8768
8769 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8770 down to setup().
8771 (setup): Improve error messages and add warnings when requested to
8772 install in odd layouts. Refuse to install using blocklists unless
8773 --force was set.
8774
18f547ad 87752009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8776
8777 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8778
6d260daa 87792009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Updated copyright year
8782
8783 * fs/hfsplus.c: updated copyright year
18f547ad 8784
69f853f8 87852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 HFS+ UUID
8788
18f547ad 8789 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8790 in the space previously used by unused3
8791 (grub_hfsplus_uuid): new function
8792 (grub_hfsplus_fs): added uuid field
8793
4c402e73 87942009-05-03 Pavel Roskin <proski@gnu.org>
8795
8796 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8797 suppress warnings. It's no longer needed.
8798 * disk/host.c: Likewise.
8799 * disk/ata_pthru.c: Likewise.
8800 * disk/loopback.c: Likewise.
8801 * hook/datehook.c: Likewise.
8802 * parttool/pcpart.c: Likewise.
8803 * fs/i386/pc/pxe.c: Likewise.
8804 * fs/ntfscomp.c: Likewise.
8805 * efiemu/main.c: Likewise.
8806 * mmap/mmap.c: Likewise.
8807 * commands/crc.c: Likewise.
8808 * commands/hexdump.c: Likewise.
8809 * commands/hdparm.c: Likewise.
8810 * commands/acpi.c: Likewise.
8811 * commands/echo.c: Likewise.
8812 * commands/minicmd.c: Likewise.
8813 * commands/blocklist.c: Likewise.
8814 * commands/memrw.c: Likewise.
8815 * commands/loadenv.c: Likewise.
8816 * commands/usbtest.c: Likewise.
8817 * commands/lsmmap.c: Likewise.
8818 * commands/boot.c: Likewise.
8819 * commands/parttool.c: Likewise.
8820 * commands/configfile.c: Likewise.
8821 * commands/search.c: Likewise.
8822 * commands/ieee1275/suspend.c: Likewise.
8823 * commands/cat.c: Likewise.
8824 * commands/i386/pc/pxecmd.c: Likewise.
8825 * commands/i386/pc/play.c: Likewise.
8826 * commands/i386/pc/halt.c: Likewise.
8827 * commands/i386/pc/vbeinfo.c: Likewise.
8828 * commands/i386/pc/vbetest.c: Likewise.
8829 * commands/lspci.c: Likewise.
8830 * commands/date.c: Likewise.
8831 * commands/handler.c: Likewise.
8832 * commands/ls.c: Likewise.
8833 * commands/test.c: Likewise.
8834 * commands/cmp.c: Likewise.
8835 * commands/efi/loadbios.c: Likewise.
8836 * commands/efi/fixvideo.c: Likewise.
8837 * commands/halt.c: Likewise.
8838 * commands/help.c: Likewise.
8839 * commands/reboot.c: Likewise.
8840 * hello/hello.c: Likewise.
8841 * script/sh/main.c: Likewise.
8842 * loader/xnu.c: Likewise.
8843 * term/terminfo.c: Likewise.
8844 * term/i386/pc/serial.c: Likewise.
8845 * term/usb_keyboard.c: Likewise.
8846
515b5079 88472009-05-03 David S. Miller <davem@davemloft.net>
8848
8849 * normal/menu.c: Include grub/parser.h
8850
dfc31a22 88512009-05-03 Pavel Roskin <proski@gnu.org>
8852
2fee74f1 8853 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8854 not char*.
8855 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8856 Suggested by Javier Martín <lordhabbit@gmail.com>
8857
dfc31a22 8858 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8859 efiemu??.o doesn't exist.
8860 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8861 copying.
8862
18f547ad 88632009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8864
8865 FreeBSD 64-bit support
8866
18f547ad 8867 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8868 and loader/i386/bsd_trampoline.S
8869 (bsd_mod_ASFLAGS): new variable
8870 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8871 (FREEBSD_MODTYPE_KERNEL64): likewise
8872 (grub_bsd64_trampoline_start): likewise
8873 (grub_bsd64_trampoline_end): likewise
8874 (grub_bsd64_trampoline_selfjump): likewise
8875 (grub_bsd64_trampoline_gdt): likewise
8876 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8877 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8878 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8879 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8880 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8881 of "attrib" member
8882 * loader/i386/bsd_pagetable.c: new file
8883 * loader/i386/bsd_trampoline.S: likewise
8884 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8885 (ALIGN_VAR): likewise
8886 (entry_hi): new variable
8887 (kern_end_mdofs): likewise
8888 (is_64bit): likewise
8889 (grub_freebsd_add_meta): use ALIGN_VAR
8890 (grub_e820_mmap): new declaration
8891 (grub_freebsd_add_mmap): new function
8892 (grub_freebsd_add_meta_module): support 64 bit kernels
8893 (grub_freebsd_list_modules): use ALIGN_VAR
8894 (gdt_descriptor): new declaration
8895 (grub_freebsd_boot): support 64 bit kernels
8896 (grub_bsd_elf64_hook): new function
8897 (grub_bsd_load_elf): support elf64
8898
038c5720 88992009-05-03 Bean <bean123ch@gmail.com>
8900
8901 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8902 after we get the result of if statement.
8903
fc45fb58 89042009-05-03 Bean <bean123ch@gmail.com>
8905
8906 * Makefile.in (enable_efiemu): New variable.
8907
8908 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8909 set.
8910 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8911 path.
8912 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8913 path, add -mno-red-zone option.
8914 (efiemu64_s.o): Likewise.
8915 (efiemu64.o): Use macro $^ for source file.
8916
8917 * configure.ac (--enable-efiemu): New option.
8918
bbee0f2b 89192009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 xnu support
8922
8923 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8924 (pkglib_MODULES): add xnu.mod
8925 (xnu_mod_SOURCES): new variable
8926 (xnu_mod_CFLAGS): likewise
8927 (xnu_mod_LDFLAGS): likewise
8928 (xnu_mod_ASFLAGS): likewise
8929 * conf/i386-pc.rmk: likewise
8930 * conf/x86_64-efi.rmk: likewise
7dd4a573 8931 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8932 new declaration
8933 * include/grub/i386/macho.h: new file
8934 * include/grub/i386/xnu.h: likewise
8935 * include/grub/macho.h: likewise
8936 * include/grub/machoload.h: likewise
8937 * include/grub/x86_64/macho.h: likewise
8938 * include/grub/x86_64/xnu.h: likewise
8939 * include/grub/xnu.h: likewise
8940 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8941 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8942 * loader/i386/efi/xnu.c: new file
8943 * loader/i386/pc/xnu.c: likewise
8944 * loader/i386/xnu.c: likewise
8945 * loader/i386/xnu_helper.S: likewise
8946 * loader/macho.c: likewise
8947 * loader/xnu.c: likewise
8948 * loader/xnu_resume.c: likewise
8949 * util/grub-dumpdevtree: likewise
8950 * include/grub/i386/pit.h: include grub/err.h
8951 (grub_pit_wait): export
8952 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8953
5caf964d 89542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 Efiemu
7dd4a573 8957
5caf964d 8958 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8959 _linux_efi, linux_efi.
8960 new files in grub-emu
5caf964d 8961 new targets efiemu32.o and efiemu64.o
8962 * loader/linux_normal_efiemu.c: likewise
8963 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8964 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8965 files to copy
8966 * include/grub/autoefi.h: new file
7dd4a573 8967 * include/grub/i386/efiemu.h: likewise
5caf964d 8968 * include/grub/i386/pc/efiemu.h: likewise
8969 * include/grub/efi/api.h: add LL suffix when necessary
8970 new definitions relating to tables
8971 * include/grub/efiemu/efiemu.h: new file
8972 * include/grub/efiemu/runtime.h: likewise
8973 * efiemu/prepare.c: likewise
8974 * efiemu/loadcore_common.c: likewise
8975 * efiemu/loadcore64.c: likewise
8976 * efiemu/runtime/efiemu.sh: likewise
8977 * efiemu/runtime/efiemu.S: likewise
8978 * efiemu/runtime/efiemu.c: likewise
8979 * efiemu/runtime/config.h: likewise
8980 * efiemu/prepare32.c: likewise
8981 * efiemu/main.c: likewise
8982 * efiemu/modules/pnvram.c: likewise
8983 * efiemu/modules/i386: likewise
8984 * efiemu/modules/i386/pc: likewise
8985 * efiemu/modules/acpi.c: likewise
8986 * efiemu/i386/pc/cfgtables.c: likewise
8987 * efiemu/i386/loadcore64.c: likewise
8988 * efiemu/i386/loadcore32.c: likewise
8989 * efiemu/prepare64.c: likewise
8990 * efiemu/loadcore.c: likewise
8991 * efiemu/symbols.c: likewise
8992 * efiemu/mm.c: likewise
8993 * efiemu/loadcore32.c: likewise
7dd4a573 8994
89952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8996
8997 ACPI spoofing
8998
8999 * commands/acpi.c: new file
9000 * commands/i386/pc/acpi.c: likewise
9001 * commands/efi/acpi.c: likewise
9002 * include/grub/acpi.h: likewise
9003 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9004 (acpi_mod_SOURCES): new variable
9005 (acpi_mod_CFLAGS): likewise
9006 (acpi_mod_LDFLAGS): likewise
9007 * conf/i386-efi.rmk: likewise
9008 * conf/x86_64-efi.rmk: likewise
9009
7dd4a573 90102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9011
9012 Missing part from mmap patch
9013
9014 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9015 (grub_mmap_unregister)
9016 (grub_mmap_free_and_unregister): use grub_mmap_register
9017
7dd4a573 90182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9019
9020 Mmap services
9021
9022 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9023 * loader/i386/linux.c (find_mmap_size): likewise
9024 (allocate_pages): likewise
9025 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9026 (grub_fill_multiboot_mmap): likewise
9027 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9028 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9029 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9030 (OPENBSD_MMAP_RESERVED): likewise
9031 * include/grub/i386/pc/memory.h: include grub/memory.h
9032 (grub_lower_mem): removed
9033 (grub_upper_mem): likewise
9034 (GRUB_MACHINE_MEMORY_ACPI): new definition
9035 (GRUB_MACHINE_MEMORY_NVS): likewise
9036 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9037 (GRUB_MACHINE_MEMORY_HOLE): likewise
9038 (grub_machine_mmap_register): likewise
9039 (grub_machine_mmap_unregister): likewise
9040 (grub_machine_get_upper): likewise
9041 (grub_machine_get_lower): likewise
9042 (grub_machine_get_post64): likewise
9043 * include/grub/i386/efi/memory.h: new file
9044 * include/grub/x86_64/efi/memory.h: likewise
9045 * include/grub/efi/memory.h: likewise
9046 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9047 (mmap_mod_SOURCES): new variable
9048 (mmap_mod_LDFLAGS): likewise
9049 (mmap_mod_ASFLAGS): likewise
9050 * conf/i386-coreboot.rmk: likewise
9051 * conf/i386-ieee1275.rmk: likewise
9052 * conf/i386-efi.rmk: likewise
9053 * conf/x86_64-efi.rmk: likewise
9054 * include/grub/types.h (UINT_TO_PTR): new macro
9055 (PTR_TO_UINT32): likewise
9056 (PTR_TO_UINT64): likewise
9057 * include/grub/memory.h: new file
9058 * mmap/i386/pc/mmap.c: likewise
9059 * mmap/i386/pc/mmap_helper.S: likewise
9060 * mmap/i386/uppermem.c: likewise
9061 * mmap/mmap.c: likewise
9062 * mmap/efi/mmap.c: likewise
7dd4a573 9063 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9064 grub_upper_mem
9065 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9066 (grub_upper_mem): likewise
9067 (grub_machine_init): don't use grub_upper_mem,
9068 make grub_lower_mem local
9069 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9070 grub_mmap_iterate and grub_mmap_get_upper
9071 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9072
d558e6b5 90732009-05-02 Bean <bean123ch@gmail.com>
9074
9075 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9076 script/sh/parser.y.
9077 (pkglib_MODULES): Add normal.mod and sh.mod.
9078 (normal_SOURCES): New variable.
9079 (normal_mod_CFLAGS): Likewise.
9080 (normal_mod_LDFLAGS): Likewise.
9081 (sh_mod_SOURCES): Likewise.
9082 (sh_mod_CFLAGS): Likewise.
9083 (sh_mod_LDFLAGS): Likewise.
9084
9085 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9086 script/sh/lexer.c_DEPENDENCIES.
9087 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9088 kern/rescue_reader.c and kern/rescue_parser.c.
9089 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9090 (grub_emu_SOURCES): Change source files.
9091 (pkglib_MODULES): Remove normal.mod.
9092 (normal_SOURCES): Removed.
9093 (normal_mod_CFLAGS): Likewise.
9094 (normal_mod_LDFLAGS): Likewise.
9095 * conf/i386-coreboot.rmk: Likewise.
9096 * conf/i386-efi.rmk: Likewise.
9097 * conf/i386-ieee1276.rmk: Likewise.
9098 * conf/powerpc-ieee1275.rmk: Likewise.
9099 * conf/sparc64-ieee1275.rmk: Likewise.
9100 * conf/x86_64-efi.rmk: Likewise.
9101
9102 * include/grub/command.h (grub_command_execute): New inline function.
9103
9104 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9105
9106 * include/grub/normal.h: Remove <grub/setjmp.h>.
9107 (grub_fs_module_list): Moved to normal/autofs.c.
9108 (grub_exit_env): Removed.
9109 (grub_command_execute): Likewise.
9110 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9111 parameter script.
9112 (read_command_list): New function declaration.
9113 (read_fs_list): Likewise.
9114
9115 * include/parser.h: Include <grub/reader.h>.
9116 (grub_parser_split_cmdline): Change type of getline parameter.
9117 (grub_parser): New structure.
9118 (grub_parser_class): New variable.
9119 (grub_parser_execute): New function declaration.
9120 (grub_register_rescue_parser): Likewise.
9121 (grub_parser_register): New inline function.
9122 (grub_parser_unregister): Likewise.
9123 (grub_parser_get_current): Likewise.
9124 (grub_parser_set_current): Likewise.
9125
9126 * include/grub/reader.h: New file.
9127 * kern/reader.c: Likewise.
9128 * kern/rescue_parser.c: Likewise.
9129 * kern/rescue_reader.c: Likewise.
9130 * normal/autofs.c: Likewise.
9131 * normal/dyncmd.c: Likewise.
9132
9133 * include/grub/rescue.h: Removed.
9134 * normal/command.h: Likewise.
9135
9136 * include/grub/script.h: Moved to ...
9137 * include/grub/script_sh.h: ... Moved here.
9138 * normal/execute.c: Moved to ...
9139 * script/sh/execute.c: ... Moved here.
9140 * normal/function.c: Moved to ...
9141 * script/sh/function.c: ... Moved here.
9142 * normal/lexer.c: Moved to ...
9143 * script/sh/lexer.c: ... Moved here.
9144 * normal/parser.y: Moved to ...
9145 * script/sh/parser.y: ... Moved here.
9146 * normal/script.c: Moved to ...
9147 * script/sh/script.c: ... Moved here.
9148
9149 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9150 <grub/reader.h>.
9151 (grub_exit_env): Removed.
9152 (fs_module_list): Moved to normal/autofs.c.
9153 (grub_file_getline): Don't handle comment here.
9154 (free_menu): Skip removed field entry->commands.
9155 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9156 script parameter.
9157 (read_config_file): Removed nested parameter, change getline function.
9158 (grub_enter_normal_mode): Removed.
9159 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9160 (read_command_list): Likewise.
9161 (autoload_fs_module): Moved to normal/autofs.c.
9162 (read_fs_list): Likewise.
9163 (reader_nested): New variable.
9164 (grub_normal_execute): Run parser.sh to switch to sh parser.
9165 (grub_cmd_rescue): Removed.
9166 (cmd_normal): Removed.
9167 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9168 rescue command.
9169 (grub_cmdline_run): New function.
9170 (grub_normal_reader_init): Likewise.
9171 (grub_normal_read_line): Likewise.
9172 (grub_env_write_pager): Likewise.
9173 (cmdline): New variable.
9174 (grub_normal_reader): Likewise.
9175 (GRUB_MOD_INIT): Register normal reader and set as current, register
9176 pager hook, register normal command with grub_register_command_prio,
9177 so that it won't show up in command.lst.
9178 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9179 grub_fs_autoload_hook.
9180
9181 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9182 (grub_menu_execute_entry): Replace grub_script_execute with
9183 grub_parser_execute, change parameter to grub_command_execute.
9184
9185 * normal/menu_text.c: Remove <grub/script.h>.
9186
9187 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9188 and <grub/parser.h>.
9189 (run): Change editor_getline to use new parser interface. Change
9190 parameter to grub_command_execute.
9191
9192 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9193 <grub/reader.h> and <grub/parser.h>.
9194 (grub_load_normal_mode): Execute normal command.
9195 (grub_main): Call grub_register_core_commands,
9196 grub_register_rescue_parser and grub_register_rescue_reader, use
9197 grub_reader_loop to enter input loop.
9198
7dd4a573 9199 * kern/parser.c (grub_parser_split_cmdline): Change type of
9200 getline parameter.
d558e6b5 9201 (grub_parser_class): New variable.
9202 (grub_parser_execute): New function.
9203
9204 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9205 * loader/multiboot2.c: Likewise.
9206 * loader/sparc64/ieee1275/linux.c: Likewise.
9207
9208 * util/grub-emu.c (read_command_list): New dummy function.
9209
18db813d 92102009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9211
9212 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9213 count to 16 for CCISS and IDA.
9214
6c67de15 92152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9216
9217 * normal/menu_text.c (grub_wait_after_message): Print a newline
9218 after waiting for user input.
9219
9220 * loader/i386/linux.c: Include `<grub/normal.h>'.
9221 (grub_cmd_linux): Improve the error message about `ask' mode, by
9222 waiting for user input so it's not missed (we can do this, since
9223 user requested interaction).
9224
d9dc87b0 92252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 Added missing lst to grub-mkrescue
9228
9229 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9230 and ${input_dir}/parttool.lst
9231
ac8a2baa 92322009-04-30 David S. Miller <davem@davemloft.net>
9233
ad22a610 9234 * util/hostdisk.c (device_is_wholedisk): New function.
9235 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9236 zero only if device_is_wholedisk() returns true.
9237
6966215d 9238 * util/hostdisk.c (convert_system_partition_to_system_disk):
9239 Handle virtual disk devices named /dev/vdiskX as found on sparc
9240 and powerpc.
9241
ac8a2baa 9242 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9243 lettered partition specifier is found, convert to numbered.
9244
979b4fb4 92452009-04-29 David S. Miller <davem@davemloft.net>
9246
e2bf39b2 9247 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9248 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9249
3c64e104 9250 * normal/command.c: Add missing newline at end of file.
9251
979b4fb4 9252 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9253 warnings.
9254 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9255 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9256 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9257 ihandles have a 32-bit type but need to be stored in a "void *".
9258
136d9f82 92592009-04-28 Pavel Roskin <proski@gnu.org>
9260
9459c306 9261 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9262 not disk. Adjust all dependencies.
2e08a26a 9263 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9264 grub_disk_close().
9265
136d9f82 9266 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9267 parent's partition, don't copy it by reference, as it gets freed
9268 on close.
9269
7dd4a573 92702009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9271
9272 Preboot hooks support
9273
9274 * commands/boot.c (struct grub_preboot_t): new declaration
9275 (preboots_head): new variable
9276 (preboots_tail): likewise
9277 (grub_loader_register_preboot_hook): new function
9278 (grub_loader_unregister_preboot_hook): likewise
9279 (grub_loader_set): launch preboot hooks
9280 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9281 (grub_loader_register_preboot_hook): new declaration
9282 (grub_loader_unregister_preboot_hook): likewise
9283
5af922b5 92842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 Warning fix
9287
7dd4a573 9288 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9289 calling grub_dprintf
9290
a5562c30 92912009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Bug and warning fixes
9294
7dd4a573 9295 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9296 declaration
9297 * commands/test.c (test_parse): fixed bug with file tests and corrected
9298 declaration of find_file
9299
4006f85c 93002009-04-26 Pavel Roskin <proski@gnu.org>
9301
9302 * Makefile.in: Don't install empty manual pages if help2man is
9303 missing. Use help2man option for output, not shell redirection.
9304
5c77c3de 93052009-04-26 David S. Miller <davem@davemloft.net>
9306
9307 * util/grub-mkdevicemap.c (make_device_map): Add missing
9308 NESTED_FUNC_ATTR to process_device().
9309
033b10a8 93102009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 Test command
9313
9314 * commands/test.c: rewritten to use bash-like test
9315
e4343593 93162009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 Parttool autoloading and improvements
9319
7dd4a573 9320 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9321 (parttool.lst): new target
9322 * genmk.rb: generate parttool-*
9323 (CLEANFILES): add #{parttool}
9324 (PARTTOOLFILES): new variable
9325 * genparttoollist.sh: new file
7dd4a573 9326 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9327 (grub_pcpart_type): likewise
9328 * commands/parttool.c (helpmsg): new variable
9329 (grub_cmd_parttool): output help if not enough arguments are supplied
9330 autoload modules
9331 (GRUB_MOD_INIT(parttool)): use helpmsg
9332
0d312500 93332009-04-24 David S. Miller <davem@davemloft.net>
9334
7dd4a573 9335 Avoiding opening same device multiple times in device iterator.
0d312500 9336
9337 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9338 and use it to build a list of partitions in iterate_disk() and
0d312500 9339 iterate_partition().
9340
ac20caff 9341 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9342 on disk->data.
9343
0dcf7495 9344 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9345 grub_devalias_iterate() result instead of unconditional 0.
9346 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9347 Also, capture hook return value, either directly or via
9348 grub_children_iterate(), and propagate to caller.
9349 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9350 grub_children_iterate): Return value is now 'int' instead of
9351 'grub_err_t'.
9352 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9353 like a proper iterator, stopping when hooks return non-zero.
9354 (grub_devalias_iterate): Likewise.
9355
c8c08833 93562009-04-23 David S. Miller <davem@davemloft.net>
9357
9358 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9359
f01005a8 93602009-04-22 David S. Miller <davem@davemloft.net>
9361
9362 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9363 is larger than address_cells, use that value for address_cells too.
9364
4e8269da 9365 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9366 IEEE1275_MAX_PATH_LEN): Define.
9367 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9368 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9369 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9370 'devtype'. Explicitly NULL terminate devalias expansion.
9371
a1447506 9372 * util/sparc64/ieee1275/misc.c: New file.
9373 * util/sparc64/ieee1275/grub-setup.c: New file.
9374 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9375 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9376 * util/sparc64/ieee1275/grub-install.in: New file.
9377 * util/ieee1275/ofpath.c: New file.
9378 * util/ieee1275/devicemap.c: New file.
9379 * util/devicemap.c: New file.
9380 * util/deviceiter.c: New file.
9381 * kern/sparc64/ieee1275/init.c: New file.
9382 * include/grub/util/ofpath.h: New file.
9383 * include/grub/util/deviceiter.h: New file.
9384 * util/grub-mkdevicemap.c: Include deviceiter.h.
9385 Implement using grub_util_emit_devicemap_entry and
9386 grub_util_iterate_devices.
9387 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9388 util/devicemap.c into grub-mkdevicemap
9389 * conf/i386-efi.rmk: Likewise.
9390 * conf/i386-ieee1275.rmk: Likewise.
9391 * conf/i386-pc.rmk: Likewise.
9392 * conf/powerpc-ieee1275.rmk: Likewise.
9393 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9394 images and installation utilities. Build kernel as image
9395 instead of as elf binary. Use common rules as much as possible.
9396
7dd4a573 93972009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9398
9399 Correct GPT definition
9400
7dd4a573 9401 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9402 of "attrib" member
9403
c6c5219f 94042009-04-19 Felix Zielcke <fzielcke@z-51.de>
9405
9406 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9407
0552ff9f 94082009-04-19 David S. Miller <davem@davemloft.net>
9409
9410 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9411 (grub_rescue_cmd_linux): Rename to...
9412 (grub_cmd_linux): and fix prototype.
9413 (grub_rescue_cmd_initrd): Rename to...
9414 (grub_cmd_initrd): and fix prototype.
9415 (cmd_linux, cmd_initrd): New.
9416 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9417 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9418
d1a282fc 94192009-04-17 Pavel Roskin <proski@gnu.org>
9420
07c5039f 9421 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9422 format.
9423 (grub_ohci_transfer): Likewise.
9424
b012002d 9425 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9426
1bc09c35 9427 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9428 return without a value. Fix inconsistent indentation.
9429
e0ff9126 9430 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9431 match struct grub_fs.
9432
d1a282fc 9433 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9434 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9435 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9436 * commands/lspci.c (grub_lspci_iter): Likewise.
9437
a96df3f2 94382009-04-16 Bean <bean123ch@gmail.com>
9439
9440 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9441 value.
9442
41bb0fe9 94432009-04-15 Pavel Roskin <proski@gnu.org>
9444
9445 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9446 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9447 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9448 definitions.
9449
596c6970 94502009-04-15 Felix Zielcke <fzielcke@z-51.de>
9451
9452 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 9453 that no multiple data or metadata areas are supported and `Unknown
596c6970 9454 metadata header'.
9455
7dd4a573 94562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 9457
9458 Move loader out of the kernel
9459
9460 * kern/loader.c: moved to ...
9461 * commands/boot.c: ... moved here
9462 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9463 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9464 * include/grub/kernel.h (grub_machine_fini): export
9465 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9466 (grub_loader_set): likewise
9467 (grub_loader_unset): likewise
9468 (grub_loader_boot): likewise
9469 * conf/common.rmk: new module boot.mod
9470 (pkglib_MODULES): add boot.mod
9471 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9472 (grub_emu_SOURCES): likewise
9473 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9474 (grub_emu_SOURCES): likewise
9475 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9476 (grub_emu_SOURCES): likewise
9477 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9478 (grub_emu_SOURCES): likewise
9479 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9480 (grub_emu_SOURCES): likewise
7dd4a573 9481 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9482 (grub_emu_SOURCES): likewise
0d5d5653 9483 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 9484 (grub_emu_SOURCES): likewise
0d5d5653 9485
7dd4a573 94862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 9487
9488 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 9489
5999d619 9490 * kern/misc.c (grub_itoa): Removed function
9491 (grub_ltoa): likewise
9492 (grub_vsprintf): use grub_lltoa
9493
7dd4a573 94942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 9495
9496 Restore grub-emu
9497
9498 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9499 * conf/i386-coreboot.rmk: likewise
9500 * conf/i386-ieee1275.rmk: likewise
9501 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9502
20318222 95032009-04-15 Felix Zielcke <fzielcke@z-51.de>
9504
9505 * INSTALL: Add that `./autogen.sh' needs to be run before
9506 `./configure.'.
9507
d05f0df3 95082009-04-14 Bean <bean123ch@gmail.com>
9509
9510 * Makefile.in (pkglib_DATA): Add handler.lst.
9511 (handler.lst): New rule.
9512
9513 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9514 * conf/i386-coreboot.rmk: Likewise.
9515 * conf/i386-ieee1275.rmk: Likewise.
9516 * conf/i386-efi.rmk: Likewise.
9517 * conf/x86_64-efi.rmk: Likewise.
9518 * conf/powerpc-ieee1275.rmk: Likewise.
9519 * conf/sparc64-ieee1275.rmk: Likewise.
9520
9521 * genhandlerlist.sh: New file.
9522
9523 * genmk.rb: Add rules to generate handler.lst.
9524
9525 * include/grub/normal.h (grub_file_getline): New function definition.
9526 (read_handler_list): Likewise.
9527 (free_handler_list): Likewise.
9528
9529 * include/grub/term.h (grub_term_register_input): Add name parameter
9530 for auto generation of handler.lst.
9531 (grub_term_register_output): Likewise.
9532
9533 * normal/handler.c: New file.
9534
9535 * normal/main.c (get_line): Renamed to grub_file_getline.
9536 (read_config_file): Use the newly renamed grub_file_getline.
9537 (read_command_list): Likewise.
9538 (read_fs_list): Likewise.
9539 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9540 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9541
9542 * term/efi/console.c (grub_console_init): Add name parameter for auto
9543 generation of handler.lst.
9544 * term/gfxterm.c: Likewise.
9545 * term/i386/pc/at_keyboard.c: Likewise.
9546 * term/i386/pc/console.c: Likewise.
9547 * term/i386/pc/serial.c: Likewise.
9548 * term/i386/pc/vesafb.c: Likewise.
9549 * term/i386/pc/vga.c: Likewise.
9550 * term/i386/pc/vga_text.c: Likewise.
9551 * term/ieee1275/ofconsole.c: Likewise.
9552 * term/usb_keyboard.c: Likewise.
9553
33c846be 95542009-04-14 Bean <bean123ch@gmail.com>
9555
9556 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9557 properly with null character.
9558
4484e01e 95592009-04-14 Felix Zielcke <fzielcke@z-51.de>
9560
9561 * configure: Remove.
9562 * config.h.in: Likewise.
f93d668e 9563 * stamp-h.in: Likewise.
4484e01e 9564 * DISTLIST: Likewise.
9565 * conf/common.mk: Likewise.
9566 * conf/i386-coreboot.mk: Likewise.
9567 * conf/i386-efi.mk: Likewise.
9568 * conf/i386-ieee1275.mk: Likewise.
9569 * conf/i386.mk: Likewise.
9570 * conf/i386-pc.mk: Likewise.
9571 * conf/powerpc-ieee1275.mk: Likewise.
9572 * conf/sparc64-ieee1275.mk: Likewise.
9573 * conf/x86_64-efi.mk: Likewise.
9574
9575 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9576 develop on GRUB.
9577
7dd4a573 95782009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 9579 David S. Miller <davem@davemloft.net>
9580
9581 * util/hostdisk.c (make_device_name): Fix buffer length
9582 calculations.
9583
e25b5a8c 95842009-04-14 Felix Zielcke <fzielcke@z-51.de>
9585
9586 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9587 <sys/param.h> and <sys/sysctl.h>.
9588 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9589 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9590 opening the device and reset them afterwards.
9591
1f1f580c 95922009-04-13 Pavel Roskin <proski@gnu.org>
9593
9594 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9595 Reported by John Stanley <jpsinthemix@verizon.net>
9596
7ebc2d6b 95972009-04-13 Robert Millan <rmh@aybabtu.com>
9598
9599 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 9600 that name for menuentries when appropriate.
7ebc2d6b 9601
d8ba3667 96022009-04-13 Felix Zielcke <fzielcke@z-51.de>
9603
9604 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9605
cba416eb 96062009-04-13 Robert Millan <rmh@aybabtu.com>
9607
9608 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9609 to Linux, simply abort telling the user it's no longer supported.
9610
a547a745 96112009-04-13 Felix Zielcke <fzielcke@z-51.de>
9612
9613 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 9614 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 9615 `freebsd_loadenv' only when devices.hints exist.
9616
232a769c 96172009-04-13 Pavel Roskin <proski@gnu.org>
9618
9619 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9620
c3012039 96212009-04-13 Felix Zielcke <fzielcke@z-51.de>
9622
9623 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9624 partition number.
9625 (grub_drive): Likewise.
9626
234022fe 96272009-04-13 David S. Miller <davem@davemloft.net>
9628
9629 * kern/sparc64/ieee1275/ieee1275.c: New file.
9630 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9631 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9632 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9633 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9634 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9635 grub_ieee1275_alloc_physmem): Declare new exported functions.
9636
d8e1836c 9637 * include/grub/sparc64/ieee1275/loader.h: New file.
9638 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9639 * include/grub/sparc64/kernel.h: Likewise.
9640 * loader/sparc64/ieee1275/linux.c: Likewise.
9641
96bd81ec 9642 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9643 (grub_fstest_SOURCES): Likewise.
9644
6a4737e5 9645 * util/hostdisk.c (make_device_name): Do not make any assumptions
9646 about the length of drive names.
9647
1d7a72fd 9648 * kern/dl.c (grub_dl_load_file): Close file immediately when
9649 we are done using it.
9650
56bc2471 96512009-04-12 David S. Miller <davem@davemloft.net>
9652
9653 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9654 values. Noticed by Pavel Roskin.
9655
df38d0bb 9656 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9657 target compiler.
7dd4a573 9658
e382e93a 9659 * genmk.rb: Add more flexible image type specification, also
9660 pass --strip-unneeded to objcopy.
9661 * conf/i386-pc.rmk: Use *_FORMAT.
9662 * conf/i386-pc.mk: Rebuilt.
9663
f5dbbca9 9664 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9665 (OFDISK_HASH_SZ): Define.
9666 (ofdisk_hash): New hash table.
9667 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9668 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9669 instead of device phandle which is not unique.
9670
91c88b12 9671 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9672 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9673 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9674 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9675 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9676 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9677 GRUB_KERNEL_MACHINE_DATA_END): Define.
9678 (grub_kernel_image_size, grub_total_module_size): Declare.
9679
5b5d4aa5 96802009-04-12 Pavel Roskin <proski@gnu.org>
9681
7dd4a573 9682 * configure.ac: Change the logic when we check for target tools.
9683 Do it when the target is specified and it's different from the
9684 specified value of the host.
5b5d4aa5 9685
c91e1793 96862009-04-11 Felix Zielcke <fzielcke@z-51.de>
9687
9688 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9689 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9690 GNU/kFreeBSD. Check if a device is a character device. Use
9691 DIOCGMEDIASIZE to get the size.
9692 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9693 support for GNU/kFreeBSD.
9694 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
9695 is a character device instead of a block device. Add support for
9696 FreeBSD device names.
9697
9698 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
9699 is a character device instead of a block device.
9700
9701 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9702 is a character device instead of a block device.
9703
b1ac8644 97042009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9705
9706 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9707 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9708 FreeBSD. Check if a device is a character device. Use
9709 DIOCGMEDIASIZE to get the size.
9710 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9711 support for FreeBSD.
9712 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9713 is a character device instead of a block device. Add support for
9714 FreeBSD device names.
9715
9716 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9717 a character device instead of a block device.
9718 (grub_util_check_char_device): New function.
9719
9720 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9721 a character device instead of a block device.
9722
9723 * include/grub/util/getroot.h (grub_util_check_char_device): New
9724 prototype.
9725
a3f7515a 97262009-04-11 David S. Miller <davem@davemloft.net>
9727
9728 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9729 static libgcc.
9730 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9731 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9732 function, if present.
9733 (__bswapdi2): Likewise.
9734
0d44993d 9735 * include/grub/sparc64/ieee1275/boot.h: New file.
9736 * boot/sparc64/ieee1275/boot.S: Likewise.
9737 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9738
ed3d2bc2 9739 * kern/misc.c (grub_ltoa): New function.
9740 (grub_vsprintf): Use it to format 'long' integers.
9741
d3bfb59c 97422009-04-10 David S. Miller <davem@davemloft.net>
9743
9744 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9745 slots are of type grub_ieee1275_cell_t.
9746 (grub_nand_read): Likewise.
9747 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9748 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9749 macros are used to compare values in arg/ret block of the call.
9750 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9751 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9752 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9753 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9754 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9755 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9756 grub_ieee1275_close, grub_ieee1275_set_property,
9757 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9758 grub_ieee1275_cell_t.
9759 * kern/ieee1275/openfw.c (grub_map): Likewise.
9760 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9761 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9762
450e2238 9763 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9764 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9765 (grub_devalias_iterate): Likewise.
9766
7dd4a573 97672009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9768
9769 UFS improvements
9770
9771 * fs/ufs.c (INODE_NBLOCKS): new definition
9772 (struct grub_ufs_dirent): added fields for non-BSD dirents
9773 (grub_ufs_get_file_block): fixed double indirect handling
9774 (grub_ufs_lookup_symlink): use more robust way to determine whether
9775 symlink is inline
9776 (grub_ufs_find_file): support for non-BSD dirents
9777 (grub_ufs_dir): support for non-BSD dirents
9778
e7e6862a 97792009-04-10 Bean <bean123ch@gnail.com>
9780
9781 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9782 attribute, otherwise the size would be wrong for i386 platform.
9783
9784 * include/grub/pci.h (grub_pci_read_word): New inline function.
9785 (grub_pci_read_byte): Likewise.
9786 (grub_pci_write): Likewise.
9787 (grub_pci_write_word): Likewise.
9788 (grub_pci_write_byte): Likewise.
9789
9790 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9791
9792 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9793 (find_framebuf): Scan pci to locate the frame buffer address.
9794
9795 * commands/efi/fixvideo.c: New file.
9796
9797 * commands/efi/loadbios.c: Likewise.
9798
9799 * commands/memrw.c: Likewise.
9800
9801 * util/grub-dumpbios.in: Likewise.
9802
9803 * conf/common.rmk (grub-dumpbios): New utility.
9804 (pkglib_MODULES): New module memrw.mod.
9805 (memrw_mod_SOURCE): New macro.
9806 (memrw_mod_CFLAGS): Likewise.
9807 (memrw_mod_LDFLAGS): Likewise.
9808
7dd4a573 9809 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9810 fixvideo.mod.
9811 (loadbios_mod_SOURCE): New macro.
9812 (loadbios_mod_CFLAGS): Likewise.
9813 (loadbios_mod_LDFLAGS): Likewise.
9814 (fixvideo_mod_SOURCE): Likewise.
9815 (fixvideo_mod_CFLAGS): Likewise.
9816 (fixvideo_mod_LDFLAGS): Likewise.
9817
7dd4a573 9818 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9819 fixvideo.mod.
9820 (loadbios_mod_SOURCE): New macro.
9821 (loadbios_mod_CFLAGS): Likewise.
9822 (loadbios_mod_LDFLAGS): Likewise.
9823 (fixvideo_mod_SOURCE): Likewise.
9824 (fixvideo_mod_CFLAGS): Likewise.
9825 (fixvideo_mod_LDFLAGS): Likewise.
9826
af63ada2 98272009-04-08 Felix Zielcke <fzielcke@z-51.de>
9828
9829 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9830
c2cdde70 98312009-04-07 David S. Miller <davem@davemloft.net>
9832
9833 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9834 support for R_SPARC_OLO10 relocations. Fix compile warning for
9835 R_SPARC_WDISP30 case.
ea3f72cf 9836 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9837
761319cf 98382009-04-06 Pavel Roskin <proski@gnu.org>
9839
1007d1f5 9840 * include/grub/misc.h (ARRAY_SIZE): New macro.
9841 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9842 New macro.
9843 * loader/i386/linux.c (allocate_pages): Use free_pages().
9844 (grub_linux_unload): Don't use free_pages().
9845 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9846 wrong index. Treat all other modes as text modes.
9847 (grub_cmd_linux): Initialize vid_mode unconditionally to
9848 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9849
761319cf 9850 * commands/help.c (print_command_help): Use cmd->prio, not
9851 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9852
ea761d40 98532009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9854
ea761d40 9855 Parttool
9856
9857 * parttool/pcpart.c: new file
9858 * commands/parttool.c: likewise
9859 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9860 (parttool_mod_SOURCES): new variable
9861 (parttool_mod_CFLAGS): likewise
9862 (parttool_mod_LDFLAGS): likewise
9863 (pcpart_mod_SOURCES): likewise
9864 (pcpart_mod_CFLAGS): likewise
9865 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9867 and parttool/pcpart.c
9868 * conf/i386-efi.rmk: likewise
9869 * conf/i386-ieee1275.rmk: likewise
9870 * conf/i386-pc.rmk: likewise
9871 * conf/powerpc-ieee1275.rmk: likewise
9872 * conf/sparc64-ieee1275.rmk: likewise
9873 * conf/x86_64-ieee1275.rmk: likewise
9874
05aaebfb 98752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 Support for mtime and further expandability of dir command
9878
9879 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9880 * include/grub/datetime.h: ... moved here and added
05aaebfb 9881 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9882 * include/grub/fs.h: new syntax for dir and mtime functions in
9883 struct grub_fs
05aaebfb 9884 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9885 and GRUB_FSHELP_FLAGS_MASK
9886 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9887 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9888 (grub_ext2_mtime): new function
9889 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9890 (grub_hfsplus_mtime): new function
9891 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9892 (GRUB_UFS_ATTR_FILE): likewise
9893 (GRUB_UFS_ATTR_LNK): likewise
9894 (struct grub_ufs_sblock): new fields mtime
9895 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9896 all users updated
9897 (grub_ufs_dir): mtime support
9898 (grub_ufs_mtime): new function
9899 * fs/affs.c (grub_affs_dir): use new dir syntax
9900 * fs/afs.c (grub_afs_dir): likewise
9901 * fs/cpio.c (grub_cpio_dir): likewise
9902 * fs/fat.c (grub_fat_find_dir): likewise
9903 * fs/hfs.c (grub_hfs_dir): likewise
9904 * fs/iso9660.c (grub_iso9660_dir): likewise
9905 * fs/jfs.c (grub_jfs_dir): likewise
9906 * fs/minix.c (grub_minix_dir): likewise
9907 * fs/ntfs.c (grub_ntfs_dir): likewise
9908 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9909 * fs/sfs.c (grub_sfs_dir): likewise
9910 * fs/xfs.c (grub_xfs_dir): likewise
9911 * util/hostfs.c (grub_hostfs_dir): likewise
9912 * lib/datetime.c: moved to ...
9913 * normal/datetime.c: ... moved here
9914 (grub_unixtime2datetime): new function
9915 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9916 * normal/completion.c (iterate_dir): use new dir syntax
9917 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9918 last modification time of a volume
7dd4a573 9919 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9920 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9922 (normal_mod_SOURCES): likewise
9923 (datetime_mod_SOURCES): Removed lib/datetime.c
9924 * conf/i386-efi.rmk: likewise
7dd4a573 9925 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9926 * conf/i386-pc.rmk: likewise
9927 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9928 * conf/sparc64-ieee1275.rmk: likewise
9929 * conf/x86_64-efi.rmk: likewise
05aaebfb 9930
8a7e1a14 99312009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9934
9935 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9936 on grub_fat_find_dir
9937 (grub_fat_find_dir): use grub_fat_iterate_dir
9938 (grub_fat_label): likewise
9939
04186a9c 99402009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9941
7dd4a573 9942 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9943 and command.h
9944 remove extraneous kernel_elf_HEADERS
9945
da4c0bb6 99462009-04-04 Bean <bean123ch@gnail.com>
9947
9948 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9949
9950 * util/misc.c: Likewise.
9951
54ad9555 99522009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9953
9954 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9955 instead of grub_printf.
9956
7a6bf9f2 99572009-04-03 Robert Millan <rmh@aybabtu.com>
9958
9959 * loader/i386/linux.c (grub_linux_setup_video): Fill
9960 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9961 values from `mode info' structure instead of hardcoded
9962 values.
9963
3fcc2083 99642009-04-01 Pavel Roskin <proski@gnu.org>
9965
9966 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9967 unused now.
9968 * genmk.rb: Likewise.
9969 * configure.ac: Likewise.
9970
5ec9740b 99712009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9972
9973 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9974 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9975
5270cec8 99762009-04-01 David S. Miller <davem@davemloft.net>
9977
9978 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9979 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9980 (grub_setjmp): Mark with 'returns_twice' attribute.
9981 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9982 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9983 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9984
9c3dd854 99852009-04-01 Robert Millan <rmh@aybabtu.com>
9986
9987 Reapply fix from 2008-07-28 which was accidentally reverted; also
9988 perform the same fix to a similar check in same function.
9989
9990 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9991 with the same number are found, just use issue a warning with
9992 grub_dprintf(), as this error has been reported to be non-fatal.
9993
0d818b7e 99942009-03-31 Pavel Roskin <proski@gnu.org>
9995
9996 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9997 for cross-compilation.
9998
95646d92 99992009-03-30 Robert Millan <rmh@aybabtu.com>
10000
10001 Fix i386-ieee1275 build.
10002
10003 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10004 Remove declaration.
10005
6a003ed1 100062009-03-30 Pavel Roskin <proski@gnu.org>
10007
10008 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10009 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10010 zero-terminated, rely only on the strlen value. Fix comparison
10011 of strings differing in length.
10012
92f33540 100132009-03-30 Robert Millan <rmh@aybabtu.com>
10014
10015 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10016 checking for abi version. Improve error messages on BIOS to notify
10017 user about `linux16' command.
10018
a8c48fd5 100192009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10020
f968172e 10021 Leak fixes
a8c48fd5 10022
f968172e 10023 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10024 in case of collision
10025 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10026
9c323f09 100272009-03-29 Robert Millan <rmh@aybabtu.com>
10028
10029 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10030 set `vid_mode' accordingly.
10031 (grub_linux_boot): Process `vid_mode' and set video mode.
10032
ae68f423 100332009-03-29 Robert Millan <rmh@aybabtu.com>
10034
10035 * util/grub.d/10_linux.in (linux_entry): New function.
10036 Factorize generation of Linux boot entries.
10037
5709cfc4 100382009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10039
10040 Make the format of Environment Block plain text. The boot loader
10041 part is not tested well yet.
7dd4a573 10042
5709cfc4 10043 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10044 (buffer): Removed.
10045 (envblk): Likewise.
10046 (usage): Remove "info" and "clear". Add "unset". Update the
10047 description of "set", as this does not delete variables any
10048 longer.
10049 (create_envblk_file): Complete rewrite.
10050 (open_envblk_file): Likewise.
10051 (cmd_info): Removed.
10052 (cmd_list): Likewise.
10053 (cmd_set): Likewise.
10054 (cmd_clear): Likewise.
10055 (list_variables): New function.
10056 (write_envblk): Likewise.
10057 (set_variables): Likewise.
10058 (unset_variables): Likewise.
10059 (main): Complete rewrite.
10060
10061 * commands/loadenv.c (buffer): Removed.
10062 (envblk): Likewise.
10063 (open_envblk_file): New function.
10064 (read_envblk_file): Complete rewrite.
10065 (grub_cmd_load_env): Likewise.
10066 (grub_cmd_list_env): Likewise.
10067 (struct blocklist): New struct.
10068 (free_blocklists): New function.
10069 (check_blocklists): Likewise.
10070 (write_blocklists): Likewise.
10071 (grub_cmd_save_env): Complete rewrite.
10072
10073 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10074 a plain text signature.
10075 (GRUB_ENVBLK_MAXLEN): Removed.
10076 (struct grub_envblk): Complete rewrite.
10077 (grub_envblk_find): Removed.
10078 (grub_envblk_insert): Likewise.
10079 (grub_envblk_open): New prototype.
10080 (grub_envblk_set): Likewise.
10081 (grub_envblk_delete): Put const to VALUE.
10082 (grub_envblk_iterate): Put const to NAME and VALUE.
10083 (grub_envblk_close): New prototype.
10084 (grub_envblk_buffer): New inline function.
10085 (grub_envblk_size): Likewise.
10086
10087 * lib/envblk.c: Include grub/mm.h.
10088 (grub_env_find): Removed.
10089 (grub_envblk_open): New function.
10090 (grub_envblk_close): Likewise.
10091 (escaped_value_len): Likewise.
10092 (find_next_line): Likewise.
10093 (grub_envblk_insert): Removed.
10094 (grub_envblk_set): New function.
10095 (grub_envblk_delete): Complete rewrite.
10096 (grub_envblk_iterate): Likewise.
10097
a9368fd3 100982009-03-28 Robert Millan <rmh@aybabtu.com>
10099
10100 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10101 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10102 variables. Use 16-bit loader.
10103 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10104 loader.
10105 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10106 (grub_linux16_boot): ... this. Update all users.
10107 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10108 (grub_linux_boot): ... this. Update all users.
10109
10110 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10111 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10112 commands to `linux16' and `initrd16'.
10113 (GRUB_MOD_FINI(linux)): Rename to ...
10114 (GRUB_MOD_FINI(linux16)): ... this.
10115
e4dd5a7e 101162009-03-24 Pavel Roskin <proski@gnu.org>
10117
10118 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10119 not just for compilation.
10120
c04d6e05 101212009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 Move multiboot helper out of kernel
10124
10125 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10126 `loader/i386/multiboot_helper.S'.
10127 * conf/i386-coreboot.rmk: Likewise
10128 * conf/i386-ieee1275.rmk: Likewise
10129
10130 * kern/i386/loader.S: Move multiboot helpers from here...
10131 * loader/i386/multiboot_helper.S: ...moved here
10132 * include/grub/i386/loader.h: Move declarations of multiboot
10133 helpers from here...
10134 * include/grub/i386/multiboot.h: ...moved here
10135 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10136
42a5b3fc 101372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10138
10139 * kern/env.c (grub_env_context_open): Added an argument to specify
10140 whether a new context inherits exported variables from current
10141 one. This is useful when making a sandbox to interpret a config
10142 file.
10143 All callers updated.
10144
10145 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10146
b28bbc4e 101472009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10148
10149 * kern/env.c (grub_env_context_close): Fix memory leaks.
10150
f04f02e4 101512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10152
10153 * normal/main.c (grub_normal_execute): Added an argument
10154 BATCH to specify if an interactive interface should be provided
10155 after reading a config file.
10156 All callers updated.
10157 (read_command_list): Prevent being executed twice.
10158 (read_fs_list): Likewise.
10159
42a5b3fc 10160 * include/grub/normal.h (grub_normal_execute): Updated the
10161 prototype.
f04f02e4 10162
41473ac2 101632009-03-22 Pavel Roskin <proski@gno.org>
10164
fbc00b0c 10165 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10166 _start.
10167 * kern/i386/pc/startup.S: Likewise.
10168 * kern/i386/efi/startup.S: Likewise.
10169 * kern/i386/ieee1275/startup.S: Likewise.
10170 * kern/i386/coreboot/startup.S: Likewise.
10171 * kern/x86_64/efi/startup.S: Likewise.
10172
41473ac2 10173 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10174 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10175 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10176
2274cc8f 101772009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10180
10181 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10182 limit detection.
10183 Use vaddr of correct segment for entry_point.
10184
b1b797cb 101852009-03-21 Bean <bean123ch@gmail.com>
10186
10187 * commands/blocklist.c: Add include file <grub/command.h>, remove
10188 <grub/normal.h> and <grub/arg.h>.
10189 (grub_cmd_blocklist): Use the new command interface.
10190 (GRUB_MOD_INIT): Likewise.
10191 (GRUB_MOD_FINI): Likewise.
10192 * commands/boot.c: Likewise.
10193 * commands/cat.c: Likewise.
10194 * commands/cmp.c: Likewise.
10195 * commands/configfile.c: Likewise.
10196 * commands/crc.c: Likewise.
10197 * commands/echo.c: Likewise.
10198 * commands/halt.c: Likewise.
10199 * commands/handler.c: Likewise.
10200 * commands/hdparm.c: Likewise.
10201 * commands/help.c: Likewise.
10202 * commands/hexdump.c: Likewise.
10203 * commands/loadenv.c: Likewise.
10204 * commands/ls.c: Likewise.
10205 * commands/lsmmap.c: Likewise.
10206 * commands/lspci.c: Likewise.
10207 * commands/loadenv.c: Likewise.
10208 * commands/read.c: Likewise.
10209 * commands/reboot.c: Likewise.
10210 * commands/search.c: Likewise.
10211 * commands/sleep.c: Likewise.
10212 * commands/test.c: Likewise.
10213 * commands/usbtest.c: Likewise.
10214 * commands/videotest.c: Likewise.
10215 * commands/i386/cpuid.c: Likewise.
10216 * commands/i386/pc/halt.c: Likewise.
10217 * commands/i386/pc/play.c: Likewise.
10218 * commands/i386/pc/pxecmd.c: Likewise.
10219 * commands/i386/pc/vbeinfo.c: Likewise.
10220 * commands/i386/pc/vbetest.c: Likewise.
10221 * commands/ieee1275/suspend.c: Likewise.
10222 * disk/loopback.c: Likewise.
10223 * font/font_cmd.c: Likewise.
10224 * hello/hello.c: Likewise.
10225 * loader/efi/appleloader.c: Likewise.
10226 * loader/efi/chainloader.c: Likewise.
10227 * loader/i386/bsd.c: Likewise.
10228 * loader/i386/efi/linux.c: Likewise.
10229 * loader/i386/ieee1275/linux.c: Likewise.
10230 * loader/i386/linux.c: Likewise.
10231 * loader/i386/pc/chainloader.c: Likewise.
10232 * loader/i386/pc/linux.c: Likewise.
10233 * loader/powerpc/ieee1275/linux.c: Likewise.
10234 * loader/multiboot_loader.c: Likewise.
10235 * term/gfxterm.c: Likewise.
10236 * term/i386/pc/serial.c: Likewise.
10237 * term/terminfo.c: Likewise.
10238
10239 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10240 * term/i386/pc/vga.c: Likewise.
10241 * video/readers/jpeg.c: Likewise.
10242 * video/readers/png.c: Likewise.
10243 * video/readers/tga.c: Likewise.
10244
10245 * util/grub-fstest (cmd_loopback): Removed.
10246 (cmd_blocklist): Likewise.
10247 (cmd_ls): Likewise.
10248 (grub_register_command): Likewise.
10249 (grub_unregister_command): Likewise.
10250 (execute_command): Use grub_command_find to locate command and execute
10251 it.
10252
10253 * include/grub/efi/chainloader.h: Removed.
10254 * loader/efi/chainloader_normal.c: Likewise.
10255 * loader/i386/bsd_normal.c: Likewise.
10256 * loader/i386/pc/chainloader_normal.c: Likewise.
10257 * loader/i386/pc/multiboot_normal.c: Likewise.
10258 * loader/linux_normal.c: Likewise.
10259 * loader/multiboot_loader_normal.c: Likewise.
10260 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10261
10262 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10263 and grub_register_command_p1.
10264
10265 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10266 kern/command.c, lib/arg.c and commands/extcmd.c.
10267 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10268 (minicmd_mod_SOURCES): New variable.
10269 (minicmd_mod_CFLAGS): Likewise.
10270 (minicmd_mod_LDFLAGS): Likewise.
10271 (extcmd_mod_SOURCES): Likewise.
10272 (extcmd_mod_CFLAGS): Likewise.
10273 (extcmd_mod_LDFLAGS): Likewise.
10274 (boot_mod_SOURCES): Removed.
10275 (boot_mod_CFLAGS): Likewise.
10276 (boot_mod_LDFLAGS): Likewise.
10277
10278 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10279 kern/corecmd.c.
10280 (kernel_img_HEADERS): Add command.h.
10281 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10282 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10283 and lib/arg.c.
10284 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10285 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10286 remove the corresponding normal mode command.
10287 (normal_mod_SOURCES): Remove normal/arg.c.
10288 * conf/i386-coreboot.rmk: Likewise.
10289 * conf/i386-efi.rmk: Likewise.
10290 * conf/i386-ieee1275.rmk: Likewise.
10291 * conf/powerpc-ieee1275.rmk: Likewise.
10292 * conf/x86_64-efi.rmk: Likewise.
10293
10294 * include/grub/arg.h: Move from here ...
10295 * include/grub/lib/arg.h: ... to here.
10296
10297 * normal/arg.c: Move from here ...
10298 * lib/arg.c: ... to here.
10299
10300 * commands/extcmd.c: New file.
10301 * commands/minicmd.c: Likewise.
10302 * include/grub/command.h: Likewise.
10303 * include/grub/extcmd.h: Likewise.
10304 * kern/command.c: Likewise.
10305 * kern/corecmd.c: Likewise.
10306
10307 * kern/list.c (grub_list_iterate): Return int instead of void.
10308 (grub_list_insert): New function.
10309 (grub_prio_list_insert): Likewise.
10310
10311 * kern/rescue.c (grub_rescue_command): Removed.
10312 (grub_rescue_command_list): Likewise.
10313 (grub_rescue_register_command): Likewise.
10314 (grub_rescue_unregister_command): Likewise.
10315 (grub_rescue_cmd_boot): Move to minicmd.c
10316 (grub_rescue_cmd_help): Likewise.
10317 (grub_rescue_cmd_info): Likewise.
10318 (grub_rescue_cmd_boot): Likewise.
10319 (grub_rescue_cmd_testload): Likewise.
10320 (grub_rescue_cmd_dump): Likewise.
10321 (grub_rescue_cmd_rmmod): Likewise.
10322 (grub_rescue_cmd_lsmod): Likewise.
10323 (grub_rescue_cmd_exit): Likewise.
10324 (grub_rescue_print_devices): Moved to corecmd.c.
10325 (grub_rescue_print_files): Likewise.
10326 (grub_rescue_cmd_ls): Likewise.
10327 (grub_rescue_cmd_insmod): Likewise.
10328 (grub_rescue_cmd_set): Likewise.
10329 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10330 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10331 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10332 commands, remove grub_rescue_register_command calls.
b1b797cb 10333
7d074e3c 10334 * normal/command.c (grub_register_command): Removed.
b1b797cb 10335 (grub_unregister_command): Likewise.
10336 (grub_command_find): Likewise.
10337 (grub_iterate_commands): Likewise.
10338 (rescue_command): Likewise.
10339 (export_command): Moved to corecmd.c.
10340 (set_command): Removed.
10341 (unset_command): Likewise.
10342 (insmod_command): Likewise.
10343 (rmmod_command): Likewise.
10344 (lsmod_command): Likewise.
10345 (grub_command_init): Likewise.
10346
10347 * normal/completion.c (iterate_command): Use cmd->prio to check for
10348 active command.
10349 (complete_arguments): Use grub_extcmd_t structure to find options.
10350 (grub_normal_do_completion): Change function grub_iterate_commands to
10351 grub_command_iterate.
10352
10353 * normal/execute.c (grub_script_execute_cmd): No need to parse
10354 argument here.
10355
10356 * normal/main.c (grub_dyncmd_dispatcher): New function.
10357 (read_command_list): Register unload commands as dyncmd.
10358 (grub_cmd_normal): Use new command interface, register rescue,
10359 unregister normal at entry, register normal, unregister rescue at exit.
10360
10361 * include/grub/list.h (grub_list_test_t): New type.
10362 (grub_list_iterate): Return int instead of void.
10363 (grub_list_insert): New function.
10364 (GRUB_AS_NAMED_LIST_P): New macro.
10365 (GRUB_AS_PRIO_LIST): Likewise.
10366 (GRUB_AS_PRIO_LIST_P): Likewise.
10367 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10368 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10369 (grub_prio_list): New structure.
10370 (grub_prio_list_insert): New function.
10371 (grub_prio_list_remove): New inline function.
10372
10373 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10374 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10375 (GRUB_COMMAND_FLAG_MENU): Likewise.
10376 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10377 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10378 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10379 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10380 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10381 (grub_command): Likewise.
10382 (grub_register_command): Likewise.
10383 (grub_command_find): Likewise.
10384 (grub_iterate_commands): Likewise.
10385 (grub_command_init): Likewise.
10386 (grub_arg_parse): Likewise.
10387 (grub_arg_show_help): Likewise.
10388
10389 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10390 (grub_rescue_unregister_command): Likewise.
10391
10392 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10393 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10394 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10395
10396 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10397 grub_rescue_cmd_initrd.
10398 * include/grub/i386/loader.h: Likewise.
10399 * include/grub/x86_64/loader.h: Likewise.
10400
10401 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10402
1f4147aa 104032009-03-21 Bean <bean123ch@gmail.com>
10404
10405 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10406 instead of stat in mingw environment.
10407
10408 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10409
10410 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10411
10412 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10413 AC_CONFIG_LINKS.
10414
2156d5ba 104152009-03-21 Bean <bean123ch@gmail.com>
10416
10417 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10418 out of range error.
10419
177b82ca 104202009-03-18 Michel Dänzer <michel@daenzer.net>
10421
10422 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10423 checking inode flags for EXT4_EXTENTS_FLAG.
10424
14aad807 104252009-03-18 Robert Millan <rmh@aybabtu.com>
10426
10427 * loader/i386/linux.c: Include `<grub/video.h>' and
10428 `<grub/i386/pc/vbe.h>'..
10429 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10430 (grub_linux32_boot): Attempt to configure video settings with
10431 grub_linux_setup_video().
10432 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10433 to avoid grub_console_fini() which would step out of graphical mode
10434 unconditionally.
10435
8cf83a27 104362009-03-14 Robert Millan <rmh@aybabtu.com>
10437
10438 Fix build on powerpc.
10439 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10440
40164e75 104412009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10444 background image command.
10445
c58bc32a 104462009-03-12 Colin D Bennett <colin@gibibit.com>
10447
10448 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10449 (grub_gfxterm_putchar): Extract pairs of identical calls to
10450 draw_cursor out of conditional blocks.
10451
5415144a 104522009-03-11 Pavel Roskin <proski@gnu.org>
10453
10454 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10455 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10456
6394042e 104572009-03-11 Robert Millan <rmh@aybabtu.com>
10458
10459 * loader/i386/multiboot_elfxx.c
10460 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10461
b7b50e5f 104622009-03-11 Felix Zielcke <fzielcke@z-51.de>
10463
10464 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10465 `kern/handler.c'.
10466
1ca7fc96 104672009-03-11 Robert Millan <rmh@aybabtu.com>
10468
10469 * loader/i386/multiboot.c (code_size): New variable.
10470 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 10471 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 10472 4-byte alignment to MBI and others by increasing
7d074e3c 10473 `boot_loader_name_length' appropriately.
1ca7fc96 10474
10475 * loader/i386/multiboot_elfxx.c
10476 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10477
a83ea1d2 104782009-03-09 Felix Zielcke <fzielcke@z-51.de>
10479
10480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10481 `fs/ext2.c'.
10482
aa9f3bff 104832009-03-08 Robert Millan <rmh@aybabtu.com>
10484
10485 Make loader/i386/linux.c usable on i386-pc again.
10486
10487 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10488 memory to heap.
10489 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10490 `#error' stanza.
10491
d8b3b60e 104922009-03-07 Bean <bean123ch@gmail.com>
10493
10494 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10495 allocation.
10496
b362c9e9 104972009-03-06 Robert Millan <rmh@aybabtu.com>
10498
10499 Fix display issue on terminals with screen size other than 80x25
10500 (e.g. gfxterm with resolution higher than 640x480).
10501
10502 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 10503 position relative to the center of the terminal instead of relying
b362c9e9 10504 on a hardcoded offset.
10505
9304eef1 105062009-03-04 Robert Millan <rmh@aybabtu.com>
10507
10508 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10509 installed.
10510
10511 * Makefile.in (host_kernel): New variable.
10512 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10513 scripts instead of just the windows one.
10514 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10515
eabc95fb 105162009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 10517
10518 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10519 `kern/handler.c'.
10520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10521 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10522 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10525 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10526
ceb1223c 105272009-03-04 Felix Zielcke <fzielcke@z-51.de>
10528
10529 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10530 or if there's no space for the disk label and print the partition number on a
10531 invalid magic.
10532
4910684a 105332009-03-04 Felix Zielcke <fzielcke@z-51.de>
10534
10535 * util/misc.c: Include <time.h>.
10536 (grub_millisleep): New function.
10537
7e9ca17a 105382009-03-04 Bean <bean123ch@gmail.com>
10539
10540 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10541 another option -mno-red-zone.
10542
10543 * commands/handler.c: Change module description.
10544
10545 * kern/handler.c: Add missing space at the end of description line.
10546
10547 * kern/list.c: Likewise.
10548
f501677c 105492009-03-03 Robert Millan <rmh@aybabtu.com>
10550
10551 Move more components to the relocation area, and fix mbi pointer
10552 handling to use the destination rather than the origin (thanks to
10553 Vladimir Serbinenko for spotting).
10554
10555 * loader/i386/multiboot.c (mbi_dest): New variable.
10556 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10557 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10558 relocation area.
10559
9902d047 105602009-03-01 Bean <bean123ch@gmail.com>
10561
50fb7002 10562 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 10563 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10564 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10565 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10566
10567 * loader/i386/efi/linux.c (acpi_guid): New variable.
10568 (acpi_guid): Likewise.
10569 (EBDA_SEG_ADDR): New constant.
10570 (LOW_MEM_ADDR): Likewise.
10571 (FAKE_EBDA_SEG): Likewise.
10572 (fake_bios_data): New function.
10573 (grub_linux_boot): Call fake_bios_data.
10574
71b9f361 105752009-03-01 Bean <bean123ch@gmail.com>
10576
10577 * commands/terminal.c: Removed.
10578
10579 * commands/handler.c: New file.
10580
10581 * include/grub/list.h: Likewise.
10582
10583 * include/grub/handler.h: Likewise.
10584
10585 * kern/list.c: Likewise.
10586
10587 * kern/handler.c: Likewise.
10588
10589 * kern/term.h: Include header file <grub/handler.h>.
10590 (grub_term_input): Move next field to the beginning.
10591 (grub_term_output): Likewise.
10592 (grub_term_input_class): New variable.
10593 (grub_term_output_class): Likewise.
10594 (grub_term_register_input): Changed to inline function.
10595 (grub_term_register_output): Likewise.
10596 (grub_term_unregister_input): Likewise.
10597 (grub_term_unregister_output): Likewise.
10598 (grub_term_set_current_input): Likewise.
10599 (grub_term_set_current_output): Likewise.
10600 (grub_term_get_current_input): Likewise.
10601 (grub_term_get_current_output): Likewise.
10602 (grub_term_iterate_input): Removed.
10603 (grub_term_iterate_output): Likewise.
10604
10605 * kern/term.c (grub_term_list_input): Removed.
10606 (grub_term_list_output): Likewise.
10607 (grub_term_input_class): New variable.
10608 (grub_term_output_class): Likewise.
50fb7002 10609 (grub_cur_term_input): Change variable as macro.
71b9f361 10610 (grub_cur_term_output): Likewise.
10611 (grub_term_register_input): Removed.
10612 (grub_term_register_output): Likewise.
10613 (grub_term_unregister_input): Likewise.
10614 (grub_term_unregister_output): Likewise.
10615 (grub_term_set_current_input): Likewise.
10616 (grub_term_set_current_output): Likewise.
10617 (grub_term_iterate_input): Likewise.
10618 (grub_term_iterate_output): Likewise.
10619 (grub_term_get_current_input): Likewise.
10620 (grub_term_get_current_output): Likewise.
10621
10622 * util/grub-editenv.c: Include header file <grub/handler.h>.
10623 (grub_term_get_current_input): Removed.
10624 (grub_term_get_current_output): Likewise.
10625 (grub_term_input_class): New variable.
50fb7002 10626 (grub_term_output_class): Likewise.
71b9f361 10627
10628 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10629 (grub_term_get_current_output): Likewise.
10630 (grub_term_input_class): New variable.
50fb7002 10631 (grub_term_output_class): Likewise.
71b9f361 10632
10633 * util/grub-probe.c (grub_term_get_current_input): Removed.
10634 (grub_term_get_current_output): Likewise.
10635 (grub_term_input_class): New variable.
50fb7002 10636 (grub_term_output_class): Likewise.
71b9f361 10637
10638 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10639 (grub_term_get_current_output): Likewise.
10640 (grub_term_input_class): New variable.
50fb7002 10641 (grub_term_output_class): Likewise.
71b9f361 10642
10643 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10644 (terminal_mod_SOURCES): Likewise.
10645 (terminal_mod_CFLAGS): Likewise.
10646 (terminal_mod_LDFLAGS): Likewise.
10647
10648 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10649 handler.c.
10650 (kernel_img_SOURCES): Add list.c and handler.c.
10651 (kernel_img_HEADERS): Add list.h and handler.h.
10652
10653 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10654 handler.c.
10655 (kernel_mod_SOURCES): Add list.c and handler.c.
10656 (kernel_mod_HEADERS): Add list.h and handler.h.
10657
10658 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10659 handler.c.
10660 (kernel_elf_SOURCES): Add list.c and handler.c.
10661 (kernel_elf_HEADERS): Add list.h and handler.h.
10662
10663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10664 handler.c.
10665 (kernel_elf_SOURCES): Add list.c and handler.c.
10666 (kernel_elf_HEADERS): Add list.h and handler.h.
10667
10668 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10669 handler.c.
10670 (kernel_mod_SOURCES): Add list.c and handler.c.
10671 (kernel_mod_HEADERS): Add list.h and handler.h.
10672
10673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10674 handler.c.
10675 (kernel_elf_SOURCES): Add list.c and handler.c.
10676 (kernel_elf_HEADERS): Add list.h and handler.h.
10677
8a31787f 106782009-02-27 Robert Millan <rmh@aybabtu.com>
10679
10680 Factorize elf32 / elf64 code in Multiboot loader. This will
10681 prevent it from getting out of sync again.
10682
10683 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10684 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10685 grub_multiboot_load_elf64): Move from here ...
10686 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10687 grub_multiboot_load_elf): ... to here (new file).
10688
51cd3dfc 106892009-02-27 Robert Millan <rmh@aybabtu.com>
10690
10691 * util/grub.d/10_linux.in: Rename "single-user mode" to
10692 "recovery mode".
10693
6e8c9c3a 106942009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Don't leak in SCSI code.
10697 * disk/scsi.c (grub_scsi_close): free `scsi'.
10698
4b6bf4f9 106992009-02-27 Robert Millan <rmh@aybabtu.com>
10700
10701 * loader/i386/pc/multiboot.c: Move from here ...
10702 * loader/i386/multiboot.c: ... to here. Update all users.
10703
b9413424 107042009-02-27 Robert Millan <rmh@aybabtu.com>
10705
10706 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10707 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10708
50fb7002 107092009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 10710
10711 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10712 b-tree.
10713
8cc50345 107142009-02-27 Robert Millan <rmh@aybabtu.com>
10715
10716 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10717 `0x' qualifier as 0 when base is specified as parameter).
10718
6e09b8b7 107192009-02-24 Bean <bean123ch@gmail.com>
10720
10721 * configure.ac: Check for -mcmodel=large in x86_64 target.
10722
10723 * include/grub/efi/api.h (efi_call_10): New macro.
10724 (efi_wrap_10): New function.
10725
10726 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10727 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10728 (GRUB_PE32_REL_BASED_LOW): Likewise.
10729 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10730 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10731 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10732 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10733 (GRUB_PE32_REL_BASED_REL): Likewise.
10734 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10735 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10736 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10737
10738 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10739 issue.
10740
10741 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10742 (efi_wrap_10): New function.
10743
10744 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10745
10746 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10747 MB/MBP model (NV chipset).
10748 (devdata_devs): Add devpath_5 to the list.
10749
10750 * load/i386/efi/linux.c (video_base): Remove variable.
10751 (RGB_MASK): New macro.
10752 (RGB_MAGIC): Likewise.
10753 (LINE_MIN): Likewise.
10754 (LINE_MAX): Likewise.
10755 (FBTEST_STEP): Likewise.
10756 (FBTEST_COUNT): Likewise.
10757 (fb_list): New variable.
10758 (grub_find_video_card): Remove function.
10759 (find_framebuf): New function.
10760 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10761 line length.
10762
10763 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10764 problem for x86_64.
10765
74b21bee 107662009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10767
10768 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10769
10770 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10771 coding tool name.
10772
a455f472 107732009-02-22 Robert Millan <rmh@aybabtu.com>
10774
10775 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10776 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10777 in our relocation, instead of using it directly from heap. Also
10778 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10779
6374daf3 107802009-02-21 Robert Millan <rmh@aybabtu.com>
10781
10782 Implement USB keyboard support (based on patch by Marco Gerards)
10783
10784 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10785 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10786 (usb_keyboard_mod_LDFLAGS): New variables.
10787
10788 * term/usb_keyboard.c: New file.
10789
8fa4ea70 107902009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 Corrected wrong declaration
10793
10794 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10795
353976ac 107962009-02-14 Christian Franke <franke@computer.org>
10797
10798 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10799 (grub_lspci_iter): Print class code and programming interface byte.
10800
6aa1169b 108012009-02-14 Christian Franke <franke@computer.org>
10802
10803 * gendistlist.sh: Ignore `.svn' directories.
10804
265372ca 108052009-02-14 Felix Zielcke <fzielcke@z-51.de>
10806
10807 * fs/fat.c: Add 2009 to Copyright line.
10808
9ff516f3 108092009-02-14 Christian Franke <franke@computer.org>
10810
10811 * commands/hdparm.c: New file. Provides `hdparm' command
10812 which sends ATA commands via grub_disk_ata_pass_through ().
10813
10814 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10815
10816 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10817 and <grub/cpu/io.h> to include/grub/ata.h.
10818 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10819 (GRUB_CDROM_SECTOR_SIZE): Remove.
10820 (GRUB_ATA_*): Move to include/grub/ata.h.
10821 (GRUB_ATAPI_*): Likewise.
10822 (enum grub_ata_commands): Likewise.
10823 (enum grub_ata_timeout_milliseconds): Likewise.
10824 (struct grub_ata_device): Likewise.
10825 (grub_ata_regset): Likewise.
10826 (grub_ata_regget): Likewise.
10827 (grub_ata_regset2): Likewise.
10828 (grub_ata_regget2): Likewise.
10829 (grub_ata_check_ready): Likewise.
10830 (grub_ata_wait_not_busy): Remove static, exported in
10831 include/grub/ata.h.
10832 (grub_ata_wait_drq): Likewise.
10833 (grub_ata_pio_read): Likewise.
10834
10835 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10836 function for hdparm.mod.
10837
10838 * include/grub/ata.h: New file, contains declarations from
10839 disk/ata.c.
10840 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10841
10842 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10843 (grub_disk_ata_pass_through): New exported variable.
10844
10845 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10846
772e23da 108472009-02-13 Colin D Bennett <colin@gibibit.com>
10848
10849 Support multiple fallback entries, and provide an API to support
10850 executing default+fallback menu entries. Renamed the `terminal' menu
10851 viewer to `text'.
10852
10853 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10854 variable declaration.
10855 (grub_menu_execute_callback): New structure declaration.
10856 (grub_menu_execute_callback_t): New typedef.
10857 (grub_menu_execute_with_fallback): New function declaration.
10858 (grub_menu_get_entry): Likewise.
10859 (grub_menu_get_timeout): Likewise.
10860 (grub_menu_set_timeout): Likewise.
10861
10862 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10863
10864 * normal/menu.c (grub_wait_after_message): Moved to
10865 `normal/menu_text.c'.
10866 (draw_border): Likewise.
10867 (print_message): Likewise.
10868 (print_entry): Likewise.
10869 (print_entries): Likewise.
10870 (grub_menu_init_page): Likewise.
10871 (get_entry_number): Likewise.
10872 (print_timeout): Likewise.
10873 (run_menu): Likewise.
10874 (grub_menu_execute_entry): Likewise.
10875 (show_text_menu): Likewise.
10876 (get_and_remove_first_entry_number): New function.
10877 (grub_menu_execute_with_fallback): Likewise.
10878 (get_entry): Renamed to ...
10879 (grub_menu_get_entry): .. this and made it global.
10880 (get_timeout): Renamed to ...
10881 (grub_menu_get_timeout): ... this and made it global.
10882 (set_timeout): Renamed to ...
10883 (grub_menu_set_timeout): ... this and made it global.
10884 (grub_normal_terminal_menu_viewer): Renamed to ...
10885 (grub_normal_text_menu_viewer): ... this.
10886
10887 * normal/menu_text.c: New file. Extracted text-menu-specific code
10888 from normal/menu.c.
10889
10890 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10891 (normal_mod_SOURCES): Likewise.
10892
10893 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10894 (normal_mod_SOURCES): Likewise.
10895
10896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10897 (normal_mod_SOURCES): Likewise.
10898
10899 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10900 (normal_mod_SOURCES): Likewise.
10901
10902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10903 (normal_mod_SOURCES): Likewise.
10904
10905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10906 (normal_mod_SOURCES): Likewise.
10907
10908 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10909 (normal_mod_SOURCES): Likewise.
10910
16ac430e 109112009-02-11 Robert Millan <rmh@aybabtu.com>
10912
10913 * util/grub.d/00_header.in: Update old reference to `font' command.
10914
06ff20fc 109152009-02-10 Felix Zielcke <fzielcke@z-51.de>
10916
10917 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10918
10919 Based on patch from Javier Martín.
10920
96da9407 109212009-02-09 Felix Zielcke <fzielcke@z-51.de>
10922
10923 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10924 to avoid false positives with FAT.
96da9407 10925 (grub_fstest_SOURCES): Likewise.
10926 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10930 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10931 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10932
6dca6fe4 109332009-02-09 Felix Zielcke <fzielcke@z-51.de>
10934
06ff20fc 10935 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10936 bpb.version_specific.fat12_or_fat16.fstype and
10937 bpb.version_specific.fat32.fstype.
10938
2550c62f 109392009-02-08 Robert Millan <rmh@aybabtu.com>
10940
be110b30 10941 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10942
56978920 109432009-02-08 Robert Millan <rmh@aybabtu.com>
10944
10945 * Makefile.in (host_os, host_cpu): New variables.
10946 (target_os): Remove. Update all users.
10947
d64399b5 109482009-02-08 Marco Gerards <marco@gnu.org>
10949
10950 * Makefile.in (enable_grub_emu_usb): New variable.
10951 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10952 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10953 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10954 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10955 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10956 `usbtest.mod' and `usbms.mod'.
10957 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10958 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10959 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10960 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10961 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10962 variables.
10963
10964 * disk/usbms.c: New file.
10965
10966 * include/grub/usb.h: Likewise.
10967
10968 * include/grub/usbtrans.h: Likewise.
10969
10970 * include/grub/usbdesc.h: Likewise.
10971
10972 * bus/usb/usbtrans.c: Likewise.
10973
10974 * bus/usb/ohci.c: Likewise.
10975
10976 * bus/usb/uhci.c: Likewise.
10977
10978 * bus/usb/usbhub.c: Likewise.
10979
10980 * bus/usb/usb.c: Likewise.
10981
10982 * commands/usbtest.c: Likewise.
10983
10984 * util/usb.c: Likewise.
50fb7002 10985
d64399b5 10986 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10987
10988 * configure.ac: Test for libusb presence.
50fb7002 10989
d64399b5 10990 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10991
2b40d6bb 109922009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10993
10994 * kern/mm.c: Add more comments.
10995
73a4ce81 109962009-02-08 Robert Millan <rmh@aybabtu.com>
10997
10998 Patch from Javier Martín.
10999 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11000 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11001
f821ce59 110022009-02-08 Robert Millan <rmh@aybabtu.com>
11003
11004 * fs/cpio.c: Split tar functionality to ...
11005 * fs/tar.c: ... here (new file). Update all users.
11006
aebfc4b0 110072009-02-07 Robert Millan <rmh@aybabtu.com>
11008
11009 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11010 backward-incompatible features.
11011
11012 Based on patch from Javier Martín, with some adjustments.
11013
50fb7002 110142009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11015
11016 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11017
0bb5115e 110182009-02-07 Robert Millan <rmh@aybabtu.com>
11019
11020 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11021 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11022 after the RAID stuff.
11023
38a0f8e7 110242009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11025
50fb7002 11026 Fixes problem when running vbetest command as reported by
38a0f8e7 11027 Vladimir Serbinenko <phcoder@gmail.com>.
11028
11029 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11030
3143cc1c 110312009-02-04 Felix Zielcke <fzielcke@z-51.de>
11032
11033 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11034 /dev/md/NpN style mdraid devices.
11035
9cba6fce 110362009-02-03 Felix Zielcke <fzielcke@z-51.de>
11037
11038 * util/unifont2pff.rb: Remove.
11039
e507a2c1 110402009-02-03 Felix Zielcke <fzielcke@z-51.de>
11041
11042 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11043 `#'.
11044
d2c2b4cd 110452009-02-03 Felix Zielcke <fzielcke@z-51.de>
11046
11047 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11049 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11050 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11053 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11054
b4315fb0 110552009-02-02 Christian Franke <franke@computer.org>
11056
11057 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11058
de3aa260 110592009-02-01 Felix Zielcke <fzielcke@z-51.de>
11060
7c3ff286 11061 * INSTALL: Note that we now require at least autoconf 2.59 and
11062 that LZO is optional.
de3aa260 11063
825a182b 110642009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11065
11066 Base on patch on bug #24154 created by Tomas Tintera
11067 <trosos@seznam.cz>.
11068
11069 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11070
a69ef770 110712009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11072
7c3ff286 11073 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11074 <bero@arklinux.org>.
11075
11076 * normal/parser.y (script_init): Add missing semicolon.
11077
6fa42fa6 110782009-01-31 Colin D Bennett <colin@gibibit.com>
11079
7c3ff286 11080 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11081 (free_menu_entry_classes): Added.
11082 (grub_normal_menu_addentry): Added class property handling.
11083 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11084 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11085
11086 * normal/menu_viewer.c: New file.
11087
11088 * normal/menu.c (run_menu_entry): Renamed to ...
11089 (grub_menu_execute_entry): ... this and made it as global.
11090 (grub_menu_run): Renamed to ...
11091 (show_text_menu): ... this and made it local.
11092 (show_text_menu): Adapt to new function names.
11093 (grub_normal_terminal_menu_viewer): New global variable.
11094
11095 * include/grub/menu.h: New file.
11096
11097 * include/grub/menu_viewer.h: New file.
11098
11099 * include/grub/normal.h: Added include to grub/menu.h.
11100 (grub_menu_entry): Moved to include/grub/menu.h.
11101 (grub_menu_entry_t): Likewise.
11102 (grub_menu): Likewise.
11103 (grub_menu_t): Likewise.
11104 (grub_normal_terminal_menu_viewer): Added.
11105 (grub_menu_execute_entry): Likewise.
11106 (grub_menu_run): Removed.
11107
11108 * DISTLIST: Added include/grub/menu.h.
11109 Added include/grub/menu_viewer.h.
11110 Added normal/menu_viewer.c.
11111
111122009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11113
11114 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11115 arglist for menutitle arguments.
11116
11117 * normal/main.c (grub_normal_menu_addentry): Likewise.
11118
11119 * normal/parser.y (menuentry): Likewise.
11120
11121 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11122
11123 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11124 (grub_script_create_cmdmenu): Likewise.
11125
11126 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11127
11128 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11129 changes.
11130
11131 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11132
11133 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11134
11135 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11136
11137 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11138
11139 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11140
11141 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11142
56192c23 111432009-01-30 Christian Franke <franke@computer.org>
11144
11145 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11146 in option help text.
11147
d72521b3 111482009-01-27 Pavel Roskin <proski@gnu.org>
11149
11150 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11151
994b5e84 111522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11153
11154 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11155
11156 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11157
11158 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11159 unregister function.
11160
6a7eab2c 111612009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11162
11163 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11164
11165 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11166
11167 * util/grub-mkfont.c (usage): Fix typo.
11168
11169 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11170
1806b56e 111712009-01-26 Daniel Mierswa <impulze@impulze.org>
11172
3fb18f09 11173 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11174
336e1fb9 11175 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11176
1806b56e 11177 * kern/misc.c (grub_strcasecmp): New function.
11178 (grub_strcasecmp): Use grub_size_t instead of int for length.
11179 Fix return value.
11180 * include/grub/misc.h: Update function prototypes.
11181
580b2a0f 111822009-01-26 Robert Millan <rmh@aybabtu.com>
11183
11184 * configure.ac: Fix cross-compilation check.
ef257b36 11185
d31c24f1 111862009-01-22 Christian Franke <franke@computer.org>
11187
11188 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11189 (precision) digit string. Allow `.format2' without `format1' (width).
11190 Limit input chars for `%s' output to `format2' if specified. This is
11191 compatible with standard printf ().
11192
3138b44c 111932009-01-22 Christian Franke <franke@computer.org>
11194
11195 * disk/ata.c (grub_ata_wait_status): Replace by ...
11196 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11197 other status bits may be invalid while BSY is asserted.
11198 (grub_ata_check_ready): New function.
11199 (grub_ata_cmd): Removed.
11200 (grub_ata_wait_drq): New function.
11201 (grub_ata_strncpy): Remove inline.
11202 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11203 and error check now done by grub_ata_wait_drq ().
11204 (grub_ata_pio_write): Likewise.
11205 (grub_atapi_identify): Set DEV before check for !BSY. Use
11206 grub_ata_wait_drq () to wait for data.
11207 (grub_ata_device_initialize): Add status register check to
11208 detect missing SATA slave devices. Add debug messages.
11209 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11210 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11211 transfer loop by grub_ata_pio_write ().
11212 (grub_ata_identify): Set DEV before check for !BSY. Use
11213 grub_ata_wait_drq () to wait for data.
ef257b36 11214 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11215 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11216 read/write in one loop. Fix invalid command on write. Fix incomplete
11217 command on (size % batch) == 0. Add missing error check after write of
11218 last block. Add debug messages.
11219 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11220
59a64ef6 112212009-01-19 Christian Franke <franke@computer.org>
11222
11223 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11224 (GRUB_ATAPI_IREASON_*): Likewise.
11225 (grub_ata_pio_write): Fix timeout error return.
11226 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11227 (grub_atapi_wait_drq): New function.
11228 (grub_atapi_packet): New parameter `size'.
11229 Use grub_atapi_wait_drq () and direct write instead of
11230 grub_ata_pio_write ().
11231 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11232 reads the number of bytes requested by the device for each DRQ
11233 assertion.
11234 (grub_atapi_write): Remove old implementation, return not
11235 implemented instead.
11236
1cfe20b3 112372009-01-19 Christian Franke <franke@computer.org>
11238
11239 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11240 of 512 to calculate data size.
11241 (grub_scsi_read12): Likewise.
11242 (grub_scsi_write10): Likewise.
11243 (grub_scsi_write12): Likewise.
11244 (grub_scsi_read): Adjust size according to blocksize.
11245 Add checks for invalid blocksize and unaligned transfer.
11246
bee5fe5d 112472009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11248
11249 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11250
ef257b36 11251 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11252 width glyphs.
11253
3e643f8c 112542009-01-19 Robert Millan <rmh@aybabtu.com>
11255
11256 * config.guess: Update to latest version from config git.
11257 * config.sub: Likewise.
11258
4fa80998 112592009-01-17 Felix Zielcke <fzielcke@z-51.de>
11260
11261 * Makefile.in: Change font compilation to use new grub-mkfont instead
11262 of java version.
11263
11264 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11265 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11266 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11267 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11268 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11269 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11270 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11271 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11272 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11273
7086085b 112742009-01-16 Christian Franke <franke@computer.org>
11275
11276 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11277 (enum grub_ata_timeout_milliseconds): New enum.
11278 (grub_ata_wait_status): Add parameter milliseconds.
11279 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11280 recovery from timed-out commands.
11281 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11282 return grub_errno instead of REG_ERROR.
11283 (grub_ata_pio_write): Add parameter milliseconds.
11284 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11285 Pass milliseconds to grub_ata_wait_status () and
11286 grub_ata_pio_read ().
11287 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11288 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11289 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11290 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11291 It is not suitable for device detection, because DEV bit is ignored,
11292 the command may run too long, and not all devices set the signature
11293 properly.
11294 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11295 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11296 Fix device selection, DEV bit must be set first to address the registers
11297 of the correct device.
11298 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11299 grub_ata_pio_read/write ().
11300 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11301 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11302
4a412913 113032009-01-13 Carles Pina i Estany <carles@pina.cat>
11304
11305 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11306
7795c55e 113072009-01-13 Bean <bean123ch@gmail.com>
d913988c 11308
11309 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11310
7795c55e 113112009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11312
11313 * Makefile.in: (enable_grub_mkfont): New variable.
11314 (freetype_cflags): Likewise.
11315 (freetype_libs): Likewise.
11316
11317 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11318 (grub_mkfont_SOURCES): New variable.
11319 (grub_mkfont_CFLAGS): Likewise.
11320 (grub_mkfont_LDFLAGS): Likewise.
11321
11322 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11323 library if `--enable-grub-mkfont' is requested.
11324 (enable_grub_mkfont): New variable.
11325 (freetype_cflags): Likewise.
11326 (freetype_libs): Likewise.
11327
11328 * util/grub-mkfont.c: New file.
11329
093af1fe 113302009-01-12 Christian Franke <franke@computer.org>
11331
11332 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11333 mode check. Fix setting of compat_use[].
11334
f36cc108 113352009-01-10 Robert Millan <rmh@aybabtu.com>
11336
11337 Update a few copyright years which we forgot to do in 2008 (only for
11338 files whose changes made in 2008 were copyright-significant)
11339
11340 * Makefile.in: Add 2008 to Copyright line.
11341 * disk/ieee1275/ofdisk.c: Likewise.
11342 * disk/efi/efidisk.c: Likewise.
11343 * kern/dl.c: Likewise.
11344 * kern/sparc64/ieee1275/init.c: Likewise.
11345 * kern/mm.c: Likewise.
11346 * kern/efi/mm.c: Likewise.
11347 * boot/i386/pc/boot.S: Likewise.
11348 * genfslist.sh: Likewise.
11349 * fs/iso9660.c: Likewise.
11350 * fs/hfs.c: Likewise.
11351 * fs/jfs.c: Likewise.
11352 * fs/minix.c: Likewise.
11353 * fs/ufs.c: Likewise.
11354 * gensymlist.sh.in: Likewise.
11355 * genkernsyms.sh.in: Likewise.
11356 * include/grub/misc.h: Likewise.
11357 * include/grub/types.h: Likewise.
11358 * include/grub/symbol.h: Likewise.
11359 * include/grub/elf.h: Likewise.
11360 * include/grub/kernel.h: Likewise.
11361 * include/grub/disk.h: Likewise.
11362 * include/grub/dl.h: Likewise.
11363 * include/grub/i386/linux.h: Likewise.
11364 * include/grub/i386/pc/biosdisk.h: Likewise.
11365 * include/grub/efi/api.h: Likewise.
11366 * include/grub/efi/pe32.h: Likewise.
11367 * include/grub/util/misc.h: Likewise.
11368 * normal/execute.c: Likewise.
11369 * normal/arg.c: Likewise.
11370 * normal/completion.c: Likewise.
11371 * normal/lexer.c: Likewise.
11372 * normal/parser.y: Likewise.
11373 * normal/misc.c: Likewise.
11374 * commands/i386/pc/vbeinfo.c: Likewise.
11375 * commands/hexdump.c: Likewise.
11376 * commands/terminal.c: Likewise.
11377 * commands/ls.c: Likewise.
11378 * commands/help.c: Likewise.
11379 * partmap/pc.c: Likewise.
11380 * loader/efi/chainloader.c: Likewise.
11381 * loader/multiboot_loader.c: Likewise.
11382 * loader/i386/pc/multiboot2.c: Likewise.
11383 * term/efi/console.c: Likewise.
11384 * term/i386/pc/serial.c: Likewise.
11385 * util/lvm.c: Likewise.
11386 * util/console.c: Likewise.
11387 * util/i386/efi/grub-mkimage.c: Likewise.
11388 * util/raid.c: Likewise.
11389
7f02114b 113902009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11391
11392 * commands/videotest.c: Removed include to grub/machine/memory.h.
11393
11394 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11395 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11396 (video_mod_SOURCES): Removed.
11397 (video_mod_CFLAGS): Likewise.
11398 (video_mod_LDFLAGS): Likewise.
11399 (gfxterm_mod_SOURCES): Likewise.
11400 (gfxterm_mod_CFLAGS): Likewise.
11401 (gfxterm_mod_LDFLAGS): Likewise.
11402 (videotest_mod_SOURCES): Likewise.
11403 (videotest_mod_CFLAGS): Likewise.
11404 (videotest_mod_LDFLAGS): Likewise.
11405 (bitmap_mod_SOURCES): Likewise.
11406 (bitmap_mod_CFLAGS): Likewise.
11407 (bitmap_mod_LDFLAGS): Likewise.
11408 (tga_mod_SOURCES): Likewise.
11409 (tga_mod_CFLAGS): Likewise.
11410 (tga_mod_LDFLAGS): Likewise.
11411 (jpeg_mod_SOURCES): Likewise.
11412 (jpeg_mod_CFLAGS): Likewise.
11413 (jpeg_mod_LDFLAGS): Likewise.
11414 (png_mod_SOURCES): Likewise.
11415 (png_mod_CFLAGS): Likewise.
11416 (png_mod_LDFLAGS): Likewise.
11417
11418 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11419 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11420 (video_mod_SOURCES): Added.
11421 (video_mod_CFLAGS): Likewise.
11422 (video_mod_LDFLAGS): Likewise.
11423 (videotest_mod_SOURCES): Likewise.
11424 (videotest_mod_CFLAGS): Likewise.
11425 (videotest_mod_LDFLAGS): Likewise.
11426 (bitmap_mod_SOURCES): Likewise.
11427 (bitmap_mod_CFLAGS): Likewise.
11428 (bitmap_mod_LDFLAGS): Likewise.
11429 (tga_mod_SOURCES): Likewise.
11430 (tga_mod_CFLAGS): Likewise.
11431 (tga_mod_LDFLAGS): Likewise.
11432 (jpeg_mod_SOURCES): Likewise.
11433 (jpeg_mod_CFLAGS): Likewise.
11434 (jpeg_mod_LDFLAGS): Likewise.
11435 (png_mod_SOURCES): Likewise.
11436 (png_mod_CFLAGS): Likewise.
11437 (png_mod_LDFLAGS): Likewise.
11438 (gfxterm_mod_SOURCES): Likewise.
11439 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11440 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11441
11442 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11443 grub/machine/console.h.
11444
644fff97 114452009-01-04 Jerone Young <jerone@gmail.com>
11446
11447 Make on screen instructions clearer
11448
11449 Based on patch created by Jidanni <jidanni@jidanni.org>
11450
11451 * normal/menu.c: print clearer instructions on the screen
11452
1e901a75 114532009-01-02 Colin D Bennett <colin@gibibit.com>
11454
11455 New font engine.
34c44600 11456
1e901a75 11457 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11458 build system and fixed gfxterm.c to work with different sized fonts.
11459
11460 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11461
1e901a75 11462 * configure: Re-generated.
34c44600 11463
1e901a75 11464 * DISTLIST: Removed font/manager.c.
11465 Added font/font.c.
11466 Added font/font_cmd.c.
34c44600 11467
1e901a75 11468 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11469 compilation.
34c44600 11470
1e901a75 11471 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 11472
11473 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 11474
11475 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 11476
1e901a75 11477 * normal/menu.c: Likewise.
34c44600 11478
1e901a75 11479 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11480 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 11481
1e901a75 11482 * include/grub/font.h: Replaced with new file.
34c44600 11483
1e901a75 11484 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11485 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11486 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11487 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11488 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 11489 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 11490 fg_red, fg_green, fg_blue, fg_alpha.
11491 (grub_video_adapter): Removed blit_glyph.
34c44600 11492 (grub_video_blit_glyph): Removed.
11493
1e901a75 11494 * font/manager.c: Removed file.
34c44600 11495
11496 * font/font.c: New file.
11497
1e901a75 11498 * font/font_cmd.c: Likewise.
34c44600 11499
1e901a75 11500 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 11501
1e901a75 11502 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11503 (grub_video_vbe_map_rgba): Likewise.
11504 (grub_video_vbe_unmap_color_int): Likewise.
11505 (grub_video_vbe_blit_glyph): Removed.
11506 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 11507
1e901a75 11508 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11509 (get_pixel): Likewise.
34c44600 11510 (set_pixel): Likewise.
11511
1e901a75 11512 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 11513
1e901a75 11514 * term/gfxterm.c: Adapted to new font engine.
34c44600 11515
1e901a75 11516 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 11517
1e901a75 11518 * term/i386/pc/vga.c: Likewise.
34c44600 11519
1e901a75 11520 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 11521
1e901a75 11522 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 11523
1e901a75 11524 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11525
1e901a75 11526 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11527
1e901a75 11528 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 11529
1e901a75 11530 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 11531
1e901a75 11532 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 11533
1e901a75 11534 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 11535
1e901a75 11536 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11537
11538 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 11539
1e901a75 11540 * util/grub-mkconfig_lib.in: Changed font extension.
11541
278922e8 115422008-12-28 Felix Zielcke <fzielcke@z-51.de>
11543
11544 * util/getroot.c (grub_util_get_grub_dev): Add support for
11545 /dev/md/dNNpNN style partitionable mdraid devices.
11546
3ced05cf 115472008-12-12 Alex Smith <alex@alex-smith.me.uk>
11548
11549 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11550 at a time limit of the PXE TFTP API correctly.
11551 (grub_pxefs_close): Likewise.
11552
7fd0ee30 115532008-11-29 Robert Millan <rmh@aybabtu.com>
11554
34c44600 11555 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 11556 grub_ata_device_initialize() calls.
11557
34c44600 115582008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 11559
11560 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11561 iteration failed.
11562 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11563
89313780 115642008-11-28 Robert Millan <rmh@aybabtu.com>
11565
11566 Fix build on powerpc-ieee1275. Based on patch created by
11567 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11568 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11569 `kern/ieee1275/mmap.c'.
11570 * include/grub/powerpc/ieee1275/memory.h: New file.
11571
15257703 11572 Provide grub-install on coreboot.
11573 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11574 (grub_install_SOURCES): New variable.
11575 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11576 usable on coreboot.
11577
9fc5388a 115782008-11-25 Felix Zielcke <fzielcke@z-51.de>
11579
11580 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11581 to `grub_term_input_t'.
11582 (grub_term_get_current_output): Change return type to
11583 `grub_term_output_t'.
11584
bc3a2f31 115852008-11-22 Robert Millan <rmh@aybabtu.com>
11586
34c44600 11587 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 11588 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11589 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11590 grub_vga_text_cls().
11591
80fc88f2 11592 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 11593 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 11594
cbf36fd3 11595 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11596 to 0x200000 (avoids trouble with some OFW implementations, and matches
11597 with the one in Yaboot).
11598 Reported by Manoel Abranches
11599
73e8e268 116002008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 11601
11602 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11603 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11604
73e8e268 11605 * util/grub-mkconfig_lib.in (grub_warn): New function.
11606 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11607 warnings, to obtain consistent formatting.
11608 * util/grub.d/00_header.in: Likewise.
11609 * util/update-grub_lib.in: Likewise.
11610
e94045a1 11611 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 11612 Move comment text to `#error' stanza.
e94045a1 11613
79d29fd7 11614 Harmonize ieee1275's grub_available_iterate() with the generic
11615 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11616 build problem on i386-ieee1275):
11617 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11618 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11619 parameter `type'. Update all users of this function.
11620 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11621 `kern/ieee1275/mmap.c'.
11622 * kern/ieee1275/init.c
11623 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11624 with ...
11625 (grub_machine_mmap_iterate): ... this.
11626 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11627 return type to `grub_err_t'. Update all implementations of this
11628 function prototype.
11629 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11630 Likewise.
11631
60d6b16e 11632 Add `lsmmap' command (lists firmware-provided memory map):
11633 * commands/lsmmap.c: New file.
11634 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11635 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11636 variables.
11637 * conf/powerpc-ieee1275.rmk: Likewise.
11638 * conf/i386-coreboot.rmk: Likewise.
11639 * conf/i386-ieee1275.rmk: Likewise.
11640
ebaaf49b 116412008-11-19 Robert Millan <rmh@aybabtu.com>
11642
11643 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 11644 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11645 constraints to initrd allocation (based on code from
11646 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11647 for Linux to find it.
ebaaf49b 11648
dfab719f 116492008-11-14 Robert Millan <rmh@aybabtu.com>
11650
11651 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11652 order to cope with duplicate slashes.
11653
10fc3eb9 116542008-11-14 Robert Millan <rmh@aybabtu.com>
11655
11656 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11657 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11658 don't want to mess with lower memory, because it is used in the Linux
11659 loader.
11660
11661 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 11662 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 11663 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11664 is in our heap (probably as a result of it being corrupted during
2f2a3442 11665 decompression). Add #error instance with comment to explain why this
11666 loader isn't currently usable on PC/BIOS.
10fc3eb9 11667
e2e07847 116682008-11-14 Robert Millan <rmh@aybabtu.com>
11669
11670 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 11671 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 11672
fe8e8d69 116732008-11-12 Robert Millan <rmh@aybabtu.com>
11674
11675 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11676
11677 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11678 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11679 from here ...
11680 * include/grub/i386/pc/memory.h: ... to here.
11681
976b07d0 116822008-11-12 Robert Millan <rmh@aybabtu.com>
11683
11684 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11685 split).
11686
11687 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11688 (grub_console_cur_color, grub_console_real_putchar)
11689 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11690 (grub_console_setcolorstate, grub_console_setcolor)
11691 (grub_console_getcolor): Move from here ...
11692 * include/grub/i386/vga_common.h: ... to here (new file).
11693
11694 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11695 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11696 `<grub/i386/io.h>'.
11697 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11698 `<grub/i386/vga_common.h>'.
11699
76679cd3 117002008-11-12 Robert Millan <rmh@aybabtu.com>
11701
11702 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11703 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11704 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11705 variables.
11706 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11707 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11708
11709 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11710 grub_console_init() with call to grub_vga_text_init().
11711 (grub_machine_fini): Replace call to
11712 grub_console_fini() with call to grub_vga_text_fini() and
11713 grub_at_keyboard_fini().
11714
11715 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11716 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11717 (grub_console_setcolorstate, grub_console_setcolor)
11718 (grub_console_getcolor): New function prototypes.
11719
11720 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11721 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11722 (grub_vga_text_setcursor): Static-ize.
11723 (grub_vga_text_term): New structure.
11724 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11725
11726 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11727 (grub_console_cur_color, grub_console_standard_color)
11728 (grub_console_normal_color, grub_console_highlight_color)
11729 (map_char, grub_console_putchar, grub_console_getcharwidth)
11730 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11731 (grub_console_getcolor): Move from here ...
11732 * term/i386/vga_common.c: ... to here (same function names).
11733
95b841d3 117342008-11-12 Robert Millan <rmh@aybabtu.com>
11735
11736 Use newly-added Multiboot support in coreboot.
11737
11738 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11739 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11740
11741 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11742 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11743 (codestart): Store the MBI in `startup_multiboot_info' when we're
11744 being loaded using Multiboot.
11745
11746 * kern/i386/coreboot/init.c (grub_machine_init): Move
11747 grub_at_keyboard_init() call to beginning of function (useful for
11748 debugging). Call grub_machine_mmap_init() before attempting to use
11749 grub_machine_mmap_iterate().
11750 (grub_lower_mem, grub_upper_mem): Move from here ...
11751 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11752 here (new file).
11753
11754 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11755 function prototype.
11756
761ca975 117572008-11-12 Robert Millan <rmh@aybabtu.com>
11758
11759 Fix a regression introduced by the at_keyboard.mod split. Because
11760 some terminals are default on some platforms and non-default on
11761 others, the first terminal being registered determines which is
11762 going to be default.
11763
11764 * kern/term.c (grub_term_register_input): If this is the first
11765 terminal being registered, set it as the current one.
11766 (grub_term_register_output): Likewise.
11767
11768 * term/efi/console.c (grub_console_init): Do not call
11769 grub_term_set_current_output() or grub_term_set_current_input().
11770 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11771 * term/i386/pc/console.c (grub_console_init): Likewise.
11772 (grub_console_fini): Do not call grub_term_set_current_input()
11773 (but leave grub_term_set_current_output() to restore text mode).
11774
6c529df7 117752008-11-10 Robert Millan <rmh@aybabtu.com>
11776
11777 * util/grub.d/00_header.in: Add backward compatibility check for
11778 versions of terminal.mod that don't understand `terminal_input' or
11779 `terminal_output'.
11780
132e4113 117812008-11-09 Robert Millan <rmh@aybabtu.com>
11782
11783 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11784 `terminal_input' / `terminal_output', not `terminal'.
11785
ac293d50 117862008-11-08 Robert Millan <rmh@aybabtu.com>
11787
11788 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11789 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11790
0025933a 117912008-11-08 Robert Millan <rmh@aybabtu.com>
11792
11793 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11794 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11795 members. Update all users.
11796 * util/console.c (grub_ncurses_term): Split in ...
11797 (grub_ncurses_term_input): ... this, and ...
11798 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11799 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11800
37c86336 118012008-11-08 Robert Millan <rmh@aybabtu.com>
11802
11803 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11804 (PKGDATA): Add $(pkgdata_SRCDIR).
11805 (pkglib_BUILDDIR): New variable.
11806 (pkgdata_SRCDIR): New variable.
11807 (build_env.mk): New target.
11808 (include_DATA): New variable.
11809 (install-local): Install $(include_DATA) files in $(includedir).
11810
b6c15a2d 118112008-11-07 Pavel Roskin <proski@gnu.org>
11812
d99d46f1 11813 * gendistlist.sh: Use C locale for sorting to ensure consistent
11814 output on all systems.
11815
b6c15a2d 11816 * util/grub.d/00_header.in: Remove incorrect space before
11817 "serial".
11818
c32ee8c9 118192008-11-07 Robert Millan <rmh@aybabtu.com>
11820
11821 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11822 per specification.
11823 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11824 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11825 (based on find_multi_boot1_header).
11826 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11827 using find_multi_boot2_header(), and abort if neither Multiboot or
11828 Multiboot headers were found.
11829
651c29b7 118302008-11-07 Robert Millan <rmh@aybabtu.com>
11831
11832 Modularize at_keyboard.mod:
11833
11834 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11835 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11836 (at_keyboard_mod_LDFLAGS): New variables.
11837
11838 Actual terminal split:
11839
11840 * include/grub/term.h (struct grub_term): Split in ...
11841 (struct grub_term_input): ... this, and ...
11842 (struct grub_term_output): ... this. Update all users.
11843 (grub_term_set_current): Split in ...
11844 (grub_term_set_current_input): ... this, and ...
11845 (grub_term_set_current_output): ... this.
11846 (grub_term_get_current): Split in ...
11847 (grub_term_get_current_input): ... this, and ...
11848 (grub_term_get_current_output): ... this.
11849 (grub_term_register): Split in ...
11850 (grub_term_register_input): ... this, and ...
11851 (grub_term_register_output): ... this.
11852 (grub_term_unregister): Split in ...
11853 (grub_term_unregister_input): ... this, and ...
11854 (grub_term_unregister_output): ... this.
11855 (grub_term_iterate): Split in ...
11856 (grub_term_iterate_input): ... this, and ...
11857 (grub_term_iterate_output): ... this.
11858
11859 * kern/term.c (grub_term_list): Split in ...
11860 (grub_term_list_input): ... this, and ...
11861 (grub_term_list_output): ... this. Update all users.
11862 (grub_cur_term): Split in ...
11863 (grub_cur_term_input): ... this, and ...
11864 (grub_cur_term_output): ... this. Update all users.
11865 (grub_term_set_current): Split in ...
11866 (grub_term_set_current_input): ... this, and ...
11867 (grub_term_set_current_output): ... this.
11868 (grub_term_get_current): Split in ...
11869 (grub_term_get_current_input): ... this, and ...
11870 (grub_term_get_current_output): ... this.
11871 (grub_term_register): Split in ...
11872 (grub_term_register_input): ... this, and ...
11873 (grub_term_register_output): ... this.
11874 (grub_term_unregister): Split in ...
11875 (grub_term_unregister_input): ... this, and ...
11876 (grub_term_unregister_output): ... this.
11877 (grub_term_iterate): Split in ...
11878 (grub_term_iterate_input): ... this, and ...
11879 (grub_term_iterate_output): ... this.
11880
11881 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11882 a check for input and one for output (and only attempt to get keys
11883 from user when input works).
11884
11885 * util/grub-probe.c (grub_term_get_current): Split in ...
11886 (grub_term_get_current_input): ... this, and ...
11887 (grub_term_get_current_output): ... this.
11888 * util/grub-fstest.c: Likewise.
11889 * util/i386/pc/grub-setup.c: Likewise.
11890 * util/grub-editenv.c: Likewise.
11891
11892 Portability adjustments:
11893
11894 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11895 `term/i386/pc/at_keyboard.c'.
11896 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11897 grub_keyboard_controller_init() (now handled by terminal .init).
11898 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11899 grub_at_keyboard_init().
11900 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11901 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11902 at_keyboard.mod via input terminal interface).
11903 * include/grub/i386/coreboot/console.h: Convert into a stub for
11904 `<grub/i386/pc/console.h>'.
11905
11906 Migrate full terminals to new API:
11907
11908 * term/efi/console.c (grub_console_term): Split into ...
11909 (grub_console_term_input): ... this, and ...
11910 (grub_console_term_output): ... this. Update all users.
11911 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11912 (grub_ofconsole_init): Split into ...
11913 (grub_ofconsole_init_input): ... this, and ...
11914 (grub_ofconsole_init_output): ... this.
11915 (grub_ofconsole_term): Split into ...
11916 (grub_ofconsole_term_input): ... this, and ...
11917 (grub_ofconsole_term_output): ... this. Update all users.
11918 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11919 (grub_serial_term_input): ... this, and ...
11920 (grub_serial_term_output): ... this. Update all users.
11921 * term/i386/pc/console.c (grub_console_term): Split into ...
11922 (grub_console_term_input): ... this, and ...
11923 (grub_console_term_output): ... this. Update all users.
11924 (grub_console_term_input): Only enable it on PC/BIOS platform.
11925 (grub_console_init): Remove grub_keyboard_controller_init() call.
11926
11927 Migrate input terminals to new API:
11928
11929 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11930 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11931 i386-specific anyway).
11932 (grub_console_checkkey): Rename to ...
11933 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11934 users.
11935 (grub_keyboard_controller_orig): New variable.
11936 (grub_console_getkey): Rename to ...
11937 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11938 users.
11939 (grub_keyboard_controller_init): Static-ize. Save original
11940 controller value so that it can be restored ...
11941 (grub_keyboard_controller_fini): ... here (new function).
11942 (grub_at_keyboard_term): New structure.
11943 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11944 functions.
11945
11946 Migrate output terminals to new API:
11947
11948 * term/i386/pc/vga.c (grub_vga_term): Change type to
11949 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11950 members. Update all users.
11951 * term/gfxterm.c (grub_video_term): Change type to
11952 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11953 members. Update all users.
11954 * include/grub/i386/pc/console.h (grub_console_checkkey)
11955 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11956 etc).
11957
11958 Migrate `terminal' command and userland tools to new API:
11959
11960 * commands/terminal.c (grub_cmd_terminal): Split into ...
11961 (grub_cmd_terminal_input): ... this, and ...
11962 (grub_cmd_terminal_output): ... this.
11963 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11964 `terminal_input' and `terminal_output'.
11965 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11966 `terminal_input' / `terminal_output' API.
11967 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11968 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11969 provided ${GRUB_TERMINAL}, convert it).
11970
96e5d876 119712008-11-04 Robert Millan <rmh@aybabtu.com>
11972
11973 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11974 for FreeBSD.
11975 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11976
556f3775 119772008-11-03 Bean <bean123ch@gmail.com>
11978
11979 * kern/elf.c (grub_elf32_load): Revert to previous code.
11980 (grub_elf64_load): Likewise.
11981
11982 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11983
926b9823 119842008-11-01 Robert Millan <rmh@aybabtu.com>
11985
11986 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11987 (TARGET_CPPFLAGS): Likewise.
11988 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11989
1432e958 119902008-11-01 Carles Pina i Estany <carles@pina.cat>
11991
11992 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11993
dba3f844 119942008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11995
11996 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11997 addition of objects until the code is not going to be able to fail.
11998
dba3f844 119992008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12000
12001 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12002 (add a missing NULL check, and correct them by moving the pointer
12003 operations after the actual check).
12004
7ab28c21 120052008-10-29 Robert Millan <rmh@aybabtu.com>
12006
12007 * util/i386/pc/grub-install.in: Handle empty string as output from
12008 make_system_path_relative_to_its_root().
12009
1b7748eb 120102008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12011
12012 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12013 circular metadata worst case scenario. If the metadata is circular
12014 then copy the wrap in place.
12015 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12016 project lib/format_text/layout.h
12017 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12018
c9618ab2 120192008-10-03 Felix Zielcke <fzielcke@z-51.de>
12020
7a36edca 12021 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12022
bf981c62 120232008-10-03 Felix Zielcke <fzielcke@z-51.de>
12024
12025 * util/update-grub_lib.in: Mention filename in warning message.
12026
6d994591 120272008-09-29 Felix Zielcke <fzielcke@z-51.de>
12028
12029 * NEWS: Update for rename of update-grub to grub-mkconfig.
12030
18ade780 120312008-09-29 Felix Zielcke <fzielcke@z-51.de>
12032
12033 * util/update-grub_lib.in: Copy to ...
12034 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12035 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12036 * util/update-grub.in: Rename to ...
12037 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12038 option. Add `--output' option to allow users to specify the generated
12039 configuration file. Default to stdout.
12040 (update_grub_dir): Rename to ...
12041 (grub_mkconfig_dir): ... this.
12042 (grub_cfg): Default to an empty string.
12043 * conf/common.rmk (update-grub): Rename to ...
12044 (grub-mkconfig): ... this.
12045 (update-grub_lib): Copy to ...
12046 (grub-mkconfig_lib): ... this.
12047 (update-grub_SCRIPTS): Copy to ...
12048 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12049 (update-grub_DATA): Rename to ...
12050 (grub-mkconfig_DATA): ... this.
12051
556ce6ac 120522008-09-28 Robert Millan <rmh@aybabtu.com>
12053
12054 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12055 to `modified'. Add the real `created' field.
12056 (grub_iso9660_uuid): Use `modified' rather than `created' for
12057 constructing the UUID.
12058
120592008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12060
12061 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12062 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12063
92274e85 120642008-09-28 Bean <bean123ch@gmail.com>
12065
12066 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12067 Thanks to Christian Franke for finding this bug.
12068
add6f17a 120692008-09-25 Robert Millan <rmh@aybabtu.com>
12070
12071 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12072 instances of grub_util_get_disk_name() (see previous commit).
12073
d2a367b8 120742008-09-25 Robert Millan <rmh@aybabtu.com>
12075
12076 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12077 `util/i386/get_disk_name.c'.
12078 * conf/i386-efi.rmk: Likewise.
12079 * conf/x86_64-efi.rmk: Likewise.
12080 * conf/i386-coreboot.rmk: Likewise.
12081 * conf/i386-ieee1275.rmk: Likewise.
12082 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12083 `util/ieee1275/get_disk_name.c'.
12084 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12085 * util/ieee1275/get_disk_name.c: Remove file.
12086 * util/i386/get_disk_name.c: Remove file.
12087 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12088 "hd%d" for device.map entries, rather than using
12089 grub_util_get_disk_name().
12090
81a06771 120912008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12092
12093 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12094 warning.
12095 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12096
5a004279 120972008-09-24 Carles Pina i Estany <carles@pina.cat>
12098
12099 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12100 Changed to 0x5100.
12101 (GRUB_TERM_PPAGE): Changed to 0x4900.
12102
397093d3 121032008-09-24 Robert Millan <rmh@aybabtu.com>
12104
12105 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12106 macros (they were i386-pc specific).
12107 * include/grub/sparc64/ieee1275/console.h: Likewise.
12108 * include/grub/efi/console.h: Likewise.
12109
a91b6c7c 121102008-09-22 Bean <bean123ch@gmail.com>
12111
12112 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12113 resident and in attribute list.
12114
12115 * include/grub/ntfs.h (BMP_LEN): Removed.
12116
c40fd116 121172008-09-22 Bean <bean123ch@gmail.com>
12118
81a06771 12119 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12120 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12121
12122 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12123 error occurs, as grub_disk_open will call grub_disk_close, which will
12124 call p->close (scsi).
12125
81a06771 121262008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12127
12128 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12129 (AC_PREREQ): Bumped to 2.59.
12130 (AC_TRY_COMPILE): Replace obsolete macro with ...
12131 (AC_COMPILE_IFELSE): ... this.
12132 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12133 (AC_LINK_IFELSE): ... this.
12134
5dc43410 121352008-09-21 Felix Zielcke <fzielcke@z-51.de>
12136
12137 * autogen.sh: Add a call to `gendistlist.sh'.
12138
9035dce4 121392008-09-19 Christian Franke <franke@computer.org>
12140
12141 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12142 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12143 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12144 Export __enable_execute_stack() to modules.
12145 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12146 New function.
12147
7fd75377 121482008-09-09 Felix Zielcke <fzielcke@z-51.de>
12149
040030b3 12150 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12151 Sort the list.
12152
121532008-09-09 Felix Zielcke <fzielcke@z-51.de>
12154
12155 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12156 #include <grub/util/hostdisk.h>.
12157
89d5ffcf 121582008-09-08 Robert Millan <rmh@aybabtu.com>
12159
12160 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12161 segments when their filesz is zero (grub_file_read() interprets
81a06771 12162 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12163 Use `lowest_segment' rather than 0 for calculating the current
12164 segment load address.
12165
40da438f 121662008-09-08 Robert Millan <rmh@aybabtu.com>
12167
12168 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12169 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12170 clobbered useful information.
12171
ddbf5556 121722008-09-08 Robert Millan <rmh@aybabtu.com>
12173
12174 * include/grub/util/biosdisk.h: Move to ...
12175 * include/grub/util/hostdisk.h: ... here. Update all users.
12176 * util/biosdisk.c: Move to ...
12177 * util/hostdisk.c: ... here. Update all users.
12178
783d0f48 121792008-09-07 Robert Millan <rmh@aybabtu.com>
12180
12181 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12182 variables.
12183 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12184 and length can be stored directly in the `mbi->mmap_addr' and
12185 `mbi->mmap_length' struct fields.
12186
548e2ea5 121872008-09-07 Robert Millan <rmh@aybabtu.com>
12188
12189 * conf/i386.rmk: New file. Provides declaration for building
12190 `cpuid.mod'.
12191 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12192 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12193 variables.
12194 Include `conf/i386.mk'.
12195 * conf/i386-efi.rmk: Likewise.
12196 * conf/x86_64-efi.rmk: Likewise.
12197 * conf/i386-coreboot.rmk: Likewise.
12198 * conf/i386-ieee1275.rmk: Likewise.
12199
0ea85a37 122002008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12201
12202 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12203 Adds optimization support for BGR based modes.
12204
12205 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12206 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12207 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12208 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12209 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12210 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12211 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12212 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12213 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12214 (grub_video_i386_vbeblit_index_index): Likewise.
12215 (grub_video_i386_vbeblit_replace_directN): Added.
12216 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12217 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12218 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12219 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12220 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12221 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12222 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12223 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12224 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12225 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12226 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12227 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12228 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12229
12230 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12231 (grub_video_i386_vbefill_R8G8B8): Likewise.
12232 (grub_video_i386_vbefill_index): Likewise.
12233 (grub_video_i386_vbefill_direct32): Added.
12234 (grub_video_i386_vbefill_direct24): Likewise.
12235 (grub_video_i386_vbefill_direct16): Likewise.
12236 (grub_video_i386_vbefill_direct8): Likewise.
12237
81a06771 12238 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12239 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12240 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12241 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12242 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12243 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12244
0ea85a37 12245 * video/video.c (grub_video_get_blit_format): Updated to use new
12246 blit formats. Added handling for 16 bit color modes.
81a06771 12247
12248 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12249 fillers.
12250 (common_blitter): Updated to use new blitters.
12251
12252 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12253 Removed.
12254 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12255 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12256 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12257 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12258 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12259 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12260 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12261 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12262 (grub_video_i386_vbeblit_index_index): Likewise.
12263 (grub_video_i386_vbeblit_replace_directN): Added.
12264 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12265 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12266 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12267 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12268 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12269 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12270 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12271 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12272 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12273 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12274 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12275 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12276 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12277
0ea85a37 12278 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12279 (grub_video_i386_vbefill_R8G8B8): Likewise.
12280 (grub_video_i386_vbefill_index): Likewise.
12281 (grub_video_i386_vbefill_direct32): Added.
12282 (grub_video_i386_vbefill_direct24): Likewise.
12283 (grub_video_i386_vbefill_direct16): Likewise.
12284 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12285
0ea85a37 12286 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12287 types.
81a06771 12288
0ea85a37 12289 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12290 types.
81a06771 12291
0ea85a37 12292 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12293 blitter types.
81a06771 12294
0ea85a37 12295 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12296 types.
12297
e8a83df6 122982008-09-06 Felix Zielcke <fzielcke@z-51.de>
12299
12300 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12301 RAID level 1.
12302
6bcd8ee5 123032008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12304
6bcd8ee5 12305 * fs/iso9660.c (grub_iso9660_date): New structure.
12306 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12307 (grub_iso9660_uuid): New function.
c375ae58 12308
59261157 123092008-09-05 Bean <bean123ch@gmail.com>
12310
12311 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12312
12313 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12314 insensitive bit for names in Win32 and Win32 & DOS namespace.
12315
12316 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12317
12318 * include/grub/types.h (LONG_MAX): Likewise.
12319
58b6645a 123202008-09-04 Felix Zielcke <fzielcke@z-51.de>
12321
4ee55921 12322 * util/getroot.c: Include <config.h>.
12323 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12324 add support for /dev/md/N devices and handle LVM double dash escaping.
12325
123262008-09-04 Felix Zielcke <fzielcke@z-51.de>
12327
12328 * config.guess: Update to latest version from config git.
12329 * config.sub: Likewise.
58b6645a 12330
9124f65d 123312008-09-03 Robert Millan <rmh@aybabtu.com>
12332
12333 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12334 `disk->total_sectors'.
12335
81a06771 123362008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12337
12338 * include/grub/normal.h: Fixed incorrect comment for
12339 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12340
81a06771 123412008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12342
12343 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12344 values with defines.
12345
12346 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12347 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12348 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12349 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12350 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12351 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12352 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12353 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12354 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12355 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12356 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12357 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12358 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12359 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12360 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12361 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12362 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12363 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12364 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12365
93d5cbf8 123662008-08-31 Robert Millan <rmh@aybabtu.com>
12367
12368 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12369 declaration.
12370 (grub_multiboot): Fix a few warnings.
12371
21751d50 123722008-08-31 Robert Millan <rmh@aybabtu.com>
12373
12374 * loader/i386/pc/multiboot.c: Update comment not to say that
12375 boot_device support is unimplemented.
12376
e27a75c5 123772008-08-31 Robert Millan <rmh@aybabtu.com>
12378
12379 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12380 or memory map support are unimplemented.
12381
81a06771 123822008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12383
12384 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12385
81a06771 123862008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12387
12388 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12389 total video memory in 'vbeinfo' output; show color format details for
12390 each video mode.
12391
7c5d8d95 123922008-08-30 Pavel Roskin <proski@gnu.org>
12393
12394 * util/genmoddep.c: Remove for real this time.
12395 * DISTLIST: Remove util/genmoddep.c.
12396
4cebd25a 123972008-08-30 Robert Millan <rmh@aybabtu.com>
12398
12399 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12400 as required by Multiboot spec (it was already 4-byte aligned, but
12401 only by chance).
12402
b497a269 124032008-08-29 Pavel Roskin <proski@gnu.org>
12404
e3925185 12405 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12406 * kern/powerpc/ieee1275/startup.S: ... this.
12407 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12408 * DISTLIST: Likewise.
12409
b497a269 12410 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12411 grub/cpu/kernel.h. Add start label for consistency with other
12412 platforms. Add grub_prefix immediately after start. Add jump
12413 to the code after grub_prefix.
12414 * include/grub/powerpc/kernel.h: Provide valid values for
12415 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12416
6e5a42fe 124172008-08-29 Bean <bean123ch@gmail.com>
12418
12419 * configure.ac: Change host_os to cygwin for mingw.
12420 (asprintf): New check for function.
12421
12422 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12423 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12424
12425 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12426 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12427 sync, sleep and grub_util_get_disk_size for mingw.
12428
12429 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12430 to get size in mingw.
12431 (open_device): Use flag O_BINARY if it's defined.
12432 (find_root_device): Add dummy code for mingw.
12433
12434 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12435 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12436 (get_scsi_disk_name): Return 0 for mingw.
12437
12438 * util/hostfs.c: #include <grub/util/misc.h>.
12439 (grub_hostfs_open): Use "rb" flag to open file, use
12440 grub_util_get_disk_size to get disk size for mingw.
12441
12442 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12443 (asprintf): New function if HAVE_ASPRINTF is not set.
12444 (sync): New function for mingw.
12445 (sleep): Likewise.
12446 (grub_util_get_disk_size): Likewise.
12447
ab3f2673 124482008-08-28 Pavel Roskin <proski@gnu.org>
12449
12450 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12451 kern/time.c.
12452
1c282483 124532008-08-28 Robert Millan <rmh@aybabtu.com>
12454
12455 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12456
678e849c 124572008-08-28 Robert Millan <rmh@aybabtu.com>
12458
12459 Change find_grub_drive() syntax so it doesn't prevent it from
12460 detecting NULL names as errors.
12461
12462 * util/biosdisk.c (find_grub_drive): Move free slot search code
12463 from here ...
12464 (find_free_slot): ... to here.
12465 (read_device_map): Use find_free_slot() to search for free slots.
12466
965c75ca 124672008-08-27 Marco Gerards <marco@gnu.org>
12468
12469 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12470 (scsi_mod_SOURCES): New variable.
12471 (scsi_mod_CFLAGS): Likewise
12472 (scsi_mod_LDFLAGS): Likewise.
12473
12474 * disk/scsi.c: New file.
12475
12476 * include/grub/scsi.h: Likewise.
12477
12478 * include/grub/scsicmd.h: Likewise.
12479
12480 * disk/ata.c: Include <grub/scsi.h>.
12481 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12482 instead.
12483 (grub_ata_iterate): Skip ATAPI devices.
12484 (grub_ata_open): Only handle ATAPI devices.
12485 (struct grub_atapi_read): Removed.
12486 (grub_atapi_readsector): Likewise.
12487 (grub_ata_read): No longer handle ATAPI devices.
12488 (grub_ata_write): Likewise.
12489 (grub_atapi_iterate): New function.
12490 (grub_atapi_read): Likewise.
12491 (grub_atapi_write): Likewise.
12492 (grub_atapi_open): Likewise.
12493 (grub_atapi_close): Likewise.
12494 (grub_atapi_dev): New variable.
12495 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12496 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12497
12498 * include/grub/disk.h (enum grub_disk_dev_id): Add
12499 `GRUB_DISK_DEVICE_SCSI_ID'.
12500
c07ae501 125012008-08-26 Robert Millan <rmh@aybabtu.com>
12502
12503 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12504 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12505 descriptive.
12506
5ed20adc 125072008-08-23 Bean <bean123ch@gmail.com>
12508
12509 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12510 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12511 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12512 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12513 dm_nv.mod.
12514 (raid5rec_mod_SOURCES): New macro.
12515 (raid5rec_mod_CFLAGS): Likewise.
12516 (raid5rec_mod_LDFLAGS): Likewise.
12517 (raid6rec_mod_SOURCES): Likewise.
12518 (raid6rec_mod_CFLAGS): Likewise.
12519 (raid6rec_mod_LDFLAGS): Likewise.
12520 (mdraid_mod_SOURCES): Likewise.
12521 (mdraid_mod_CFLAGS): Likewise.
12522 (mdraid_mod_LDFLAGS): Likewise.
12523 (dm_nv_mod_SOURCES): Likewise.
12524 (dm_nv_mod_CFLAGS): Likewise.
12525 (dm_nv_mod_LDFLAGS): Likewise.
12526
12527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12528 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12529 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12530
12531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12532 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12533
12534 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12535
12536 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12537
12538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12539
12540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12541
12542 * disk/raid5_recover.c: New file.
12543
12544 * disk/raid6_recover.c: Likewise.
12545
12546 * disk/mdraid_linux.c: Likewise.
12547
12548 * disk/dmraid_nvidia.c: Likewise.
12549
12550 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12551 ULONG_MAX.
12552
12553 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12554 calculate the size of raid device.
12555 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12556 different layout of raid5.
12557 (grub_raid_scan_device): Remove code specific to mdraid.
12558 (grub_raid_list): New variable.
12559 (free_array): New function.
12560 (grub_raid_register): Likewise.
12561 (grub_raid_unregister): Likewise.
12562 (grub_raid_rescan): Likewise.
12563 (GRUB_MOD_INIT): Don't iterate device here.
12564 (GRUB_MOD_FINI): Use free_array to release resource.
12565
12566 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12567 (grub_raid5_recover_func_t): New function variable type.
12568 (grub_raid6_recover_func_t): Likewise.
12569 (grub_raid5_recover_func): New variable.
12570 (grub_raid6_recover_func): Likewise.
12571 (grub_raid_register): New function.
12572 (grub_raid_unregister): Likewise.
12573 (grub_raid_rescan): Likewise.
12574 (grub_raid_block_xor): Likewise.
12575
12576 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12577 (CMD_CRC): New macro.
12578 (part): Removed.
12579 (read_file): Handle device as well as file.
12580 (cmd_crc): New function.
12581 (fstest): Handle multiple disks.
12582 (options): Remove part, raw and long, add root and diskcount.
12583 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 12584 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 12585 add handling for the new options, support multiple disks.
12586
12587 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12588
29c18915 125892008-08-23 Bean <bean123ch@gmail.com>
12590
12591 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12592
12593 * genfslist.sh: Ignore kernel.mod.
12594
12595 * genpartmaplist.sh: Likewise.
12596
8415f261 125972008-08-23 Robert Millan <rmh@aybabtu.com>
12598
12599 * util/getroot.c (find_root_device): Skip anything that starts with
12600 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12601
d5a7dc5b 126022008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 12603
d5a7dc5b 12604 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12605 * util/grub.d/00_header.in: Allow the administrator to change default
12606 gfxmode via ${GRUB_GFXMODE}.
12607
380cfbb4 126082008-08-21 Felix Zielcke <fzielcke@z-51.de>
12609
12610 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12611
c9baafe7 126122008-08-21 Robert Millan <rmh@aybabtu.com>
12613
12614 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12615 loader.
12616 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12617 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12618
e290bef2 126192008-08-20 Carles Pina i Estany <carles@pina.cat>
12620
12621 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12622 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12623
f9dbfc96 126242008-08-19 Robert Millan <rmh@aybabtu.com>
12625
12626 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12627 (struct grub_virtual_screen): Remove `cursor_color'.
12628 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12629 initialization.
12630 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12631
dd6bd6ab 126322008-08-18 Robert Millan <rmh@aybabtu.com>
12633
12634 Unify (identical) linux_normal.c files.
12635 * loader/i386/efi/linux_normal.c: Move from here ...
12636 * loader/linux_normal.c: ... to here. Update all users.
12637 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12638 * loader/i386/ieee1275/linux_normal.c: Likewise.
12639
7f42f83e 126402008-08-18 Robert Millan <rmh@aybabtu.com>
12641
12642 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12643 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12644 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12645 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12646 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12647 New macros.
12648 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12649 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12650 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12651 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12652 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12653 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12654 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12655 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12656 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12657 portably using grub_getxy().
12658 Replace `-EFI' with `-bzImage' in boot message.
12659
38487ddb 126602008-08-17 Robert Millan <rmh@aybabtu.com>
12661
12662 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12663
deceb3ec 126642008-08-17 Robert Millan <rmh@aybabtu.com>
12665
12666 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12667
12668 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12669 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12670 (grub_machine_mmap_iterate): New function declaration.
12671 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12672 structure.
12673 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12674 macros.
12675
12676 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12677 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12678 Move e820 parsing from here ...
12679 * kern/i386/pc/mmap.c: New file.
12680 (grub_machine_mmap_iterate): ... to here.
12681
12682 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12683 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12684 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12685 (grub_available_iterate): Redeclare to return `void', and redeclare
12686 its hook to use grub_uint64_t as addr and size parameters, and rename
12687 to ...
12688 (grub_machine_mmap_iterate): ... this. Update all users.
12689
12690 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12691 to make it more readable. Rename to ...
12692 (grub_machine_mmap_iterate): ... this.
12693
12694 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12695 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12696 (grub_multiboot): Allocate an extra region after the payload, and fill
12697 it with a Multiboot memory map. Adjust a.out loader to calculate size
12698 with the extra space.
12699 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12700 with the extra space.
12701
f8aa0f43 127022008-08-17 Carles Pina i Estany <carles@pina.cat>
12703
9807deb9 12704 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 12705
605f5bb6 127062008-08-17 Felix Zielcke <fzielcke@z-51.de>
12707
12708 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12709 mdate-sh to the list `find' searches for.
12710 * DISTLIST: Regenerated.
12711
210db6c6 127122008-08-16 Felix Zielcke <fzielcke@z-51.de>
12713
12714 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12715 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 12716 genmoddep.awk, gensymlist.sh.in.
12717 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 12718 * DISTLIST: Regenerated.
48cdbfd4 12719 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 12720
1082b929 127212008-08-16 Robert Millan <rmh@aybabtu.com>
12722
12723 * disk/raid.c (grub_raid_init): Handle/report errors set by
12724 grub_device_iterate().
12725 * disk/lvm.c (grub_lvm_init): Likewise.
12726
42ce5170 127272008-08-15 Bean <bean123ch@gmail.com>
12728
12729 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12730 and datehook.mod.
12731 (datetime_mod_SOURCES): New macro.
12732 (datetime_mod_CFLAGS): Likewise.
12733 (datetime_mod_LDFLAGS): Likewise.
12734 (date_mod_SOURCES): Likewise.
12735 (date_mod_CFLAGS): Likewise.
12736 (date_mod_LDFLAGS): Likewise.
12737 (datehook_mod_SOURCES): Likewise.
12738 (datehook_mod_CFLAGS): Likewise.
12739 (datehook_mod_LDFLAGS): Likewise.
12740
12741 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12742 and datehook.mod.
12743 (datetime_mod_SOURCES): New macro.
12744 (datetime_mod_CFLAGS): Likewise.
12745 (datetime_mod_LDFLAGS): Likewise.
12746 (date_mod_SOURCES): Likewise.
12747 (date_mod_CFLAGS): Likewise.
12748 (date_mod_LDFLAGS): Likewise.
12749 (datehook_mod_SOURCES): Likewise.
12750 (datehook_mod_CFLAGS): Likewise.
12751 (datehook_mod_LDFLAGS): Likewise.
12752
12753 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12754 and datehook.mod.
12755 (datetime_mod_SOURCES): New macro.
12756 (datetime_mod_CFLAGS): Likewise.
12757 (datetime_mod_LDFLAGS): Likewise.
12758 (date_mod_SOURCES): Likewise.
12759 (date_mod_CFLAGS): Likewise.
12760 (date_mod_LDFLAGS): Likewise.
12761 (datehook_mod_SOURCES): Likewise.
12762 (datehook_mod_CFLAGS): Likewise.
12763 (datehook_mod_LDFLAGS): Likewise.
12764
12765 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12766 and datehook.mod.
12767 (datetime_mod_SOURCES): New macro.
12768 (datetime_mod_CFLAGS): Likewise.
12769 (datetime_mod_LDFLAGS): Likewise.
12770 (date_mod_SOURCES): Likewise.
12771 (date_mod_CFLAGS): Likewise.
12772 (date_mod_LDFLAGS): Likewise.
12773 (datehook_mod_SOURCES): Likewise.
12774 (datehook_mod_CFLAGS): Likewise.
12775 (datehook_mod_LDFLAGS): Likewise.
12776
12777 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12778 and datehook.mod.
12779 (datetime_mod_SOURCES): New macro.
12780 (datetime_mod_CFLAGS): Likewise.
12781 (datetime_mod_LDFLAGS): Likewise.
12782 (date_mod_SOURCES): Likewise.
12783 (date_mod_CFLAGS): Likewise.
12784 (date_mod_LDFLAGS): Likewise.
12785 (datehook_mod_SOURCES): Likewise.
12786 (datehook_mod_CFLAGS): Likewise.
12787 (datehook_mod_LDFLAGS): Likewise.
12788
12789 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12790
12791 * commands/date.c: New file.
12792
12793 * hook/datehook.c: Likewise.
12794
12795 * include/grub/lib/datetime.h: Likewise.
12796
12797 * include/grub/i386/cmos.h: Likewise.
12798
12799 * lib/datetime.c: Likewise.
12800
12801 * lib/i386/datetime.c: Likewise.
12802
12803 * lib/efi/datetime.c: Likewise.
12804
0e9242da 128052008-08-14 Robert Millan <rmh@aybabtu.com>
12806
12807 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12808 (grub_mkelfimage_SOURCES): New variable.
12809 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12810
12811 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12812 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12813 * conf/powerpc-ieee1275.rmk: Likewise.
12814 * conf/i386-ieee1275.rmk: Likewise.
12815
12816 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12817 * kern/i386/coreboot/init.c: Likewise.
12818
12819 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12820 with `<grub/cpu/kernel.h>'.
12821 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12822 to ...
12823 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12824 * kern/i386/coreboot/startup.S: Likewise.
12825
12826 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12827 (GRUB_MOD_GAP): Remove.
12828 * include/grub/powerpc/kernel.h: New file.
12829 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12830 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12831 * include/grub/i386/kernel.h: New file.
12832 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12833 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12834 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12835
12836 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12837 `grub-mkelfimage'.
12838 Use --directory when invoking grub_mkimage.
12839
12840 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12841 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12842 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12843 and GRUB_KERNEL_CPU_PREFIX.
12844
b86408f8 128452008-08-14 Felix Zielcke <fzielcke@z-51.de>
12846
d5e619ca 12847 * include/grub/err.h (grub_err_printf): New function prototype.
12848 * util/misc.c (grub_err_printf): New function.
12849 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12850 grub_printf.
12851 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12852
7161f0e0 128532008-08-13 Robert Millan <rmh@aybabtu.com>
12854
12855 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12856
a1967522 128572008-08-13 Robert Millan <rmh@aybabtu.com>
12858
12859 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12860 boot entry.
12861
371458b5 128622008-08-12 Robert Millan <rmh@aybabtu.com>
12863
12864 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12865 of the relocation code from here ...
12866 (grub_multiboot): ... to here.
12867 (forward_relocator, backward_relocator): Move from here ...
12868 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12869 (grub_multiboot_backward_relocator): ... to here.
12870 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12871 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12872 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12873 (grub_multiboot_forward_relocator_end)
12874 (grub_multiboot_backward_relocator)
12875 (grub_multiboot_backward_relocator_end): New variables.
12876
05f9452b 128772008-08-12 Bean <bean123ch@gmail.com>
12878
12879 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12880
20024ab0 128812008-08-11 Robert Millan <rmh@aybabtu.com>
12882
12883 * kern/i386/linuxbios/startup.S: Move from here ...
12884 * kern/i386/coreboot/startup.S: ... to here.
12885
12886 * kern/i386/linuxbios/init.c: Move from here ...
12887 * kern/i386/coreboot/init.c: ... to here.
12888
12889 * kern/i386/linuxbios/table.c: Move from here ...
12890 * kern/i386/coreboot/mmap.c: ... to here.
12891
12892 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12893
e352e9cd 128942008-08-11 Robert Millan <rmh@aybabtu.com>
12895
12896 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12897 errors. Leave it to the upper layer to handle them.
12898
2d05bc6a 128992008-08-09 Christian Franke <franke@computer.org>
12900
12901 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12902 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12903 Install `grub.d/10_windows' only on Cygwin.
12904 * configure.ac: Add subst of `target_os'.
12905 Check `target_os' also before setting TARGET_OBJ2ELF.
12906 Add `--enable-grub-pe2elf'.
12907
042bd419 129082008-08-08 Robert Millan <rmh@aybabtu.com>
12909
12910 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12911 (grub_last_time): Change type to grub_uint64_t.
12912 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12913 (grub_disk_close): Likewise.
12914
12915 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12916 (run_menu): Migrate code from to using grub_get_time_ms().
12917
12918 * util/misc.c (grub_get_time_ms): New function.
12919
7f280db5 129202008-08-08 Marco Gerards <marco@gnu.org>
12921
12922 * disk/ata.c (grub_ata_regget): Change return type to
12923 `grub_uint8_t'.
12924 (grub_ata_regget2): Likewise.
12925 (grub_ata_wait_status): New function.
12926 (grub_ata_wait_busy): Removed function, updated all users to use
12927 `grub_ata_wait_status'.
12928 (grub_ata_wait_drq): Likewise.
12929 (grub_ata_cmd): New function.
12930 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12931 error handling.
12932 (grub_ata_pio_write): Add error handling.
12933 (grub_atapi_identify): Likewise.
12934 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12935 handling.
12936 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12937 handling. Actually use the detected registers. Reorder the
12938 detection logic such that it is easier to read.
12939 (grub_ata_pciinit): Do not assign the same ID to each controller.
12940 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12941 handling.
12942 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12943
12944 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12945
1fbc5e66 129462008-08-08 Marco Gerards <marco@gnu.org>
12947
12948 * NEWS: Update.
12949
819ce6c0 129502008-08-07 Bean <bean123ch@gmail.com>
12951
12952 * include/grub/x86_64/pci.h: New file.
12953
5c41d44d 129542008-08-07 Christian Franke <franke@computer.org>
12955
12956 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12957 (TIMER2_GATE): Likewise.
12958 (grub_pit_wait): Add enable/disable of the timer2 gate
12959 bit of port 0x61. This fixes a possible infinite loop.
12960
5ebc275d 129612008-08-07 Bean <bean123ch@gmail.com>
12962
12963 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12964 kern/i386/tsc.c and kern/i386/pit.c.
12965
12966 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12967 x86_64 platform.
12968
12969 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12970 <grub/i386/tsc.h>.
12971
12972 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12973
e383b3d0 129742008-08-07 Bean <bean123ch@gmail.com>
12975
12976 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12977
12978 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12979
12980 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12981 multiple inclusion. Add #include <grub/types.h>.
12982
1cbb58ac 129832008-08-06 Christian Franke <franke@computer.org>
12984
12985 * conf/common.rmk: Build and install `10_windows'.
12986 * util/grub.d/10_windows.in: New script.
12987
337f5a1e 129882008-08-06 Pavel Roskin <proski@gnu.org>
12989
12990 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12991
057bc4ac 129922008-08-06 Robert Millan <rmh@aybabtu.com>
12993
12994 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12995 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12996
2b99f123 129972008-08-06 Bean <bean123ch@gmail.com>
12998
12999 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13000 (grub_pxefs_fs_int): Remove dummy definition.
13001 (grub_pxefs_open): Use data->block_size to store the current block
13002 size setting.
13003 (grub_pxefs_read): Use block size stored in data->block_size. As the
13004 value of grub_pxe_blksize can be changed after the file is opened.
13005
9f0234cb 130062008-08-06 Bean <bean123ch@gmail.com>
13007
13008 * fs/i386/pc/pxe.c (curr_file): new variable.
13009 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13010 require the dummy internal file system anymore.
13011 (grub_pxefs_read): Removed.
13012 (grub_pxefs_close): Likewise.
13013 (grub_pxefs_fs_int): Likewise.
13014 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13015 connection when we switch file.
13016 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13017
a55d42e0 130182008-08-06 Robert Millan <rmh@aybabtu.com>
13019
13020 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13021 `halt.mod'.
13022 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13023 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13024
13025 * kern/i386/halt.c: New file.
13026 * kern/i386/reboot.c: Likewise.
13027 * include/grub/i386/reboot.h: Likewise.
13028 * include/grub/i386/halt.h: Likewise.
13029
13030 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13031 Include `<grub/cpu/halt.h>'.
13032 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13033 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13034
13035 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13036 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13037 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13038 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13039 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13040 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13041 from here ...
13042 * include/grub/i386/at_keyboard.h: ... to here.
13043
24371d26 130442008-08-05 Robert Millan <rmh@aybabtu.com>
13045
13046 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13047 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13048 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13049 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13050 `kern/generic/millisleep.c'.
13051
13052 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13053 instead of grub_get_rtc().
13054 (grub_tsc_init): Initialize `tsc_boot_time'.
13055
13056 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13057 (grub_machine_init): Use grub_tsc_init() rather than
13058 installing an RTC-based handler via grub_install_get_time_ms().
13059
13060 * kern/i386/pit.c: New file.
13061 * include/grub/i386/pit.h: Likewise.
13062
9e7007b3 130632008-08-05 Bean <bean123ch@gmail.com>
13064
13065 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13066
13067 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13068 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13069 (pxe_mod_SOURCES): New macro.
13070 (pxe_mod_CFLAGS): Likewise.
13071 (pxe_mod_LDFLAGS): Likewise.
13072 (pxecmd_mod_SOURCES): Likewise.
13073 (pxecmd_mod_CFLAGS): Likewise.
13074 (pxecmd_mod_LDFLAGS): Likewise.
13075
13076 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13077 (grub_pxe_call): Likewise.
13078
13079 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13080
13081 * commands/i386/pc/pxecmd.c: New file.
13082
9f0234cb 13083 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13084
13085 * include/grub/i386/pc/pxe.h: Likewise.
13086
6977d49f 130872008-08-05 Bean <bean123ch@gmail.com>
13088
13089 * util/console.c (grub_console_cur_color): New variable.
13090 (grub_console_standard_color): Likewise.
13091 (grub_console_normal_color): Likewise.
13092 (grub_console_highlight_color): Likewise.
13093 (color_map): Likewise.
13094 (use_color): Likewise.
13095 (NUM_COLORS): New macro.
13096 (grub_ncurses_setcolorstate): Handle color properly.
13097 (grub_ncurses_setcolor): Don't change color here, just remember the
13098 settings, color will be set in grub_ncurses_setcolorstate.
13099 (grub_ncurses_getcolor): New function.
13100 (grub_ncurses_init): Initialize color pairs.
13101 (grub_ncurses_term): New member grub_ncurses_getcolor.
13102
9c2ff3ee 131032008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13104
9c2ff3ee 13105 High resolution timer support. Implemented for x86 CPUs using TSC.
13106 Extracted generic grub_millisleep() so it's linked in only as needed.
13107 This requires a Pentium compatible CPU; if the RDTSC instruction is
13108 not supported, then it falls back on the generic grub_get_time_ms()
13109 implementation that uses the machine's RTC.
13110
13111 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13112 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13113 `kern/generic/millisleep.c'.
13114
13115 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13116 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13117
13118 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13119 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13120
13121 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13122
13123 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13124 `kern/generic/millisleep.c'.
13125
13126 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13127
13128 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13129
13130 * kern/generic/rtc_get_time_ms.c: New file.
13131
13132 * kern/generic/millisleep.c: New file.
337f5a1e 13133
9c2ff3ee 13134 * kern/misc.c: Don't include
13135 <kern/time.h> anymore.
13136 (grub_millisleep_generic): Removed.
13137
13138 * commands/sleep.c (grub_interruptible_millisleep): Uses
13139 grub_get_time_ms() instead of grub_get_rtc().
13140
13141 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13142 function.
13143 (grub_cpu_is_cpuid_supported): New inline function.
13144 (grub_cpu_is_tsc_supported): New inline function.
13145 (grub_tsc_init): New function prototype.
13146 (grub_tsc_get_time_ms): New function prototype.
13147
13148 * kern/i386/tsc.c (grub_get_time_ms): New file.
13149
13150 * include/grub/time.h: Include <grub/types.h.
13151 (grub_millisleep_generic): Removed.
13152 (grub_get_time_ms): New prototype.
13153 (grub_install_get_time_ms): New prototype.
13154 (grub_rtc_get_time_ms): New prototype.
13155
13156 * kern/time.c (grub_get_time_ms): New function.
13157 (grub_install_get_time_ms): New function.
13158
13159 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13160 <grub/time.h> anymore.
13161 (grub_millisleep): Removed.
13162 (grub_machine_init): Call grub_tsc_init.
13163
13164 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13165 get_time_ms() implementation.
13166
13167 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13168 (ieee1275_get_time_ms): New function.
13169 (grub_machine_init): Install get_time_ms() implementation.
13170
13171 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13172 (grub_machine_init): Call grub_tsc_init().
13173 (grub_millisleep): Removed.
bf06a93f 13174
9c2ff3ee 13175 * kern/ieee1275/init.c (grub_millisleep): Removed.
13176 (grub_machine_init): Install ieee1275_get_time_ms()
13177 implementation.
13178 (ieee1275_get_time_ms): New function.
13179 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13180 real work.
13181
9ec92aaf 131822008-08-05 Marco Gerards <marco@gnu.org>
13183
13184 * disk/ata.c: Include <grub/pci.h>.
13185 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13186 (grub_ata_initialize): Rewritten.
13187 (grub_ata_device_initialize): New function.
13188
8d23f507 131892008-08-04 Pavel Roskin <proski@gnu.org>
13190
13191 * kern/main.c: Include grub/mm.h.
13192
5e15ee3d 131932008-08-04 Robert Millan <rmh@aybabtu.com>
13194
13195 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13196 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13197 corruption problem).
13198
a9053f8f 131992008-08-04 Robert Millan <rmh@aybabtu.com>
13200
13201 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13202 warnings introduced in my last commit.
13203
dd19c7d7 132042008-08-03 Robert Millan <rmh@aybabtu.com>
13205
13206 Make PCI available on all i386 architectures.
13207
13208 * include/grub/i386/pc/pci.h: Move from here ...
13209 * include/grub/i386/pci.h: ... to here.
13210
13211 * include/grub/i386/pc/pci.h: Remove.
13212 * include/grub/i386/efi/pci.h: Remove.
13213 * include/grub/x86_64/efi/pci.h: Remove.
13214
13215 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13216 `<grub/cpu/pci.h>'.
13217
13218 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13219 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13220 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13221
13222 * conf/i386-ieee1275.rmk: Likewise.
13223
e14a6184 132242008-08-03 Robert Millan <rmh@aybabtu.com>
13225
13226 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13227 (grub_console_setcursor): Make it possible to set cursor off.
13228
52768e37 132292008-08-03 Robert Millan <rmh@aybabtu.com>
13230
13231 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13232 of modules instead of assuming which platform provides what.
13233 * util/update-grub.in: Likewise.
13234
2d52f57f 132352008-08-03 Robert Millan <rmh@aybabtu.com>
13236
13237 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13238 instead of `grub_install_dos_part' to determine whether a drive needs
13239 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13240 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13241
2a5cd121 132422008-08-02 Robert Millan <rmh@aybabtu.com>
13243
13244 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13245
93808428 132462008-08-02 Robert Millan <rmh@aybabtu.com>
13247
13248 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13249 of informational grub_dprintf() calls.
13250
3bd0a12a 132512008-08-02 Robert Millan <rmh@aybabtu.com>
13252
13253 * disk/memdisk.c (memdisk_size): Don't initialize.
13254 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13255
13256 * include/grub/i386/pc/kernel.h
13257 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13258 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13259 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13260 (grub_arch_memdisk_size): Remove.
13261
13262 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13263 field (was only used to transfer a constant). Add `type' field to
13264 support multiple module types.
13265 (grub_module_iterate): New function.
13266
13267 * kern/device.c (grub_device_open): Do not hide error messages
13268 when grub_disk_open() fails. Use grub_print_error() instead.
13269
13270 * kern/i386/pc/init.c (grub_arch_modules_addr)
13271 (grub_arch_memdisk_size): Remove functions.
13272 (grub_arch_modules_addr): Return the module address in high memory
13273 (now that it isn't copied anymore).
13274
13275 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13276 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13277 decompression routine (grub_total_module_size already includes that
13278 now). Don't copy modules back to low memory.
13279
13280 * kern/main.c: Include `<grub/mm.h>'.
13281 (grub_load_modules): Split out (and use) ...
13282 (grub_module_iterate): ... this function, which iterates through
13283 module objects and runs a hook.
13284 Comment out grub_mm_init_region() call, as it would cause non-ELF
13285 modules to be overwritten.
13286
13287 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13288 the memdisk image in its own region, make it part of the module list.
13289 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13290 (main): Parse --memdisk|-m option, and pass user-provided path as
13291 parameter to generate_image().
13292 (add_segments): Pass `memdisk_path' down to load_modules().
13293 (load_modules): Embed memdisk image in module section when requested.
13294 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13295 `header.type' instead of `header.offset'.
13296
13297 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13298 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13299 (memdisk_mod_LDFLAGS): New variables.
13300 * conf/i386-coreboot.rmk: Likewise.
13301 * conf/i386-ieee1275.rmk: Likewise.
13302
a927cc73 133032008-08-02 Robert Millan <rmh@aybabtu.com>
13304
13305 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13306 (backward_relocator): New variables. Used to allocate and relocate
13307 the payload, respectively.
13308 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13309 address, install the appropriate relocator code in each bound of
a927cc73 13310 the payload, and set the entry point such that
13311 grub_multiboot_real_boot() will jump to one of them.
13312
13313 * kern/i386/loader.S (grub_multiboot_payload_size)
13314 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13315 (grub_multiboot_payload_entry_offset): New variables.
13316 (grub_multiboot_real_boot): Set cpu context to what the relocator
13317 expects, and jump to the relocator instead of the payload.
13318
13319 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13320 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13321 (grub_multiboot_payload_entry_offset): Export.
13322
b15d8a0c 133232008-08-01 Bean <bean123ch@gmail.com>
13324
13325 * normal/menu_entry.c (editor_getline): Don't return the original
13326 string as result, as it will be released by lexer once it has done
13327 using it.
13328
cdfb3d22 133292008-08-01 Robert Millan <rmh@aybabtu.com>
13330
13331 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13332 within menuentries, not before them.
13333 util/grub.d/10_hurd.in: Likewise.
13334
9175e93d 133352008-08-01 Bean <bean123ch@gmail.com>
13336
13337 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13338 (bufio_mod_SOURCES): New macro.
13339 (bufio_mod_CFLAGS): Likewise.
13340 (bufio_mod_LDFLAGS): Likewise.
13341
13342 * include/grub/bufio.h: New file.
13343
13344 * io/bufio.c: Likewise.
13345
13346 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13347 (grub_video_reader_png): Use grub_buffile_open to open file.
13348
13349 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13350 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13351
13352 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13353 (grub_video_reader_tga): Use grub_buffile_open to open file.
13354
13355 * font/manager.c: Include <grub/bufio.h>.
13356 (add_font): Use grub_buffile_open to open file.
13357
3d8383e7 133582008-07-31 Robert Millan <rmh@aybabtu.com>
13359
13360 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13361 ELF segments, use a macro for arbitrarily accessing any of them instead
13362 of preparing a pointer that allows access to one at a time.
13363 (grub_multiboot_load_elf64): Likewise.
13364
16e641b6 133652008-07-31 Bean <bean123ch@gmail.com>
13366
13367 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13368 GRUB_KERNEL_MACHINE_DATA_END.
13369
59198b72 133702008-07-30 Robert Millan <rmh@aybabtu.com>
13371
13372 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13373 Increase from 0x50 to 0x60.
13374 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13375 use UUIDs to identify the root drive for them. If that's not
13376 possible, abort.
13377 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13378 check, for cross-disk installs.
13379
ae88bca3 133802008-07-30 Robert Millan <rmh@aybabtu.com>
13381
13382 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13383 is non-empty, use it to set the `prefix' environment variable instead
13384 of the usual approach.
13385 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13386 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13387 environment variable instead of dummy make_install_device().
13388
13389 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13390 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13391 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13392
13393 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13394 New variable reference.
13395 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13396 New macro. Defines offset of `grub_prefix' within startup.S (relative
13397 to `start').
13398 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13399 section within startup.S (relative to `start').
13400 * include/grub/i386/coreboot/kernel.h: Likewise.
13401
13402 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13403 Overwrite grub_prefix with its contents, at the beginning of the
13404 first segment.
13405 (main): Understand -p|--prefix.
13406
14f41dd1 134072008-07-30 Robert Millan <rmh@aybabtu.com>
13408
13409 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13410
4ca049a3 134112008-07-30 Robert Millan <rmh@aybabtu.com>
13412
13413 * term/i386/pc/vga_text.c (grub_console_cls): Use
13414 grub_console_gotoxy() to go back to beginning of the screen.
13415 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13416
2921d337 134172008-07-29 Christian Franke <franke@computer.org>
13418
13419 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13420 Add conversion of emulated mount points on Cygwin.
13421
b609876d 134222008-07-29 Christian Franke <franke@computer.org>
13423
13424 * util/update-grub.in: Add a check for admin
13425 group on Cygwin.
13426 Remove old `grub.cfg.new' before creation.
13427 Add `-f' to `mv' to handle the different filesystem
13428 semantics of Windows.
13429
e93e4679 134302008-07-29 Bean <bean123ch@gmail.com>
13431
13432 * normal/main.c (get_line): Fix buffer overflow bug.
13433
41694fd0 134342008-07-28 Robert Millan <rmh@aybabtu.com>
13435
13436 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13437 (struct grub_apple_header): New struct. Describes the layout of
13438 the partmap header.
13439 (apple_partition_map_iterate): Check the header magic as well as the
13440 partition magic (which was already being checked).
13441
cfd0b4e6 134422008-07-28 Pavel Roskin <proski@gnu.org>
13443
13444 * genmk.rb: Add a warning to the beginning of the output that
13445 it's a generated file and should not be edited.
13446
93cce016 134472008-07-28 Robert Millan <rmh@aybabtu.com>
13448
13449 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13450 with the same number are found, just use issue a warning with
13451 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 13452
cd1df915 134532008-07-27 Robert Millan <rmh@aybabtu.com>
13454
13455 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13456 information.
13457
b70a8427 134582008-07-27 Bean <bean123ch@gmail.com>
13459
13460 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13461 (grub_fat_find_dir): Ignore case when comparing filename.
13462
8f5e379f 134632008-07-27 Bean <bean123ch@gmail.com>
13464
13465 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13466 smallino, as it's more descriptive, and i8count can be confused with
13467 the other field count.
13468 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13469 inode type.
13470
a85cd5a0 134712008-07-27 Bean <bean123ch@gmail.com>
13472
13473 * commands/crc.c: New file.
13474
13475 * lib/crc.c: Likewise.
13476
13477 * include/grub/lib/crc.h: Likewise.
13478
13479 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13480
13481 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13482 (hexdump): Move this function to ...
13483
13484 * lib/hexdump.c: ... here.
13485
13486 * include/grub/hexdump.h: Renamed to ...
13487
13488 * include/grub/lib/hexdump.h: ... this.
13489
13490 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13491
13492 * util/grub-editenv.c: Likewise.
13493
13494 * include/envblk.h: Renamed to ...
13495
13496 * include/lib/envblk.h: ... this.
13497
13498 * util/envblk.c: Renamed to ...
13499
13500 * lib/envblk.c: ... this.
13501
13502 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13503 lib/hexdump.c.
13504 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13505 (pkglib_MODULES): Add crc.mod.
13506 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13507 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13508 (crc_mod_SOURCES): New macro.
13509 (crc_mod_CFLAGS): Likewise.
13510 (crc_mod_LDFLAGS): Likewise.
13511
13512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13513
13514 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13515
13516 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13517
13518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13519
13520 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13521
c298def0 135222008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 13523
13524 * commands/help.c: Include <grub/term.h>.
13525 (TERM_WIDTH): Removed. Updated all users.
13526
cc349fb3 135272008-07-27 Pavel Roskin <proski@gnu.org>
13528
13529 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13530 spurious warnings about a comment within a comment.
13531
9051607e 135322008-07-25 Robert Millan <rmh@aybabtu.com>
13533
13534 * util/getroot.c (find_root_device): Skip devices that match
13535 /dev/dm-[0-9]. This lets the real device be found for any type of
13536 abstraction (LVM, EVMS, RAID..).
13537 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13538 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13539 device is found first, find_root_device() will now skip it.
13540
01453bfc 135412008-07-24 Pavel Roskin <proski@gnu.org>
13542
13543 * include/grub/types.h: Use __builtin_bswap32() and
13544 __builtin_bswap64() with gcc 4.3 and newer.
13545
6af9849f 135462008-07-24 Christian Franke <franke@computer.org>
13547
3a0fa256 13548 * util/i386/pc/grub-install.in: If `--debug' is specified,
13549 pass `--verbose' to grub-setup.
13550 Abort script if make_system_path_relative_to_its_root() fails.
13551
7810e747 135522008-07-24 Bean <bean123ch@gmail.com>
13553
13554 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13555 variable `target_platform' should be `platform'.
13556
42290e17 135572008-07-24 Bean <bean123ch@gmail.com>
13558
51cc5193 13559 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 13560 (grub_png_init_fixed_block): New function.
13561 (grub_png_decode_image_data): Handle fixed huffman code compression.
13562
2a8a80e4 135632008-07-24 Bean <bean123ch@gmail.com>
13564
13565 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13566 (grub_pe2elf_SOURCES): New macro.
13567 (CLEANFILES): Add grub-pe2elf.
13568
13569 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13570 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13571 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13572 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13573 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13574 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13575 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13576 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13577 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13578 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13579 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13580 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13581 (GRUB_PE32_DT_FUNCTION): Likewise.
13582 (GRUB_PE32_REL_I386_DIR32): Likewise.
13583 (GRUB_PE32_REL_I386_REL32): Likewise.
13584 (grub_pe32_symbol): New structure.
13585 (grub_pe32_reloc): Likewise.
13586
13587 * util/grub-pe2elf.c: New file.
13588
13589 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13590 start symbol in non pc platform.
13591
13592 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13593
13594 The following patches are from Christian Franke.
13595
13596 * include/grub/dl.h: Remove .previous, gas supports this only
13597 for ELF format.
13598
13599 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13600 Remove .type, gas supports this only for ELF format.
13601
13602 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13603 nullbytes in symbol table. This fixes an infinite loop if table is
13604 zero filled.
13605
13606 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13607 TARGET_IMG_LDFLAGS and EXEEXT.
13608
13609 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13610 TARGET_IMG_LDFLAGS_AC.
13611 (grub_CHECK_STACK_ARG_PROBE): New function.
13612
13613 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13614
13615 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13616
13617 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13618 to set TARGET_IMG_LD* accordingly.
13619 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13620 Add call to grub_CHECK_STACK_ARG_PROBE.
13621 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13622
13623 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13624
13625 * genmk.rb: Add EXEEXT to CLEANFILES.
13626
12ccdb75 136272008-07-23 Robert Millan <rmh@aybabtu.com>
13628
13629 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13630 define the codes for arrows and lines used for the menu).
13631 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13632 as well.
13633
13634 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13635 fonts, because the latter are too slow.
13636
18eeaf04 136372008-07-21 Bean <bean123ch@gmail.com>
13638
13639 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13640 a20. Run keyboard test last, as it will cause macbook to halt.
13641
b095e2ad 136422008-07-18 Pavel Roskin <proski@gnu.org>
13643
13644 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13645 load foreign architecture modules correctly anyway. Keep
13646 support for loading host architecture modules, whether we
13647 compile them or not.
13648
737feb35 136492008-07-17 Pavel Roskin <proski@gnu.org>
13650
3f4ce737 13651 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13652 change target_cpu. The compiler default can mismatch target_cpu
13653 in any case.
13654
4ad2d049 13655 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13656 * kern/efi/efi.c: Likewise.
13657
f6130a12 13658 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13659 target compiler is functional.
13660 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13661 are set up.
13662
58393a2d 13663 * configure.ac: Default to efi platform for x86_64-apple. Allow
13664 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13665 adjustments from the rest, only do them if target is not
13666 explicitly given. Merge other adjustments with the final sanity
13667 check. Remove an extraneous check for supported CPU. Be
13668 specific which CPU and which platform is not supported.
13669
737feb35 13670 * configure.ac: Default to pc platform for x86_64.
13671
546f966a 136722008-07-17 Robert Millan <rmh@aybabtu.com>
13673
13674 Partial LinuxBIOS -> Coreboot rename.
13675
13676 * conf/i386-linuxbios.rmk: Renamed to ...
13677 * conf/i386-coreboot.rmk: ... this.
13678 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13679 * configure.ac: Accept "coreboot" as input platform (but maintain
13680 compatibility with "linuxbios").
13681 * include/grub/i386/linuxbios: Renamed to ...
13682 * include/grub/i386/coreboot: ... this.
13683
20011694 136842008-07-17 Bean <bean123ch@gmail.com>
13685
13686 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 13687 (appleldr_mod_SOURCE): New variable.
20011694 13688 (appleldr_mod_CFLAGS): Likewise.
13689 (appleldr_mod_LDFLAGS): Likewise.
13690 (pci_mod_SOURCES): Likewise.
13691 (pci_mod_CFLAGS): Likewise.
13692 (pci_mod_LDFLAGS): Likewise.
13693 (lspci_mod_SOURCES): Likewise.
13694 (lspci_mod_CFLAGS): Likewise.
13695 (lspci_mod_LDFLAGS): Likewise.
13696
13697 * conf/x86_64-efi.rmk: New file.
13698
13699 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13700 macro.
13701 (grub_efidisk_write): Likewise.
13702
13703 * include/efi/api.h (efi_call_0): New macro.
13704 (efi_call_1): Likewise.
13705 (efi_call_2): Likewise.
13706 (efi_call_3): Likewise.
13707 (efi_call_4): Likewise.
13708 (efi_call_5): Likewise.
13709 (efi_call_6): Likewise.
13710
13711 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13712 grub_rescue_cmd_chainloader.
13713
13714 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13715 (grub_pe32_optional_header): Change some fields based on i386 or
13716 x86_64 platform.
13717 (GRUB_PE32_PE32_MAGIC): Likewise.
13718
13719 * include/grub/efi/uga_draw.h: New file.
13720
13721 * include/grub/elf.h (STN_ABS): New constant.
13722 (R_X86_64_NONE): Relocation constant for x86_64.
13723 (R_X86_64_64): Likewise.
13724 (R_X86_64_PC32): Likewise.
13725 (R_X86_64_GOT32): Likewise.
13726 (R_X86_64_PLT32): Likewise.
13727 (R_X86_64_COPY): Likewise.
13728 (R_X86_64_GLOB_DAT): Likewise.
13729 (R_X86_64_JUMP_SLOT): Likewise.
13730 (R_X86_64_RELATIVE): Likewise.
13731 (R_X86_64_GOTPCREL): Likewise.
13732 (R_X86_64_32): Likewise.
13733 (R_X86_64_32S): Likewise.
13734 (R_X86_64_16): Likewise.
13735 (R_X86_64_PC16): Likewise.
13736 (R_X86_64_8): Likewise.
13737 (R_X86_64_PC8): Likewise.
13738
13739 * include/grub/i386/efi/pci.h: New file.
13740
13741 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13742 Change it value based on platform.
13743 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13744 (GRUB_E820_RAM): Likewise.
13745 (GRUB_E820_RESERVED): Likewise.
13746 (GRUB_E820_ACPI): Likewise.
13747 (GRUB_E820_NVS): Likewise.
13748 (GRUB_E820_EXEC_CODE): Likewise.
13749 (GRUB_E820_MAX_ENTRY): Likewise.
13750 (grub_e820_mmap): New structure.
13751 (linux_kernel_header): Change the efi field according to different
13752 kernel version, also field from linux_kernel_header.
13753
13754 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13755
13756 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13757 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13758 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13759 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13760 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13761 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13762 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13763 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13764 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13765 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13766
13767 * include/grub/x86_64/efi/kernel.h: New file.
13768
13769 * include/grub/x86_64/efi/loader.h: Likewise.
13770
13771 * include/grub/x86_64/efi/machine.h: Likewise.
13772
13773 * include/grub/x86_64/efi/pci.h: Likewise.
13774
13775 * include/grub/x86_64/efi/time.h: Likewise.
13776
13777 * include/grub/x86_64/linux.h: Likewise.
13778
13779 * include/grub/x86_64/setjmp.h: Likewise.
13780
13781 * include/grub/x86_64/time.h: Likewise.
13782
13783 * include/grub/x86_64/types.h: Likewise.
13784
13785 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13786 GRUB_TARGET_SIZEOF_VOID_P.
13787
13788 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13789 (grub_efi_locate_handle): Likewise.
13790 (grub_efi_open_protocol): Likewise.
13791 (grub_efi_set_text_mode): Likewise.
13792 (grub_efi_stall): Likewise.
13793 (grub_exit): Likewise.
13794 (grub_reboot): Likewise.
13795 (grub_halt): Likewise.
13796 (grub_efi_exit_boot_services): Likewise.
13797 (grub_get_rtc): Likewise.
13798
13799 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13800 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13801 (grub_efi_allocate_pages): Wrap efi calls.
13802 (grub_efi_free_pages): Wrap efi calls.
13803 (grub_efi_get_memory_map): Wrap efi calls.
13804
13805 * kern/x86_64/dl.c: New file.
13806
13807 * kern/x86_64/efi/callwrap.S: Likewise.
13808
13809 * kern/x86_64/efi/startup.S: Likewise.
13810
13811 * loader/efi/appleloader.c: Likewise.
13812
13813 * loader/efi/chainloader.c (cmdline): New variable.
13814 (grub_chainloader_unload): Wrap efi calls.
13815 (grub_chainloader_boot): Likewise.
13816 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13817 command line.
13818
13819 * loader/efi/chainloader_normal.c (chainloader_command):
13820 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13821 command line.
13822
13823 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13824 method.
13825 (grub_e820_add_region): New function.
13826 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13827 booting.
13828 (grub_find_video_card): New function.
13829 (grub_linux_setup_video): New function.
13830 (grub_rescue_cmd_linux): Probe for video information.
13831
13832 * normal/x86_64/setjmp.S: New file.
13833
13834 * term/efi/console.c (map_char): New function.
13835 (grub_console_putchar): Map unicode char.
13836 (grub_console_checkkey): Wrap efi calls.
13837 (grub_console_getkey): Likewise.
13838 (grub_console_getwh): Likewise.
13839 (grub_console_gotoxy): Likewise.
13840 (grub_console_cls): Likewise.
13841 (grub_console_setcolorstate): Likewise.
13842 (grub_console_setcursor): Likewise.
13843
13844 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13845
59652a20 138462008-07-16 Pavel Roskin <proski@gnu.org>
13847
ef294055 13848 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13849 format strings.
13850
59652a20 13851 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13852 pointer, not an integer. This fixes a warning and prevents
13853 precision loss on 64-bit systems.
13854 (relocate_addresses): Remove unneeded cast.
13855
afc3b5d7 138562008-07-15 Pavel Roskin <proski@gnu.org>
13857
506b2b3e 13858 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13859
62ead89c 13860 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13861
c4cd51d7 13862 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13863 Fix comparison between signed and unsigned.
13864
0d3d8f28 13865 * include/grub/i386/ieee1275/console.h: Declare
13866 grub_console_init() and grub_console_fini().
13867
8804b286 13868 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13869 It's empty and unused.
13870
ee01cf35 13871 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13872 beginning to avoid warnings with some compilers.
13873
afc3b5d7 13874 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13875 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13876
e4e8eaa5 138772008-07-14 Pavel Roskin <proski@gnu.org>
13878
407aceb4 13879 * kern/env.c (grub_register_variable_hook): Don't copy empty
13880 string, it leaks memory. Pass "" to grub_env_set(), it should
13881 handle constant strings.
13882
e4e8eaa5 13883 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13884 * commands/cmp.c (grub_cmd_cmp): Likewise.
13885 * kern/dl.c (grub_dl_flush_cache): Likewise.
13886 (grub_dl_load_core): Likewise.
13887 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13888 (grub_elf64_load_phdrs): Likewise.
13889
d4e2dad3 138902008-07-13 Pavel Roskin <proski@gnu.org>
13891
13892 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13893 between signed and unsigned.
13894 (LzmaEnc_Finish): Fix warning about an unused parameter.
13895
aa24b516 138962008-07-13 Bean <bean123ch@gmail.com>
13897
13898 * Makefile.in (enable_lzo): New rule.
13899
13900 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13901
13902 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13903
13904 * boot/i386/pc/lnxboot.S: #include <config.h>.
13905
13906 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13907 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13908
13909 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13910 compression algorithm according to configure macro.
13911
13912 * kern/i386/pc/startup.S (codestart): Likewise.
13913
13914 * kern/i386/pc/lzma_decode.S: New file.
13915
13916 * include/grub/lib/LzFind.h: Likewise.
13917
13918 * include/grub/lib/LzHash.h: Likewise.
13919
13920 * include/grub/lib/LzmaDec.h: Likewise.
13921
13922 * include/grub/lib/LzmaEnc.h: Likewise.
13923
13924 * include/grub/lib/LzmaTypes.h: Likewise.
13925
13926 * lib/LzFind.c: Likewise.
13927
13928 * lib/LzmaDec.c: Likewise.
13929
13930 * lib/LzmaEnc.c: Likewise.
13931
4ae821ac 139322008-07-13 Bean <bean123ch@gmail.com>
13933
13934 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13935 (grub_ext4_extent_header): New structure.
13936 (grub_ext4_extent): Likewise.
13937 (grub_ext4_extent_idx): Likewise.
13938 (grub_ext4_find_leaf): New function.
13939 (grub_ext2_read_block): Handle extents.
13940
9a745147 139412008-07-12 Robert Millan <rmh@aybabtu.com>
13942
13943 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13944
d49a4cf6 139452008-07-11 Robert Millan <rmh@aybabtu.com>
13946
13947 * util/grub.d/40_custom.in: New file. Example on how to add custom
13948 entries to /etc/grub.d.
13949 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13950 40_custom (implicitly, by merging all the grub.d rules).
13951
947414b4 139522008-07-11 Pavel Roskin <proski@gnu.org>
13953
0059cf6f 13954 * commands/read.c (grub_getline): Fix invalid memory access.
13955 Don't add newline to the variable value.
13956
947414b4 13957 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13958 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13959 (serial_hw_get_port): Check validity of the port number.
13960 (grub_cmd_serial): Check return value of serial_hw_get_port().
13961
62a02d00 139622008-07-07 Pavel Roskin <proski@gnu.org>
13963
13964 * boot/i386/pc/diskboot.S (notification_string): Replace
13965 "Loading kernel" with just "loading". This is shorter, less
13966 confusing and saves a few bytes for possible future changes.
13967
3e5581b0 139682008-07-05 Pavel Roskin <proski@gnu.org>
13969
ea387a48 13970 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13971 size for ATAPI devices, they are undefined. Output sector
13972 number in decimal form.
13973
3e5581b0 13974 * disk/ata.c: Use named constants for status bits.
13975
fdecb8fd 139762008-07-04 Pavel Roskin <proski@gnu.org>
13977
bcd35b90 13978 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13979 grub_addr_t before casting it to the void pointer to fix a
13980 warning. Non-addressable regions are discarded earlier.
13981 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13982 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13983 (check_signature): Don't shadow table_header.
13984 (grub_linuxbios_table_iterate): Cast numeric constants to
13985 grub_linuxbios_table_header_t.
13986 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13987 grub_stop().
13988
af58ab3d 13989 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13990 prevent warnings.
13991
1759aa57 13992 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13993 pointer, which can cause warnings. Support 64-bit addresses.
13994
fdecb8fd 13995 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13996 of sizeof(long). This fixes PowerPC image generation on x86_64.
13997
8516d2a8 139982008-07-04 Robert Millan <rmh@aybabtu.com>
13999
14000 This fixes a performance issue when pc & gpt partmap iterators
14001 didn't abort iteration even after our hook found what it was
fe987087 14002 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14003
14004 Some callers relied on previous buggy behaviour, since they would
34c44600 14005 raise an error when their own hooks caused early abortion of its
8516d2a8 14006 iteration.
14007
14008 * kern/device.c (grub_device_open): Improve error message.
14009 * disk/lvm.c (grub_lvm_open): Likewise.
14010 * disk/raid.c (grub_raid_open): Likewise.
14011
14012 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14013 when hook requests it, independently of grub_errno.
14014 (pc_partition_map_probe): Do not fail when find_func() caused
14015 early abortion of pc_partition_map_iterate().
14016
14017 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14018 when hook requests it, independently of grub_errno.
14019 (gpt_partition_map_probe): Do not fail when find_func() caused
14020 early abortion of gpt_partition_map_iterate().
14021
14022 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14023 when hook requests it, independently of grub_errno. Do not fail when
14024 part_map_iterate_hook() caused early abortion of p->iterate().
14025
14026 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14027 when grub_partition_iterate() returned with non-zero.
14028
277d0de9 140292008-07-03 Pavel Roskin <proski@gnu.org>
14030
14031 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14032 like we do in grub_ata_pio_read().
14033 (grub_ata_readwrite): Always write individual sectors. Fix the
14034 sector count for the remainder.
14035 (grub_ata_write): Enable writing to ATA devices. Correctly
14036 report error for ATAPI devices.
14037
d4c9b428 140382008-07-02 Pavel Roskin <proski@gnu.org>
14039
e43fc690 14040 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14041 warning.
14042
f707af42 14043 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14044 for every read sector, we already increment it for the whole
14045 batch. This fixes reading more than 256 sectors at once.
14046
11e16b15 14047 * util/grub-editenv.c (cmd_info): Cast argument to long
14048 explicitly. ptrdiff_t reduces to int on i386.
14049
cbabfdd4 14050 * util/grub-editenv.c (main): Be specific which parameter is
14051 missing.
14052
b8fbce0a 14053 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14054 (memdisk): Make memdisk_orig_addr a pointer.
14055
c9c8e606 14056 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14057 for file offsets, use grub_off_t instead. Fix printf format
14058 warnings.
14059
ca62e598 14060 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14061 there. Real unexpected warnings should not drown in the noise
14062 about known problems.
14063
ce8d1766 14064 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14065 grub_disk_addr_t for memory addresses.
14066
00c7a56a 14067 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14068 explicitly to fix a warning.
14069
08d3ef09 14070 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14071
cb71ba20 14072 * Makefile.in (MODULE_LDFLAGS): New variable.
14073 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14074 the linker accepts --build-id=none.
14075 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14076 MODULE_LDFLAGS.
14077 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14078
d4c9b428 14079 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14080 those in Linux XFS code. Provide a way to access 64-bit parent
14081 inode.
14082 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14083 the end of struct grub_xfs_dir_header.
14084
d4156eee 140852008-07-02 Bean <bean123ch@gmail.com>
14086
14087 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14088 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14089 and GRUB_IEEE1275_FLAG_NO_ANSI.
14090
14091 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14092 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14093 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14094
14095 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14096 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14097
14098 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14099 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14100
14101 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14102 esc sequence on non ANSI terminal.
14103 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14104
14105 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14106 beginning of file.
14107
2270f77b 141082008-07-02 Bean <bean123ch@gmail.com>
14109
14110 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14111 (grub_editenv_SOURCES): New variable.
14112 (pkglib_MODULES): Add loadenv.mod.
14113 (loadenv_mod_SOURCES): New variable.
14114 (loadenv_mod_CFLAGS): Likewise.
14115 (loadenv_mod_LDFLAGS): Likewise.
14116
14117 * include/grub/envblk.h: New file.
14118
14119 * util/envblk.c: New file.
14120
14121 * util/grub-editenv.c: New file.
14122
14123 * commands/loadenv.c: New file.
14124
0e9e51ec 141252008-07-01 Pavel Roskin <proski@gnu.org>
14126
d89b7634 14127 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14128 not unsigned char. This fixes warnings and is consistent with
14129 other tags.
14130
bf1835b1 14131 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14132
8222a04b 14133 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14134
6a42d99d 14135 * term/tparm.c (analyze): Always set *popcount.
14136
10b159d1 14137 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14138 cast to fix a warning.
14139
b8789f6c 14140 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14141 cast to suppress a warning.
14142
29d7e38a 14143 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14144 grub_fshelp_read_file() expects.
14145
f341f669 14146 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14147 write uuid as a 32-bit value in CPU byte order, so declare and
14148 use it as such.
14149
0e9e51ec 14150 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14151 long if the format specifier expects it.
14152 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14153 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14154 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14155 long to fix a warning.
14156 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14157 grub_dprintf() arguments to fix warnings.
14158
3aefa857 141592008-06-30 Pavel Roskin <proski@gnu.org>
14160
56c7668b 14161 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14162 install_bsd_part immediately before core.img is embedded or
14163 modified on disk. This fixes core.img verification if core.img
14164 cannot be embedded.
14165
3aefa857 14166 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14167 core_path to calculate the blocklist.
14168 Patch from Javier Martín <lordhabbit@gmail.com>
14169
5444088d 141702008-06-29 Robert Millan <rmh@aybabtu.com>
14171
14172 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14173 block to disk block.
14174 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14175 Patch from Niels Böhm <bitbucket@arcor.de>
14176
674835c8 141772008-06-29 Robert Millan <rmh@aybabtu.com>
14178
14179 * util/update-grub_lib.in (font_path): Search for fonts in
14180 /boot/grub first, which is more likely to be readable (we aren't
14181 deciding where fonts live, just looking for them).
14182
f527dbc8 141832008-06-26 Pavel Roskin <proski@gnu.org>
14184
6c2d8df6 14185 * util/biosdisk.c (read_device_map): Don't leave dead map
14186 entries for devices failing stat() check.
14187
f527dbc8 14188 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14189 core_path_dev for the core.img path on the target device.
14190
aebe3d13 141912008-06-26 Robert Millan <rmh@aybabtu.com>
14192
14193 * disk/fs_uuid.c: New file.
14194 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14195 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14196 (fs_uuid_mod_LDFLAGS): New variables.
14197 * include/grub/disk.h (grub_disk_dev_id): Add
14198 `GRUB_DISK_DEVICE_UUID_ID'.
14199 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14200 implement iterate().
14201
37aaf354 142022008-06-26 Robert Millan <rmh@aybabtu.com>
14203
14204 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14205 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14206 Linux image includes no initrd.
14207
25ff262a 142082008-06-21 Javier Martín <lordhabbit@gmail.com>
14209
14210 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14211 call to resolve the core image location that effectively appended the
14212 name twice.
14213
76a2bd44 142142008-06-21 Robert Millan <rmh@aybabtu.com>
14215
14216 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14217 call from here ...
14218
14219 * util/grub.d/10_hurd.in: ... to here ...
14220 * util/grub.d/10_linux.in: ... and here.
14221
650e1c79 142222008-06-19 Robert Millan <rmh@aybabtu.com>
14223
fe987087 14224 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14225 after it has been set by grub_machine_set_prefix().
14226
6ce63911 142272008-06-19 Robert Millan <rmh@aybabtu.com>
14228
14229 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14230 search result when not saving to variable, not the other way around.
14231 When saving to variable, abort iteration as soon as a match is found.
14232
73940cec 142332008-06-19 Robert Millan <rmh@aybabtu.com>
14234
14235 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14236 check for partition that provides /boot/grub. Its logic is flawed,
14237 as it prevents prepare_grub_to_access_device() from being called
14238 multiple times.
14239
3c62a39d 142402008-06-19 Robert Millan <rmh@aybabtu.com>
14241
14242 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14243 "insmod" command directly when abstraction modules are needed,
fe987087 14244 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14245 since it had already been processed).
14246
47395a42 142472008-06-19 Pavel Roskin <proski@gnu.org>
14248
14249 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14250 changed. This is needed in case GRUB_LIBDIR changes.
14251 * conf/i386-ieee1275.rmk: Likewise.
14252 * conf/i386-linuxbios.rmk: Likewise.
14253 * conf/i386-pc.rmk: Likewise.
14254 * conf/powerpc-ieee1275.rmk: Likewise.
14255
a145ac2d 142562008-06-18 Pavel Roskin <proski@gnu.org>
14257
14258 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14259 kernel_elf_symlist.c to symlist.c for consistency with other
14260 architectures. Update all users.
14261 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14262
7847c51e 142632008-06-18 Robert Millan <rmh@aybabtu.com>
14264
14265 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14266 it in prefix.
14267
14268 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14269 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14270 a RAID device, run setup() for all members independently on whether
14271 LVM abstraction is being used.
14272 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14273 If grub-mkimage has set `*install_dos_part == -2', don't override this
14274 value.
14275 Perform *install_dos_part adjustments independently on whether
14276 we're embedding or not.
14277 Clarify error message when image is too big for embedding.
14278 Remove duplicate *install_dos_part stanza.
14279
b23e5644 142802008-06-17 Robert Millan <rmh@aybabtu.com>
14281
14282 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14283 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14284 variables.
14285 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14286 values in grub_ofconsole_normal_color and
14287 grub_ofconsole_highlight_color (they're not directly related to
14288 background and foreground).
14289 (grub_ofconsole_setcolorstate): Extract background and foreground
14290 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14291
0aac2f79 142922008-06-17 Robert Millan <rmh@aybabtu.com>
14293
14294 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14295 /boot/grub for the check in last commit, not /boot (they could be
14296 different partitions).
14297
3cca7ef3 142982008-06-16 Robert Millan <rmh@aybabtu.com>
14299
14300 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14301 asked to setup access for the same partition that provides /boot,
14302 don't bother using UUIDs since our root already has the value we
14303 want.
14304
347396d8 143052008-06-16 Robert Millan <rmh@aybabtu.com>
14306
14307 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14308 I2O devices.
14309 Patch from Sven Mueller <sven@debian.org>.
14310
991477f8 143112008-06-16 Robert Millan <rmh@aybabtu.com>
14312
14313 * util/update-grub.in: Check for $EUID instead of $UID.
14314 Reported by Vincent Zweije.
14315
d31a32a1 143162008-06-16 Bean <bean123ch@gmail.com>
14317
fe987087 14318 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14319 (grub_ext2_read_block): Likewise.
14320 (grub_ext2_read_inode): Likewise.
14321 (grub_ext2_mount): Likewise.
14322 (grub_ext2_close): Likewise.
14323 (grub_ext3_get_journal): Removed.
14324
fe987087 14325 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14326 (grub_reiserfs_read_symlink): Likewise.
14327 (grub_reiserfs_mount): Likewise.
14328 (grub_reiserfs_open): Likewise.
14329 (grub_reiserfs_read): Likewise.
14330 (grub_reiserfs_close): Likewise.
14331 (grub_reiserfs_get_journal): Removed.
14332
14333 * fs/fshelp.c (grub_fshelp_read): Removed.
14334 (grub_fshelp_map_block): Likewise.
14335
14336 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14337 (grub_fshelp_journal): Likewise.
14338 (grub_fshelp_read): Likewise.
14339 (grub_fshelp_map_block): Likewise.
14340
3540a760 143412008-06-16 Pavel Roskin <proski@gnu.org>
14342
14343 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14344 floating point anymore.
14345 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14346
95614c84 143472008-06-15 Pavel Roskin <proski@gnu.org>
14348
14349 * commands/ls.c (grub_ls_list_files): Use integer calculations
14350 for human readable format, avoid floating point use.
14351 * kern/misc.c (grub_ftoa): Remove.
14352 (grub_vsprintf): Remove floating point support.
14353
50465dd6 143542008-06-15 Robert Millan <rmh@aybabtu.com>
14355
fe6b695a 14356 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14357 devices.
14358 Reported by Max Vozeler.
14359
a9207284 143602008-06-15 Robert Millan <rmh@aybabtu.com>
14361
14362 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14363 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14364 skipped later.
14365 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14366 the beginning of the prefix.
14367
14368 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14369 It is assumed that if we have a memdisk, grub-mkimage has set
14370 grub_prefix to include the "(memdisk)" drive in it.
14371
a7cbd45a 143722008-06-15 Robert Millan <rmh@aybabtu.com>
14373
14374 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14375 Initialize keyboard controller after registering the terminal, so that
14376 grub_printf() can be called from grub_keyboard_controller_init().
14377
21cf716a 143782008-06-15 Robert Millan <rmh@aybabtu.com>
14379
14380 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14381 extent-btree which is written as big endian on disk.
14382 Reported by Alain Greppin <al@chilibi.org>.
14383
23a64d8e 143842008-06-14 Robert Millan <rmh@aybabtu.com>
14385
14386 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14387 * util/i386/pc/grub-install.in (modules): Likewise.
14388
d687651c 143892008-06-13 Pavel Roskin <proski@gnu.org>
14390
14391 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14392
dfe9ddd4 143932008-06-13 Bean <bean123ch@gmail.com>
14394
14395 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14396
14397 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14398
14399 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14400 to indicate sparse block.
14401
16ae7781 144022008-06-12 Pavel Roskin <proski@gnu.org>
14403
e6d1a308 14404 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14405 number, grub_fshelp_read() does it for us.
14406
16ae7781 14407 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14408 linear disk read with journal translation.
14409 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14410 * include/grub/fshelp.h: Declare grub_fshelp_read().
14411
40fd3a2b 144122008-06-09 Pavel Roskin <proski@gnu.org>
14413
14414 * fs/minix.c (grub_minix_mount): Handle error reading
14415 superblock.
14416
f5679726 144172008-06-08 Robert Millan <rmh@aybabtu.com>
14418
14419 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14420 don't append the RAID prefix afterwards.
14421 Reported by Clint Adams.
14422
ce525529 144232008-06-08 Robert Millan <rmh@aybabtu.com>
14424
14425 Based on description from Pavel:
14426 * kern/disk.c (grub_disk_check_range): Rename to ...
14427 (grub_disk_adjust_range): ... this. Add a comment explaining the
14428 tasks performed by this function.
14429
ad4936a0 144302008-06-08 Robert Millan <rmh@aybabtu.com>
14431
14432 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14433 `num_serial' (for consistency with other variables).
14434 (struct grub_ntfs_data): Add `uuid' member.
14435 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14436 (grub_ntfs_uuid): New function.
14437 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14438
dc20b0f9 144392008-06-07 Pavel Roskin <proski@gnu.org>
14440
14441 * util/biosdisk.c (open_device): Revert last change to the
14442 function, it broke installation. The sector needs to be
14443 different dependent on which device is opened.
14444
c5e3cfba 144452008-06-06 Robert Millan <rmh@aybabtu.com>
14446
14447 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14448 rest of GRUB, and breakage doesn't happen if its value were modified.
14449
14450 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14451 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14452 a constant (same value).
14453 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14454 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14455
26a1f8c4 144562008-06-06 Robert Millan <rmh@aybabtu.com>
14457
14458 * util/biosdisk.c (open_device): Do not modify sector offset when
14459 accessing a partition. kern/disk.c already handles this for us.
14460
25d6b327 144612008-06-06 Robert Millan <rmh@aybabtu.com>
14462
14463 * util/grub-emu.c (grub_machine_init): Move code in this function from
14464 here ...
14465 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14466 segfault in case grub_printf() is called).
14467
14468 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14469 grub_probe. Update all users not to explicitly add it again.
14470 (grub_device): New variable; contains corresponding device for grubdir.
14471 (fs_module, partmap_module, devabstraction_module): Pass
14472 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14473 every time.
14474
9ece62fb 144752008-06-05 Robert Millan <rmh@aybabtu.com>
14476
14477 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14478 is found, print it (same layout as with labels).
14479
1ad36d37 144802008-06-04 Robert Millan <rmh@aybabtu.com>
14481
14482 * util/biosdisk.c (get_drive): Rename to ...
14483 (find_grub_drive): ... this. Update all users.
14484
14485 (get_os_disk): Rename to ...
14486 (convert_system_partition_to_system_disk): ... this. Update all users.
14487
14488 (find_drive): Rename to ...
14489 (find_system_device): ... this. Update all users.
14490
e6a30859 144912008-06-04 Robert Millan <rmh@aybabtu.com>
14492
14493 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14494 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14495 (make_device_map): Likewise.
14496
00c108a4 144972008-06-01 Robert Millan <rmh@aybabtu.com>
14498
14499 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14500 before dereferencing it.
14501
14502 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14503 union with fat12/fat16-specific ones. Add some new fields, including
14504 `num_serial' for both versions.
14505 (struct grub_fat_data): Add `uuid' member.
14506 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14507 names. Initialize `data->uuid' using `num_serial'.
14508 (grub_fat_uuid): New function.
14509 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14510
14511 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14512 (grub_reiserfs_uuid): New function.
14513 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14514 member.
14515
14516 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14517 (grub_xfs_uuid): New function.
14518 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14519
1385c5bb 145202008-06-01 Robert Millan <rmh@aybabtu.com>
14521
14522 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14523 code that is backward compatible with pre-uuid search command.
14524
c682dfd7 145252008-05-31 Robert Millan <rmh@aybabtu.com>
14526
14527 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14528 floppies after everything else, to ensure floppy drive isn't accessed
14529 unnecessarily (patch from Bean).
14530
b7db5d47 145312008-05-31 Robert Millan <rmh@aybabtu.com>
14532
14533 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14534 not print device names when we were asked to set a variable.
14535
6e037aa9 145362008-05-31 Robert Millan <rmh@aybabtu.com>
14537
14538 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14539 using "cursor-on" and "cursor-off" commands (understood at least by
14540 the Open Firmware flavour on OLPC).
14541
41305bc8 145422008-05-31 Michael Gorven <michael@gorven.za.net>
14543
14544 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14545 on and off sequences.
14546
69ba137e 145472008-05-31 Robert Millan <rmh@aybabtu.com>
14548
14549 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14550 * util/update-grub.in: Likewise.
14551
520ae21b 145522008-05-30 Pavel Roskin <proski@gnu.org>
14553
14554 * util/biosdisk.c (linux_find_partition): Simplify logic and
14555 make the code more universal. Keep special processing for
14556 devfs, but use a simple rule for all other devices. If the
14557 device ends with a number, append 'p' and the partition number.
14558 Otherwise, append only the partition number.
14559
5786569b 145602008-05-30 Robert Millan <rmh@aybabtu.com>
14561
14562 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14563 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14564 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14565 the `root' parameter to Linux.
14566
51500452 145672008-05-30 Robert Millan <rmh@aybabtu.com>
14568
14569 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14570 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14571 --fs_uuid with --fs-uuid.
14572 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14573 all filesystems support them).
14574
811d3878 145752008-05-30 Robert Millan <rmh@aybabtu.com>
14576
14577 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 14578 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 14579
cab63c95 145802008-05-30 Robert Millan <rmh@aybabtu.com>
14581
14582 * util/grub.d/00_header.in: Remove obsolete comment referencing
14583 convert_system_path_to_grub_path().
14584 * util/update-grub.in: Likewise.
14585 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14586 (convert_system_path_to_grub_path): Add a warning message explaining
14587 that this function is deprecated. Rely on is_path_readable_by_grub()
14588 for the readability checks.
14589 (font_path): Use is_path_readable_by_grub() for the readability
14590 check rather than convert_system_path_to_grub_path().
14591
972e2f7a 145922008-05-30 Robert Millan <rmh@aybabtu.com>
14593
14594 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14595 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14596 converting it first.
14597 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14598 grub.cfg for access to font file, and afterwards call it again to set
14599 the root device.
14600
62191274 146012008-05-30 Robert Millan <rmh@aybabtu.com>
14602
14603 * commands/search.c (options): Add --fs_uuid option.
14604 (search_fs_uuid): New function.
14605 (grub_cmd_search): Fix --set argument passing.
14606 Use search_fs_uuid() when requested via --fs_uuid.
14607 (grub_search_init): Update help message.
14608 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14609 and redeclare it as an array of 16-bit words.
14610 (grub_ext2_uuid): New function.
14611 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14612 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14613 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14614 (GRUB_DEVICE_BOOT_UUID): New variables.
14615 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14616 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14617 whenever possible.
14618 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14619 just assume `root' variable has the right value.
14620 * util/grub.d/10_linux.in: Likewise.
14621 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14622 via PRINT_FS_UUID.
14623 (main): Recognise `-t fs_uuid' argument.
14624
01b73ec8 146252008-05-30 Robert Millan <rmh@aybabtu.com>
14626
14627 * util/biosdisk.c (map): Redefine structure to hold information
14628 about GRUB drive name.
fe6b695a 14629 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 14630 drive names.
14631 (call_hook): Remove.
14632 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14633 member. Assume drive has partitions.
14634 (grub_util_biosdisk_open): Access device names via `.device' struct
14635 member.
14636 (open_device): Likewise.
14637 (find_drive): Likewise.
14638 (read_device_map): Adjust map[] usage to match the new struct
14639 definition. Don't check for duplicates (still possible, but not cheap
14640 anymore).
14641 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14642 (make_device_name): Remove assumption of BIOS-like drive names.
14643
22f16596 146442008-05-30 Pavel Roskin <proski@gnu.org>
14645
14646 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14647 compiling execute.c doesn't need grub_script.tab.h anymore.
14648 (normal/command.c_DEPENDENCIES): Likewise.
14649 (normal/function.c_DEPENDENCIES): Likewise.
14650 * conf/i386-ieee1275.rmk: Likewise.
14651 * conf/i386-linuxbios.rmk: Likewise.
14652 * conf/i386-pc.rmk: Likewise.
14653 * conf/powerpc-ieee1275.rmk: Likewise.
14654 * conf/sparc64-ieee1275.rmk: Likewise.
14655
528ad8f2 146562008-05-29 Pavel Roskin <proski@gnu.org>
14657
d1dff95d 14658 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14659 when scanning metadata for volume group name.
14660
528ad8f2 14661 * include/grub/script.h: Don't include grub_script.tab.h. It's
14662 a generated file, which may only be included from the files with
14663 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14664 use union YYSTYPE, as the later allows forward declaration.
14665 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14666
47248e08 146672008-05-29 Robert Millan <rmh@aybabtu.com>
14668
14669 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14670 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14671 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14672 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14673 scan codes.
14674
ee632529 146752008-05-29 Robert Millan <rmh@aybabtu.com>
14676
14677 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14678 control key combinations.
14679
eee96e08 146802008-05-29 Robert Millan <rmh@aybabtu.com>
14681
14682 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14683 * util/ieee1275/grub-install.in: ... to here.
14684 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14685 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14686 (grub_install_SOURCES): Likewise.
14687
da9a6a94 146882008-05-29 Robert Millan <rmh@aybabtu.com>
14689
14690 * fs/affs.c: Update copyright year.
14691 * fs/ext2.c: Likewise.
14692 * fs/fshelp.c: Likewise.
14693 * fs/hfsplus.c: Likewise.
14694 * fs/ntfs.c: Likewise.
14695 * fs/xfs.c: Likewise.
14696 * include/grub/fshelp.h: Likewise.
14697 * util/grub-mkdevicemap.c: Likewise.
14698
12e65f3a 146992008-05-28 Robert Millan <rmh@aybabtu.com>
14700
14701 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14702 might need to be fatfs to support some firmware implementations
14703 (e.g. OFW or EFI).
14704
23023641 147052008-05-28 Robert Millan <rmh@aybabtu.com>
14706
14707 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14708 devices.
14709 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14710 (make_device_map): Likewise.
14711
887d2619 147122008-05-20 Bean <bean123ch@gmail.com>
14713
14714 * fs/fshelp.c (grub_fshelp_map_block): New function.
14715 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14716 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14717
14718 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14719 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14720 (grub_fshelp_journal): New structure.
14721 (grub_fshelp_map_block): New function prototype.
14722 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14723 (grub_fshelp_map_block): Likewise.
14724
14725 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14726 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14727 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14728 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14729 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14730 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14731 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14732 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14733 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14734 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14735 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14736 (grub_ext2_sblock): New members for journal support.
14737 (grub_ext3_journal_header): New structure.
14738 (grub_ext3_journal_revoke_header): Likewise.
14739 (grub_ext3_journal_block_tag): Likewise.
14740 (grub_ext3_journal_sblock): Likewise.
14741 (grub_fshelp_node): New members logfile and journal.
14742 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14743 grub_fshelp_map_block to get real block number.
14744 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14745 number.
14746 (grub_ext2_read_inode): Likewise.
14747 (grub_ext3_get_journal): New function.
14748 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14749 (grub_ext2_close): Release memory used by journal.
14750
14751 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14752 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14753 (grub_reiserfs_transaction_header): Renamed to
14754 grub_reiserfs_description_block, replace field data with real_blocks.
14755 (grub_reiserfs_commit_block): New structure.
14756 (grub_reiserfs_data): New member journal.
14757 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14758 number.
14759 (grub_reiserfs_read_symlink): Likewise.
14760 (grub_reiserfs_iterate_dir): Likewise.
14761 (grub_reiserfs_open): Likewise.
14762 (grub_reiserfs_read): Likewise.
14763 (grub_reiserfs_get_journal): New function.
14764 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14765 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14766 using grub_reiserfs_get_journal.
14767 (grub_reiserfs_close): Release memory used by journal.
14768
14769 * fs/affs.c (grub_affs_read_block): Change block type to
14770 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14771
14772 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14773
14774 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14775
14776 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14777
14778 * fs/udf.c (grub_udf_read_block): Change block type to
14779 grub_disk_addr_t. Use type cast to avoid warning.
14780
14781 * fs/xfs.c (grub_xfs_read_block): Likewise.
14782
b7c6bed5 147832008-05-16 Christian Franke <franke@computer.org>
14784
14785 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14786 to ensure that break with ESC will always work.
14787 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14788 Remove ESC from keyboard queue.
14789
eedf167f 147902008-05-16 Christian Franke <franke@computer.org>
14791
14792 * util/biosdisk.c: [__CYGWIN__] Add includes.
14793 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14794 (get_os_disk): Move variable declarations to OS specific
14795 parts to avoid warning.
14796 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14797 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14798 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14799 Cygwin.
14800 * util/getroot.c: [__CYGWIN__] Add includes.
14801 (strip_extra_slashes): Fix "/" case.
14802 [__CYGWIN__] (get_win32_path): New function.
14803 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14804 [__CYGWIN__] (find_root_device): Disable.
14805 [__CYGWIN__] (get_bootsec_serial): New function.
14806 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14807 [__linux__] (grub_guess_root_device): Add early returns to simplify
14808 structure.
14809 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14810 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14811 check for Linux only.
14812
a079699e 148132008-05-15 Bean <bean123ch@gmail.com>
14814
14815 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14816 keyboard hang problem in apple's intel mac.
14817
1cf4059a 148182008-05-09 Robert Millan <rmh@aybabtu.com>
14819
14820 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14821 devices.
14822 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14823 (make_device_map): Likewise.
14824 Reported by Aurelien Jarno <aurel32@debian.org>
14825
ed759390 148262008-05-07 Ian Campbell <ijc@hellion.org.uk>
14827
14828 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14829 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14830 (make_device_map): Output entries for xvd type disks.
14831
b56c4eaa 148322008-05-07 Robert Millan <rmh@aybabtu.com>
14833
14834 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14835 devices.
14836 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14837 (make_device_map): Likewise.
14838 Reported by Roland Dreier <rdreier@cisco.com>
14839
7f8866ed 148402008-05-07 Robert Millan <rmh@aybabtu.com>
14841
14842 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14843 grub_strstr() call. Correct a few mistakes in failure path handling.
14844
b0346e0f 148452008-05-06 Robert Millan <rmh@aybabtu.com>
14846
14847 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14848 Do not print a trailing slash (therefore, the root directory is an
14849 empty string).
14850 (convert_system_path_to_grub_path): Do not remove trailing slash
14851 from make_system_path_relative_to_its_root() output.
14852
14853 * util/i386/pc/grub-install.in: Add trailing slash to output from
14854 make_system_path_relative_to_its_root().
14855
6cf12cbd 148562008-05-06 Robert Millan <rmh@aybabtu.com>
14857
14858 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14859 ensures that output lines aren't intermangled with those sent to
14860 stderr (via grub_util_info()).
14861 * util/grub-probe.c (grub_refresh): Likewise.
14862 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14863
0fbb3117 148642008-05-05 Christian Franke <franke@computer.org>
14865
14866 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14867 Add Cygwin device names.
14868 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14869 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14870 (check_device): Return error instead of success on empty name.
14871 (make_device_map): Move label inside linux specific code to
14872 prevent compiler warning.
14873
8124cdb7 148742008-04-30 Robert Millan <rmh@aybabtu.com>
14875
14876 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14877 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14878 first boot option.
14879 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14880
094c01d0 148812008-04-29 Robert Millan <rmh@aybabtu.com>
14882
14883 * docs/grub.cfg: New file (example GRUB configuration).
14884
f4b1fc02 148852008-04-26 Robert Millan <rmh@aybabtu.com>
14886
329ce2a5 14887 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14888 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14889 and `disk/ieee1275/nand.c'.
f4b1fc02 14890
25f16ec1 148912008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14892
25f16ec1 14893 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14894 i386-linuxbios.
14895
14896 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14897 change the buffer size to 4096 for cdrom device.
14898
14899 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14900 and nand.mod.
14901 (_linux_mod_SOURCES): New variable.
14902 (_linux_mod_CFLAGS): Likewise.
14903 (_linux_mod_LDFLAGS): Likewise.
14904 (linux_mod_SOURCES): Likewise.
14905 (linux_mod_CFLAGS): Likewise.
14906 (linux_mod_LDFLAGS): Likewise.
14907 (nand_mod_SOURCES): Likewise.
14908 (nand_mod_CFLAGS): Likewise.
14909 (nand_mod_LDFLAGS): Likewise.
14910
14911 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14912 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14913 type property. (nand device in olpc don't have this property)
14914
14915 * include/grub/disk.h (grub_disk_dev_id): New macro
14916 GRUB_DISK_DEVICE_NAND_ID.
14917
14918 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14919 function prototype.
14920 (grub_rescue_cmd_initrd): Likewise.
14921
14922 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14923 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14924 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14925
25f16ec1 14926 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14927 GRUB_MACHINE_IEEE1275 is defined.
14928
14929 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14930 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14931
14932 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14933 on nested function heap_init.
14934 (grub_upper_mem): New variable for i386-ieee1275.
14935 (grub_get_extended_memory): New function for i386-ieee1275.
14936 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14937
14938 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14939 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14940 property.
f19dbdb7 14941
25f16ec1 14942 * loader/i386/ieee1275/linux.c: New file.
14943
14944 * loader/i386/ieee1275/linux_normal.c: New file.
14945
14946 * disk/ieee1275/nand.c: New file.
14947
e89d61e9 149482008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14949
14950 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14951 value.
14952 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14953
602566f6 149542008-04-18 Robert Millan <rmh@aybabtu.com>
14955
14956 Restructures early code path on ieee1275 to unify grub_main() as
14957 the first C function that is executed in every platform.
14958
14959 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14960 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14961 cmain().
14962 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14963 * kern/ieee1275/cmain.c (cmain): Rename to ...
14964 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14965 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14966 at the beginning.
14967
57490c2b 149682008-04-18 Robert Millan <rmh@aybabtu.com>
14969
14970 * util/update-grub.in: Fix syntax error when setting
14971 `GRUB_PRELOAD_MODULES'.
14972 Reported by Stephane Chazelas <stephane@artesyncp.com>
14973
1977517d 149742008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14975
14976 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14977 section into account, newer toolchains generate unique build ids
14978 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14979 we want build ids to be preserved
1977517d 14980 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14981 far from other sections don't cause the raw binary images grow
14982 size
14983
bfb1f1a2 149842008-04-15 Robert Millan <rmh@aybabtu.com>
14985
14986 * disk/lvm.c: Update copyright year.
14987 * kern/misc.c: Likewise.
14988
01979850 149892008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14990
14991 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14992 there is no memory left for physical volume name.
01979850 14993
0a1150e2 149942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14995
14996 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14997 volume name mapping to support bigger than 9 character names properly.
14998
82ead3fe 149992008-04-13 Robert Millan <rmh@aybabtu.com>
15000
15001 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15002 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15003
e54a72f5 150042008-04-13 Christian Franke <franke@computer.org>
15005
15006 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15007 to create a floppy emulation boot CD when non emulation mode
15008 does not work.
15009 Enable Joliet CD filesystem extension.
15010
9fe86034 150112008-04-13 Robert Millan <rmh@aybabtu.com>
15012
15013 * kern/misc.c (grub_strncat): Fix off-by-one error.
15014 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15015
15016 * kern/env.c (grub_env_context_close): Clear current context, not
15017 previous one.
15018 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15019
15020 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15021
7ceeee39 150222008-04-13 Robert Millan <rmh@aybabtu.com>
15023
15024 Improve robustness when handling LVM.
15025
15026 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15027 (and leave `*p' unmodified).
7ceeee39 15028 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15029 through it.
15030 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15031 iterating through it.
15032 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15033 through it.
fe6b695a 15034 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15035 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15036 Don't assume `vg->pvs != NULL' when iterating through it.
15037
58cd3d85 150382008-04-13 Robert Millan <rmh@aybabtu.com>
15039
15040 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15041 * genmk.rb (partmap): New variable.
15042 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15043 (#{partmap}): New target rule.
15044 * genpartmaplist.sh: New file.
15045 * Makefile.in (pkglib_DATA): Add partmap.lst.
15046 (partmap.lst): New target rule.
15047 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15048 modules (including all partition maps), instead of preloading them.
15049
78b51059 150502007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15051
15052 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15053 `linux-boot-prober' (if installed) to detect other operating
15054 systems which are installed on the computer and add them to
15055 the boot menu.
15056 * conf/common.rmk: Build and install 30_os-prober.
15057
a91627b4 150582008-04-12 Robert Millan <rmh@aybabtu.com>
15059
15060 * kern/powerpc/ieee1275/init.c: Move from here ...
15061 * kern/ieee1275/init.c: ... to here. Update all users.
15062
15063 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15064 * kern/ieee1275/cmain.c: ... to here. Update all users.
15065
15066 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15067 * kern/ieee1275/openfw.c: ... to here. Update all users.
15068
15069 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15070 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15071
322562ea 150722008-04-10 Pavel Roskin <proski@gnu.org>
15073
15074 * configure.ac: Always use "_cv_" in cache variables for
15075 compatibility with Autoconf 2.62.
15076
a02a73c5 150772008-04-07 Robert Millan <rmh@aybabtu.com>
15078
15079 Revert grub/machine/init.h addition by Pavel (since it breaks on
15080 i386-ieee1275 and others):
15081 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15082 * util/powerpc/ieee1275/misc.c: Likewise.
15083
25c024b1 150842008-04-07 Robert Millan <rmh@aybabtu.com>
15085
15086 * util/grub-probe.c (probe): Improve error message.
15087
3cbd2f98 150882008-04-07 Robert Millan <rmh@aybabtu.com>
15089
15090 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15091 (this prevents the presence of a bogus entry from ruining the whole
15092 thing).
15093
87a297bf 150942008-04-06 Pavel Roskin <proski@gnu.org>
15095
36747a62 15096 * util/biosdisk.c: Include grub/util/biosdisk.h.
15097 * util/grub-fstest.c (execute_command): Make static.
15098 * util/grub-mkdevicemap.c (check_device): Likewise.
15099 * util/i386/pc/misc.c: Include grub/machine/init.h.
15100 * util/powerpc/ieee1275/misc.c: Likewise.
15101 * util/lvm.c: Include grub/util/lvm.h.
15102 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15103 grub/cache.h.
15104 * util/raid.c: Include grub/util/raid.h.
15105 (grub_util_getdiskname): Make static.
15106
87a297bf 15107 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15108 grub_hostfs_fini(), as they are called from grub_init_all() and
15109 grub_fini_all() respectively. This fixes an infinite loop in
15110 grub-fstest due to double registration of hostfs.
15111 Reported by Christian Franke <Christian.Franke@t-online.de>
15112
f6ce7629 151132008-04-05 Pavel Roskin <proski@gnu.org>
15114
15115 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15116 all 8 functions. Otherwise, probe function 0 only.
15117
070e49e4 151182008-04-04 Pavel Roskin <proski@gnu.org>
15119
8b088a4c 15120 * commands/lspci.c (grub_lspci_iter): Print the bus number
15121 correctly.
15122
4f657021 15123 * commands/lspci.c (grub_pci_classes): Fix typos.
15124 (grub_lspci_iter): Don't print func twice. Print vendor ID
15125 before device ID, as it's normally done.
15126
070e49e4 15127 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15128 Fix signedness warnings.
15129 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15130 Likewise.
15131 * util/ieee1275/get_disk_name.c: Include config.h so that
15132 _GNU_SOURCE is defined and getline() is declared. Mark an
15133 unused argument as such. Fix a signedness warning.
15134
ba7328dc 151352008-04-02 Pavel Roskin <proski@gnu.org>
15136
26887f22 15137 * genkernsyms.sh.in: Use more robust assignments for CC and
15138 srcdir. Quote srcdir.
15139 * gensymlist.sh.in: Likewise. Assert at the compile time that
15140 the symbol table is not empty.
15141
ba7328dc 15142 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15143 * fs/cpio.c (grub_cpio_read): Likewise.
15144
0f582c6b 151452008-04-01 Pavel Roskin <proski@gnu.org>
15146
4b6e1995 15147 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15148 * disk/host.c (grub_host_open): Likewise.
15149 * disk/loopback.c (grub_loopback_open): Likewise.
15150 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15151 disk->id as in disk/host.c, not a multi-character constant.
15152
828a2768 15153 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15154 later is obsolete, potentially dangerous and sets a bad example.
15155 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15156 * util/misc.c (grub_util_get_image_size): Likewise.
15157
2bb4fb47 15158 * disk/loopback.c (options): Improve help for "--partitions".
15159
0f582c6b 15160 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15161 options to align them with the short options, e.g. "echo -e".
15162
a33224e0 151632008-03-31 Bean <bean123ch@gmail.com>
15164
15165 * video/reader/png.c (grub_png_data): New member is_16bit and
15166 image_data.
15167 (grub_png_decode_image_header): Detect 16 bit png image.
15168 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15169 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15170 (grub_video_reader_png): Release memory occupied by image_data.
15171
15172 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15173 4096 bytes.
15174 (grub_nfs_mount): Skip the test for sector per cluster.
15175
15176 * include/grub/ntfs.h (MAX_SPC): Removed.
15177
86cb4f54 151782008-03-31 Bean <bean123ch@gmail.com>
15179
15180 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15181 (grub_probe_SOURCES): Add fs/afs.c.
15182 (grub_fstest_SOURCES): Likewise.
15183 (afs_mod_SOURCES): New variable.
15184 (afs_mod_CFLAGS): Likewise.
15185 (afs_mod_LDFLAGS): Likewise.
15186
15187 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15188 (grub_emu_SOURCES): Likewise.
15189
15190 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15191
15192 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15193
15194 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15195
15196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15197
15198 * fs/afs.c: New file.
15199
17c74c21 152002008-03-30 Pavel Roskin <proski@gnu.org>
15201
4cb68e89 15202 * disk/host.c: Include grub/misc.h to fix a warning.
15203 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15204 warnings about implicit declarations.
15205
8790bb04 15206 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15207 variable.
15208 * include/grub/i386/loader.h: Change declaration of
15209 grub_linux_boot() to match what grub_loader_set() expects.
15210 * util/getroot.c (grub_guess_root_device): Return const char* to
15211 fix a warning.
15212 * util/grub-probe.c (probe): Fix a warning about uninitialized
15213 abstraction_name variable.
15214 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15215 second argument as unused to fix a warning.
15216
9a3f3296 15217 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15218 missing grub_error() call.
15219
0ecef90d 15220 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15221 2.60 and newer uses it to define datadir.
15222
0bf6d401 15223 * commands/sleep.c: Fix warning about implicit declaration.
15224 * disk/memdisk.c: Likewise.
15225 * loader/aout.c: Likewise.
15226 * loader/i386/bsd_normal.c: Likewise.
15227 * util/grub-probe.c: Likewise.
15228
7cdacf97 15229 * commands/i386/cpuid.c (has_longmode): Make static.
15230 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15231 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15232
17c74c21 15233 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15234 GDT. This is more robust, as %ds can change.
15235 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15236 calling real_to_prot().
15237 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15238
80a3e68b 152392008-03-28 Pavel Roskin <proski@gnu.org>
15240
15241 * kern/i386/pc/startup.S: Assert that uncompressed functions
15242 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15243 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15244 code, as they push parts of the code (error handlers) beyond
15245 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15246 code as correctness and size.
15247
77bcd272 152482008-03-28 Pavel Roskin <proski@gnu.org>
15249
15250 * kern/i386/pc/startup.S
15251 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15252 data block address to the real mode, keep offset minimal. This
15253 works around a bug in AWARD BIOS on old Athlon systems, which
15254 makes CD detection hang.
15255
c5dfd43b 152562008-03-26 Pavel Roskin <proski@gnu.org>
15257
15258 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15259 const.
15260 * include/grub/normal.h: Add grub_parse_color_name_pair()
15261 declaration.
15262
bf962df2 152632008-03-24 Bean <bean123ch@gmail.com>
15264
15265 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15266 (cd_count): Removed.
15267 (cd_drive): New variable.
15268 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15269 (grub_biosdisk_call_hook): Likewise.
15270 (grub_biosdisk_iterate): Change cdrom detection method.
15271 (grub_biosdisk_open): Replace cd_start with cd_drive.
15272 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15273 detect cdrom device.
15274
15275 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15276 Removed.
15277 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15278 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15279 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15280 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15281 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15282 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15283 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15284 (grub_biosdisk_cdrp): New structure.
15285 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15286
15287 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15288
15289 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15290 device.
15291
15292 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15293 New function.
15294
68e7fc7a 152952008-03-20 Robert Millan <rmh@aybabtu.com>
15296
15297 Remove 2 TiB limit in ata.mod.
15298 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15299 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15300 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15301 grub_uint64_t instead of grub_uint32_t.
15302
38ad2cf5 153032008-03-05 Bean <bean123ch@gmail.com>
15304
15305 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15306 (grub_multiboot): Set boot device.
15307
15308 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15309
2b89344e 153102008-03-02 Bean <bean123ch@gmail.com>
15311
15312 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15313 symlink_buffer.
15314
87a95d1f 153152008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15316
15317 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15318 texinfo.tex.
15319
15320 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15321 modified.
15322
15323 * docs/fdl.texi: New file.
f19dbdb7 15324
87a95d1f 15325 * docs/mdate-sh: New file. Copied from gnulib.
15326 * docs/texinfo.tex: Likewise.
15327
15328 * config.guess: Updated from gnulib.
15329 * install-sh: Likewise.
15330
7dc15d8e 153312008-02-28 Robert Millan <rmh@aybabtu.com>
15332
15333 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15334 (aout_mod_SOURCES): New variable.
15335 (aout_mod_CFLAGS): Likewise.
15336 (aout_mod_LDFLAGS): Likewise.
15337
15338 * conf/i386-ieee1275.rmk: Likewise.
15339
b00ab696 153402008-02-28 Robert Millan <rmh@aybabtu.com>
15341
15342 * util/update-grub.in: Reorganise terminal validity check. Accept
15343 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15344 Based on suggestion by Franklin PIAT.
15345
79ca2d78 153462008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15347
15348 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15349 function.
15350 * util/getroot.c (grub_util_check_block_device): New function that
15351 returns the given argument if it is a block device and returns NULL else.
15352 * util/grub-probe.c (argument_is_device): New variable.
15353 (probe): Promote device_name from a variable to an argument. Receive
15354 device_name from grub_util_check_block_device() if path is NULL and from
15355 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15356 (options): Introduce new parameter '-d, --device'.
79ca2d78 15357 (main): Add description of the new parameter to the help screen.
15358 Rename path variable to argument. Set argument_is_device if the '-d'
15359 option is given. Pass argument to probe() depending on
15360 argument_is_device.
15361
0d16e571 153622008-02-24 Bean <bean123ch@gmail.com>
15363
15364 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15365 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15366 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15367 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15368 (GRUB_ISO9660_VOLDESC_END): Likewise.
15369 (grub_iso9660_primary_voldesc): New member escape.
15370 (grub_iso9660_data): New member joliet.
15371 (grub_iso9660_convert_string): New function.
15372 (grub_iso9660_mount): Detect joliet extension.
15373 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15374 (grub_iso9660_iso9660_label): Likewise.
15375
15376 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15377 (grub_setup_SOURCES): Add fs/udf.c.
15378 (grub_fstest_SOURCES): Likewise.
15379 (udf_mod_SOURCES): New variable.
15380 (udf_mod_CFLAGS): Likewise.
15381 (udf_mod_LDFLAGS): Likewise.
15382
15383 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15384 (grub_emu_SOURCES): Likewise.
15385
15386 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15387
15388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15389
15390 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15391
15392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15393
15394 * fs/udf.c: New file.
15395
8a594a17 153962008-02-24 Robert Millan <rmh@aybabtu.com>
15397
15398 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15399 (normal/lexer.c_DEPENDENCIES): New variables.
15400 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15401 (normal/lexer.c_DEPENDENCIES): Likewise.
15402 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15403 (normal/lexer.c_DEPENDENCIES): Likewise.
15404 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15405 (normal/lexer.c_DEPENDENCIES): Likewise.
15406 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15407 (normal/lexer.c_DEPENDENCIES): Likewise.
15408 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15409 (normal/lexer.c_DEPENDENCIES): Likewise.
15410
2dc33c03 154112008-02-23 Robert Millan <rmh@aybabtu.com>
15412
15413 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15414 since they were intended to be in hex. This didn't break previously
15415 because of a bug in gpt_partition_map_iterate() (see below).
15416
15417 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15418 when checking the validity of GPT header.
15419 Remove `partno', since it always provides the same information as `i'.
15420
f6f4cfb0 154212008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15422
15423 * include/grub/efi/time.h: Fix a wrong comment.
15424
79ff665f 154252008-02-19 Pavel Roskin <proski@gnu.org>
15426
15427 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15428 message.
15429
d38e24c2 154302008-02-19 Bean <bean123ch@gmail.com>
15431
15432 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15433 (aout_mod_SOURCES): New variable.
15434 (aout_mod_CFLAGS): Likewise.
15435 (aout_mod_LDFLAGS): Likewise.
15436 (_bsd_mod_SOURCES): New variable.
15437 (_bsd_mod_CFLAGS): Likewise.
15438 (_bsd_mod_LDFLAGS): Likewise.
15439 (bsd_mod_SOURCES): New variable.
15440 (bsd_mod_CFLAGS): Likewise.
15441 (bsd_mod_LDFLAGS): Likewise.
15442
15443 * include/grub/aout.h: New file.
15444
15445 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15446
15447 * include/grub/i386/bsd.h: New file.
15448
15449 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15450 to make it public.
15451
15452 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15453 function is called, so that it's possible to change it inside the hook.
15454 (grub_elf64_load): Likewise.
15455 (grub_elf_file): Don't close the file if elf header is not found.
15456 (grub_elf_close): Close the file if grub_elf_file fails (The new
15457 grub_elf_file won't close it).
15458 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15459 (grub_elf64_size): Likewise.
15460
15461 * kern/i386/loader.S (grub_unix_real_boot): New function.
15462
15463 * loader/aout.c: New file.
15464
15465 * loader/i386/bsd.c: New file.
15466
15467 * loader/i386/bsd_normal.c: New file.
15468
15469 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15470
15471 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 15472 can test other formats.
d38e24c2 15473
b93bdb0f 154742008-02-19 Robert Millan <rmh@aybabtu.com>
15475
15476 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15477 (grub_gpt_partition_type_empty): Redefine with macro from
15478 `<grub/gpt_partition.h>'.
15479 (gpt_partition_map_iterate): Adjust partition type comparison.
15480
15481 Export `entry' as partmap-specific `part.data' struct.
15482 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15483
15484 * include/grub/gpt_partition.h (grub_gpt_header)
15485 (grub_gpt_partentry): ... to here (new file).
15486
15487 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15488
15489 (grub_gpt_partition_type_bios_boot): New const variable, defined
15490 with macro from `<grub/gpt_partition.h>'.
15491
15492 (setup): Replace `first_start' with `embed_region', which keeps
15493 track of the embed region (and is partmap-agnostic).
15494
15495 Replace find_first_partition_start() with find_usable_region(),
15496 which finds a usable region for embedding using partmap-specific
15497 knowledge (supports PC/MSDOS and GPT).
15498
15499 Fix all assumptions that the embed region start at sector 1, using
15500 `embed_region.start' from now on. Similarly, use `embed_region.end'
15501 rather than `first_start' to calculate available size.
15502
15503 In grub_util_info() message, replace "into after the MBR" with an
15504 indication of the specific sector our embed region starts at.
15505
66cb40f6 155062008-02-19 Robert Millan <rmh@aybabtu.com>
15507
15508 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15509 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15510 `commands/reboot.c'.
15511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15512 (halt_mod_SOURCES): Likewise.
15513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15514 (halt_mod_SOURCES): Likewise.
15515
b7202015 155162008-02-17 Christian Franke <franke@computer.org>
15517
15518 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15519
32b0fc49 155202008-02-17 Robert Millan <rmh@aybabtu.com>
15521
15522 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15523 set `first_start' to 0 for non-PC/MSDOS partition maps.
15524
aca63502 155252008-02-16 Robert Millan <rmh@aybabtu.com>
15526
15527 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15528 do not assume partition map is PC/MSDOS before performing checks that
15529 are specific to that layout.
15530
0de8be86 155312008-02-13 Robert Millan <rmh@aybabtu.com>
15532
15533 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15534 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15535 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15536
c3db8364 155372008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15538
15539 * configure.ac: Only a cosmetic change on the handling of
15540 -fno-stack-protector.
15541
f714229e 155422008-02-12 Alexandre Boeglin <alex@boeglin.org>
15543
c3db8364 15544 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15545 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15546 reboot.c.
f714229e 15547 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15548 (halt_mod_SOURCES): New variable.
15549 (halt_mod_CFLAGS): Likewise.
15550 (halt_mod_LDFLAGS): Likewise.
15551 (reboot_mod_SOURCES): Likewise.
15552 (reboot_mod_CFLAGS): Likewise.
15553 (reboot_mod_LDFLAGS): Likewise.
15554
c3db8364 15555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15556 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15557 reboot.c.
f714229e 15558 (halt_mod_SOURCES): Likewise.
15559 (reboot_mod_SOURCES): Likewise.
15560
c3db8364 15561 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15562 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 15563 (reboot_mod_SOURCES): Likewise.
15564
15565 * commands/i386/pc/reboot.c: merge this file ...
15566
15567 * commands/ieee1275/reboot.c: ... and this file ...
15568
15569 * commands/reboot.c: ... to this file.
c3db8364 15570 Add some precompiler directive to include the correct header for
15571 each machine.
f714229e 15572
15573 * commands/ieee1275/halt.c: move this file ...
15574
15575 * commands/halt.c: ... to here.
c3db8364 15576 Add some precompiler directive to include the correct header for
15577 each machine.
f714229e 15578
15579 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15580 (grub_halt): Likewise.
15581
15582 * kern/efi/efi.c (grub_reboot): New function.
15583 (grub_halt): Likewise.
15584
c74493e0 155852008-02-12 Robert Millan <rmh@aybabtu.com>
15586
15587 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15588 /dev (like it is done for /dev/mapper). This doesn't provide support
15589 for EVMS, but at least it is now easy to identify the problem when it
15590 arises.
15591
d0db4b04 155922008-02-11 Robert Millan <rmh@aybabtu.com>
15593
15594 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15595 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15596 comparing it with -1, not 0.
15597
bf748642 155982008-02-10 Robert Millan <rmh@aybabtu.com>
15599
15600 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15601 `disk/lvm.c'.
15602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15603 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15604
15605 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15606 `disk/lvm.c' to the end of the list.
15607 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15608 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15609
b5db202a 156102008-02-10 Robert Millan <rmh@aybabtu.com>
15611
15612 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15613 grub_print_error() instead. This will let user know why we're entering
15614 rescue mode.
15615 Based on suggestions from Sam Morris.
15616
83abee31 156172008-02-10 Alexandre Boeglin <alex@boeglin.org>
15618
15619 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15620 on remaining N args, instead of "--" arg N times.
15621
78d5a08b 156222008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15623
15624 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15625 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15626 pattern for unknown glyphs.
15627
68807e5f 156282008-02-09 Robert Millan <rmh@aybabtu.com>
15629
15630 * configure.ac: Probe for `help2man'.
15631 * Makefile.in (builddir): New variable.
15632 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15633 or otherwise add a few flags/options to it.
15634 (install-local): For every executable utility or script that is
15635 installed, invoke $(HELP2MAN) to install a manpage based on --help
15636 output.
15637
15638 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15639 that it doesn't prevent --help from working in build tree.
15640
15641 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15642 with `bug-grub@gnu.org'.
15643 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15644 * util/update-grub.in (usage): New function.
15645 Implement proper argument check, with support for --help and --version
15646 (as well as existing -y).
15647
156482008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 15649
15650 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15651 avoid overwriting previous output.
15652 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15653
c1962162 156542008-02-09 Robert Millan <rmh@aybabtu.com>
15655
15656 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15657 drawing the menu.
15658
3dac2e3f 156592008-02-09 Robert Millan <rmh@aybabtu.com>
15660
15661 * commands/sleep.c: New file.
15662 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15663 (sleep_mod_SOURCES): New variable.
15664 (sleep_mod_CFLAGS): Likewise.
15665 (sleep_mod_LDFLAGS): Likewise.
15666
7a634e08 156672008-02-09 Robert Millan <rmh@aybabtu.com>
15668
15669 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15670 situations in which we can deduce the RAID size and the superblock
15671 doesn't match it.
15672
b92f0c18 156732008-02-09 Robert Millan <rmh@aybabtu.com>
15674
15675 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15676 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15677 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15678
15679 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15680 and return a grub_diskmemberlist_t composed of physical array members.
15681 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15682
15683 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15684 prototype.
15685 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15686 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15687 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15688
15689 * util/grub-probe.c (probe): Move partmap probing code from here ...
15690 (probe_partmap): ... to here.
15691 (probe): Use probe_partmap() once for the disk we're probing, and
15692 additionally, when such disk contains a memberlist() struct member,
15693 once for each disk that is contained in the structure returned by
15694 memberlist().
15695
91a4bf68 156962008-02-09 Robert Millan <rmh@aybabtu.com>
15697
15698 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15699 environment variable to 'all' in order to obtain debug output from
15700 non-util/ code.
15701 * util/i386/pc/grub-setup.c (main): Likewise.
15702
a96f9caa 157032008-02-08 Robert Millan <rmh@aybabtu.com>
15704
15705 * disk/raid.c (grub_raid_scan_device): Check for
15706 `array->device[sb.this_disk.number]' rather than for
15707 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 15708 guaranteed to be accessible.
a96f9caa 15709
b37a9222 157102008-02-08 Robert Millan <rmh@aybabtu.com>
15711
15712 * disk/raid.c: Update copyright.
15713 * fs/cpio.c: Likewise.
15714 * include/grub/raid.h: Likewise.
15715 * loader/i386/pc/multiboot.c: Likewise.
15716 * util/hostfs.c: Likewise.
15717
5626aee1 157182008-02-08 Robert Millan <rmh@aybabtu.com>
15719
15720 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15721 to a grub_disk_t array.
15722 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15723 `device[x]'.
15724 (grub_raid_scan_device): Replace `device[x].name' accesses with
15725 `device[x]->name'. Simplify initialization of `array->device[x]'.
15726
554f0187 157272008-02-08 Robert Millan <rmh@aybabtu.com>
15728
15729 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15730 grub_dprintf() calls.
15731 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15732 error message.
15733
1ec8425d 157342008-02-07 Christian Franke <franke@computer.org>
15735
15736 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15737 instead of fseek and ftell to support large files.
15738 (grub_hostfs_read): Likewise.
15739
f2156fda 157402008-02-07 Robert Millan <rmh@aybabtu.com>
15741
15742 Patch from Jeroen Dekkers.
15743 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15744 failure, since successfully reading all array members might not be
f2156fda 15745 required.
15746
9216e0e7 157472008-02-06 Robert Millan <rmh@aybabtu.com>
15748
15749 * util/grub-probe.c (probe): Simplify partmap probing (with the
15750 assumption that the first word up to the underscore equals to
15751 the module name).
15752
b0dfd29a 157532008-02-06 Christian Franke <franke@computer.org>
15754
15755 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15756 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15757 last block of a cpio or tar stream.
15758 Check for "TRAILER!!!" instead of any empty data
15759 block to detect last block of a cpio stream.
15760 (grub_cpio_dir): Fix constness of variable np.
15761 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15762 cpio or tar trailer is detected. This fixes a crash
15763 on open of a non existing file.
15764
c32865bf 157652008-02-05 Bean <bean123ch@gmail.com>
15766
15767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15768 address of entry.
15769 (grub_multiboot_load_elf64): Likewise.
15770 (grub_multiboot): Initialize mbi structure.
15771
15772 * util/grub-fstest.c: Don't include unused header file script.h.
15773
fe6b695a 15774 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15775 of file.
15776 (grub_fstest_SOURCES): Likewise.
15777
409480b7 157782008-02-05 Robert Millan <rmh@aybabtu.com>
15779
15780 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15781 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15782 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15783 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15784
15785 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15786 (translation_table): Replace hardcoded values with macros
15787 provided by `<grub/term.h>'.
15788
15789 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15790 (keyboard_map): Correct/add a few values, with macros provided
15791 by `<grub/term.h>'.
15792 (keyboard_map_shift): Zero values that don't differ from their
15793 `keyboard_map' equivalents.
15794 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15795 Discard the second scan code that is always sent by Caps lock.
15796 Only use `keyboard_map_shift' when it provides a non-zero value,
15797 otherwise fallback to `keyboard_map'.
15798
99fadbaa 157992008-02-04 Bean <bean123ch@gmail.com>
15800
15801 * Makefile.in (enable_grub_fstest): New variable.
15802
15803 * conf/common.rmk (grub_fstest_init.lst): New rule.
15804 (grub_fstest_init.h): Likewise.
15805 (grub_fstest_init.c): Likewise.
15806 (util/grub-fstest.c_DEPENDENCIES): New variable.
15807 (grub_fstest_SOURCES): Likewise.
15808
15809 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15810
15811 * util/grub-fstest.c: New file.
15812
bf567c50 158132008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15814
15815 Make grub-setup handle a separate root device.
f19dbdb7 15816
bf567c50 15817 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15818 so that the root device can be compared with the destination
15819 device.
15820 When embedding the core image, if the root and destination devices
15821 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15822 0xFF.
15823 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15824
9be6b98b 158252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15826
15827 Add support for having a grub directory in a different drive. This
15828 is still only the data handling part.
f19dbdb7 15829
9be6b98b 15830 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15831 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15832 (grub_root_drive): New variable.
15833
15834 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15835 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15836 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15837 as it was.
15838
15839 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15840
15841 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15842 macro.
15843 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15844
15845 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15846 is bogus, because PXE booting does not specify any drive
15847 correctly.
15848
15849 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15850 am not sure if this is really correct.
15851
15852 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15853 is always identical to the boot drive when booting from a CD.
15854
15855 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15856 longer.
15857 (root_drive): New variable.
15858 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15859 (setup_sectors): Push %dx right after popping it, because %dh will
15860 be modified later.
15861 (copy_buffer): Restore %dx.
15862
e0ca0677 158632008-02-03 Robert Millan <rmh@aybabtu.com>
15864
15865 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15866 use `cdboot.img' for cdrom images.
15867
3b3f6629 158682008-02-03 Robert Millan <rmh@aybabtu.com>
15869
15870 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15871 only setup gfxterm when `font' command has succeeded.
15872
d42b3672 158732008-02-03 Robert Millan <rmh@aybabtu.com>
15874
15875 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15876 (grub_rescue_cmd_multiboot_loader)
15877 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15878
fa370ea6 158792008-02-03 Pavel Roskin <proski@gnu.org>
15880
e0c5dacb 15881 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15882 %edx and %esi from stack only after grub_gate_a20() is called.
15883 grub_gate_a20() clobbers %edx.
15884
f2a76e1d 158852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15886
15887 * configure.ac (AC_INIT): Bumped to 1.96.
15888
15889 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15890 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15891 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15892 video/readers/png.c.
15893
90fd32d1 158942008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15895
15896 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15897 (cdboot_img_SOURCES): New variable.
15898 (cdboot_img_ASFLAGS): New variable.
15899 (cdboot_img_LDFLAGS): New variable.
15900
15901 * boot/i386/pc/cdboot.S: New file.
15902
15903 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15904 (cd_count): Likewise.
15905 (grub_biosdisk_get_drive): Add support for cd device.
15906 (grub_biosdisk_call_hook): Likewise.
15907 (grub_biosdisk_iterate): Likewise.
15908 (grub_biosdisk_open): Likewise.
15909 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15910 (grub_biosdisk_rw): Support reading from cd device.
15911 (GRUB_MOD_INIT): Iterate cd devices.
15912
15913 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15914 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15915 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15916
15917 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15918
4020aa53 159192008-02-02 Robert Millan <rmh@aybabtu.com>
15920
15921 * commands/read.c: New file.
15922 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15923 (read_mod_SOURCES): New variable.
15924 (read_mod_CFLAGS): Likewise.
15925 (read_mod_LDFLAGS): Likewise.
15926
e03a1132 159272008-02-02 Robert Millan <rmh@aybabtu.com>
15928
15929 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15930 determining whether menu has to be displayed.
15931
58c69220 159322008-02-02 Marco Gerards <marco@gnu.org>
15933
15934 * bus/pci.c: New file.
15935
15936 * include/grub/pci.h: Likewise.
15937
15938 * include/grub/i386/pc/pci.h: Likewise.
15939
15940 * commands/lspci.c: Likewise.
15941
15942 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15943 `lspci.mod'.
15944 (pci_mod_SOURCES): New variable.
15945 (pci_mod_CFLAGS): Likewise.
15946 (pci_mod_LDFLAGS): Likewise.
15947 (lspci_mod_SOURCES): Likewise.
15948 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15949 (lspci_mod_LDFLAGS): Likewise.
58c69220 15950
c004e1b4 159512008-02-02 Bean <bean123ch@gmail.com>
15952
15953 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15954 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15955
15956 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15957 (grub_xfs_btree_node): New structure.
15958 (grub_xfs_btree_root): New structure.
15959 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15960 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15961 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15962 (GRUB_XFS_EXTENT_SIZE): Likewise.
15963 (grub_xfs_read_block): Support btree format type.
15964 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15965 Use directory block as basic unit.
15966
15967 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15968
15969 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15970 __attribute__ ((__regparm__ (1))).
15971
f95562bf 159722008-02-01 Robert Millan <rmh@aybabtu.com>
15973
15974 Correct a mistake in previous commit.
15975
15976 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15977 top.
15978 (normal/command.c_DEPENDENCIES): New variable.
15979
7d31f41f 159802008-02-01 Robert Millan <rmh@aybabtu.com>
15981
15982 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15983 top.
15984 (normal/command.c_DEPENDENCIES): New variable.
15985 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15986 * conf/i386-ieee1275.rmk: Likewise.
15987 * conf/i386-linuxbios.rmk: Likewise.
15988 * conf/i386-pc.rmk: Likewise.
15989 * conf/sparc64-ieee1275.rmk: Likewise.
15990 * conf/powerpc-ieee1275.rmk: Likewise.
15991 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15992
15993 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15994
60b6be74 159952008-02-01 Robert Millan <rmh@aybabtu.com>
15996
15997 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15998 call at beginning of function.
15999
078522ab 160002008-01-31 Pavel Roskin <proski@gnu.org>
16001
16002 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16003 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16004 (grub_mkrescue_SOURCES): Likewise.
078522ab 16005 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16006
ccaa8a5f 160072008-01-30 Robert Millan <rmh@aybabtu.com>
16008
16009 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16010 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16011 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16012 (grub_probe_SOURCES): ... to here.
16013
16014 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16015 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16016 * conf/i386-ieee1275.rmk: Likewise.
16017 * conf/i386-linuxbios.rmk: Likewise.
16018 * conf/powerpc-ieee1275.rmk: Likewise.
16019
ae5a9cd7 160202008-01-30 Tristan Gingold <gingold@free.fr>
16021
16022 * kern/rescue.c: Silently accept empty lines.
16023
70bc2ef2 160242008-01-29 Bean <bean123ch@gmail.com>
16025
16026 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16027 (real_code_2): Code cleanup and change comment style.
16028 (move_memory): Avoid using 32-bit address mode.
16029
6a4d50ea 160302008-01-29 Bean <bean123ch@gmail.com>
16031
16032 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16033 (png_mod_SOURCES): New variable.
16034 (png_mod_CFLAGS): Likewise.
16035 (png_mod_LDFLAGS): Likewise.
16036
16037 * video/readers/png.c: New file.
16038
11cc30ac 160392008-01-28 Robert Millan <rmh@aybabtu.com>
16040
16041 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16042 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16043 `ifndef GRUB_MOD_GAP' hack.
16044 * util/elf/grub-mkimage.c (add_segments): Likewise.
16045
3abc589f 160462008-01-27 Robert Millan <rmh@aybabtu.com>
16047
16048 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16049 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16050 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16051
e1907778 160522008-01-27 Robert Millan <rmh@aybabtu.com>
16053
16054 Get grub-emu to build again (including parallel builds).
16055
16056 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16057 Split into ...
16058 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16059 (normal/execute.c_DEPENDENCIES): ... this, ...
16060 (grub-emu_DEPENDENCIES): ... and this.
16061
16062 * conf/i386-efi.rmk: Likewise.
16063 * conf/i386-linuxbios.rmk: Likewise.
16064 * conf/i386-ieee1275.rmk: Likewise.
16065 * conf/powerpc-ieee1275.rmk: Likewise.
16066 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16067
2216b101 160682008-01-27 Robert Millan <rmh@aybabtu.com>
16069
16070 * NEWS: Add a few items.
16071
f75172d9 160722008-01-27 Robert Millan <rmh@aybabtu.com>
16073
16074 Fix parallel builds with grub-emu. Based on earlier commit for
16075 grub-probe and grub-setup.
16076
16077 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16078 (util/grub-emu.c_DEPENDENCIES): ... this.
16079 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16080 (util/grub-emu.c_DEPENDENCIES): ... this.
16081 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16082 (util/grub-emu.c_DEPENDENCIES): ... this.
16083 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16084 (util/grub-emu.c_DEPENDENCIES): ... this.
16085 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16086 (util/grub-emu.c_DEPENDENCIES): ... this.
16087
3f51de77 160882008-01-27 Pavel Roskin <proski@gnu.org>
16089
16090 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16091 to create a gap between _end and the modules added to the image
16092 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16093 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16094 * util/elf/grub-mkimage.c (add_segments): Likewise.
16095
2033f53e 160962008-01-26 Pavel Roskin <proski@gnu.org>
16097
16098 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16099 just return an error.
16100
22da1f6f 161012008-01-26 Bean <bean123ch@gmail.com>
16102
16103 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16104 (grub_reiserfs_get_item): Save offset of the next item.
16105 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16106
2a9525e6 161072008-01-25 Robert Millan <rmh@aybabtu.com>
16108
16109 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16110 make all filesystem sources appear together (possibly fixing omissions
16111 while at it).
16112 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16114 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16116
16117 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16118 add `kern/file.c'.
16119 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16120 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16121 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16122 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16123
16124 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16125 (probe): Add a sanity check to make sure of our ability to read
16126 requested files when probing for filesystem type.
16127
16128 * genmk.rb: Update copyright year (2007).
16129
16130 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16131 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16132 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16133 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16134 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16135 : Remove function prototypes.
16136
b95f71b5 161372008-01-25 Robert Millan <rmh@aybabtu.com>
16138
16139 Revert my previous commits (based on wrong assumption of how grub_errno
16140 works).
16141
fe6b695a 16142 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16143 * kern/file.c (grub_file_open): Likewise.
16144
d08bbb49 161452008-01-24 Pavel Roskin <proski@gnu.org>
16146
16147 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16148 that hang if GRUB tries to setup colors.
16149 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16150 colors for firmwares that don't support it.
16151 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16152 Recognize Open Hack'Ware, set flags to work around its
16153 limitations.
16154
605e36ed 161552008-01-24 Robert Millan <rmh@aybabtu.com>
16156
16157 * kern/file.c (grub_file_open): Do not account previous failures of
16158 unrelated functions when grub_errno is checked for.
16159 Reported by Oleg Strikov.
16160
bac332a1 161612008-01-24 Bean <bean123ch@gmail.com>
16162
16163 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16164 (grub_ufs_sblock): New member volume name.
16165 (grub_ufs_find_file): Fix string copy bug.
16166 (grub_ufs_label): Implement this function properly.
16167
16168 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16169 (grub_hfs_iterate_records): Use the correct file number for extents
16170 and catalog file. Fix problem in next index calculation.
16171 (grub_hfs_find_node): Replace recursive function call with loop.
16172 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16173
15c80c09 161742008-01-23 Robert Millan <rmh@aybabtu.com>
16175
16176 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16177 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16178 (grub_multiboot2_real_boot): New function prototype.
16179
16180 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16181 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16182
16183 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16184 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16185
305338fd 161862008-01-23 Robert Millan <rmh@aybabtu.com>
16187
16188 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16189 #ifdef'ed out grub_printf().
16190
3ea52685 161912008-01-23 Robert Millan <rmh@aybabtu.com>
16192
16193 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16194 grub_dprintf calls, since they make "debug=all" mode unusable.
16195 (grub_console_checkkey): Likewise.
16196
5882ae4b 161972008-01-23 Robert Millan <rmh@aybabtu.com>
16198
16199 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16200 `term/i386/pc/at_keyboard.c'.
16201 (pkglib_MODULES): Add `serial.mod'.
16202 (serial_mod_SOURCES): New variable.
16203 (serial_mod_CFLAGS): Likewise.
16204 (serial_mod_LDFLAGS): Likewise.
16205
16206 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16207 `<grub/powerpc/ieee1275/console.h>'.
16208 (grub_keyboard_controller_init): New function prototype.
16209 (grub_console_checkkey): Likewise.
16210 (grub_console_getkey): Likewise.
16211
16212 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16213 keyboard on i386.
16214
16215 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16216 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16217
06ab5303 162182008-01-23 Robert Millan <rmh@aybabtu.com>
16219
16220 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16221 present, "(memdisk)/boot/grub" becomes the default prefix.
16222
16223 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16224 a memdisk tarball with all the modules. Add --overlay=DIR option that
16225 allows users to overlay additional files into the image.
16226
dbb475a4 162272008-01-23 Robert Millan <rmh@aybabtu.com>
16228
16229 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16230 and `machine/memory.h'.
16231 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16232 (_multiboot_mod_SOURCES): New variable.
16233 (_multiboot_mod_CFLAGS): Likewise.
16234 (_multiboot_mod_LDFLAGS): Likewise.
16235 (multiboot_mod_SOURCES): Likewise.
16236 (multiboot_mod_CFLAGS): Likewise.
16237 (multiboot_mod_LDFLAGS): Likewise.
16238
16239 * include/grub/i386/ieee1275/loader.h: New file.
16240
16241 * include/grub/i386/ieee1275/machine.h: Likewise.
16242
16243 * include/grub/i386/ieee1275/memory.h: Likewise.
16244
16245 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16246 variable declaration.
16247 (grub_os_area_size): Likewise.
16248
16249 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16250 (grub_lower_mem, grub_upper_mem): New variables.
16251 (grub_stop_floppy): New function (just to make
16252 grub_multiboot2_real_boot() happy).
16253
16254 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16255 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16256 (grub_stop): New function.
16257 Include `"../realmode.S"' and `"../loader.S"'.
16258
16259 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16260 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16261
16262 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16263 rely on grub_multiboot2_real_boot() for final boot.
16264
25638629 162652008-01-22 Robert Millan <rmh@aybabtu.com>
16266
16267 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16268 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16269 device that doesn't look like an SD card.
16270 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16271 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16272 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16273 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16274 found.
16275
9dad816d 162762008-01-22 Robert Millan <rmh@aybabtu.com>
16277
16278 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16279 avoid claiming over our own code.
16280
34842f2d 162812008-01-22 Bean <bean123ch@gmail.com>
16282
16283 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16284 (jpeg_mod_SOURCES): New variable.
16285 (jpeg_mod_CFLAGS): Likewise.
16286 (jpeg_mod_LDFLAGS): Likewise.
16287
16288 * video/readers/jpeg.c : New file.
16289
44023a28 162902008-01-22 Bean <bean123ch@gmail.com>
16291
16292 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16293 there are no more items.
16294
bc2d8ac6 162952008-01-21 Robert Millan <rmh@aybabtu.com>
16296
16297 * kern/mm.c (grub_mm_init_region): Improve debug message.
16298
261bd4bc 162992008-01-21 Robert Millan <rmh@aybabtu.com>
16300
16301 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16302 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16303 address.
16304 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16305 a C macro.
16306 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16307 Indicates start of upper memory.
16308 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16309 (generate_image): Abort when image size is big enough to corrupt
16310 upper memory.
16311
16312 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16313 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16314 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16315 instead of hardcoding 0xA0000.
16316 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16317 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16318 instead of hardcoding 0xA0000.
16319
f970b55e 163202008-01-21 Robert Millan <rmh@aybabtu.com>
16321
16322 * disk/memdisk.c (memdisk_size): New variable.
16323 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16324 `memdisk_size'.
16325 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16326 image to dynamic memory.
16327 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16328 `memdisk_size'. Free memdisk block.
16329
1a8b0526 163302008-01-21 Robert Millan <rmh@aybabtu.com>
16331
16332 Fix detection of very small filesystems (like tar).
16333
16334 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16335 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16336 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16337 a problem with this disk).
16338
6e9b4aab 163392008-01-21 Robert Millan <rmh@aybabtu.com>
16340
16341 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16342 on grub_biosdisk_rw_standard() error.
16343
0d8837b2 163442008-01-21 Robert Millan <rmh@aybabtu.com>
16345
16346 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16347 recent changes.
16348 * kern/elf.c: Likewise.
16349 * kern/ieee1275/ieee1275.c: Likewise.
16350 * kern/powerpc/ieee1275/openfw.c: Likewise.
16351 * term/ieee1275/ofconsole.c: Likewise.
16352
ffd36e34 163532008-01-21 Robert Millan <rmh@aybabtu.com>
16354
16355 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16356
3f0093d0 16357 * include/grub/kernel.h (grub_arch_memdisk_addr)
16358 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16359
3f0093d0 16360 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16361 (grub_arch_memdisk_size): ... to here.
ffd36e34 16362
6c391b21 163632008-01-21 Robert Millan <rmh@aybabtu.com>
16364
16365 Mostly based on bugfix from Bean.
16366
16367 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16368 attribute with hook() parameter.
16369 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16370 declaration.
16371 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16372 attribute with hook() parameter.
16373 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16374 declaration.
16375
55a581dc 163762008-01-21 Robert Millan <rmh@aybabtu.com>
16377
16378 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16379 (pkglib_MODULES): Add `memdisk.mod'.
16380 (memdisk_mod_SOURCES): New variable.
16381 (memdisk_mod_CFLAGS): Likewise.
16382 (memdisk_mod_LDFLAGS): Likewise.
16383
16384 * disk/memdisk.c: New file.
16385
16386 * include/grub/disk.h (grub_disk_dev_id): Add
16387 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16388
16389 * include/grub/i386/pc/kernel.h
16390 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16391 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16392 (grub_kernel_image_size): New variable declaration.
16393 (grub_total_module_size): Likewise.
16394 (grub_memdisk_image_size): Likewise.
16395
16396 * include/grub/i386/pc/memory.h
16397 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16398
16399 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16400 (grub_arch_memdisk_addr): New variable declaration.
16401 (grub_arch_memdisk_size): Likewise.
16402
16403 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16404 (grub_arch_memdisk_size): Likewise.
16405
16406 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16407 (codestart): Replace hardcoded `0x100000' with
16408 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16409
16410 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16411 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16412 not NULL, append the contents of the file it refers to, at the end of
16413 the compressed kernel image. Initialize `grub_memdisk_image_size'
16414 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16415 (options): Add "memdisk"|'m' option.
16416 (main): Parse --memdisk|-m option, and pass user-provided path as
16417 parameter to generate_image().
16418
3d7f54c9 164192008-01-20 Robert Millan <rmh@aybabtu.com>
16420
16421 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16422 grub_dprintf() calls from here ...
16423 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16424
0bf74728 164252008-01-20 Robert Millan <rmh@aybabtu.com>
16426
16427 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16428
16429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16430 declaration.
16431 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16432 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16433 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16434 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16435 property).
16436 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16437 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16438
33bf70a7 164392008-01-19 Robert Millan <rmh@aybabtu.com>
16440
fe6b695a 16441 Get rid of confusing function (superseded by
33bf70a7 16442 `grub_ieee1275_get_integer_property')
16443 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16444 prototype.
16445 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16446 function.
16447 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16448 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 16449 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 16450
e2da7d26 164512008-01-19 Robert Millan <rmh@aybabtu.com>
16452
16453 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16454 command after "shut-down", since implementations differ on which
16455 the command for halt is.
16456
59f1fd8d 164572008-01-19 Robert Millan <rmh@aybabtu.com>
16458
16459 * include/grub/i386/linuxbios/console.h: Add header protection.
16460 (grub_keyboard_controller_init): New function prototype.
16461 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16462 (KEYBOARD_COMMAND_READ): Likewise.
16463 (KEYBOARD_COMMAND_WRITE): Likewise.
16464 (KEYBOARD_SCANCODE_SET1): Likewise.
16465 (grub_keyboard_controller_write): New function.
16466 (grub_keyboard_controller_read): Likewise.
16467 (grub_keyboard_controller_init): Likewise.
16468
16469 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16470 (grub_console_init): On coreboot/LinuxBIOS, call
16471 grub_keyboard_controller_init().
16472
5f5a7c15 164732008-01-19 Robert Millan <rmh@aybabtu.com>
16474
16475 PowerPC changes provided by Pavel Roskin.
16476
16477 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16478 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16479 don't rely on cmain() doing it.
16480 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16481 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16482
1210e168 164832008-01-16 Robert Millan <rmh@aybabtu.com>
16484
16485 * include/grub/i386/linuxbios/memory.h
16486 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16487 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16488 receive `table_header' as argument. Instead, probe for it in the
16489 known memory ranges where it can be present.
16490 (grub_available_iterate): Do not pass a fixed `table_header' address
16491 to grub_linuxbios_table_iterate().
16492
3d04eab8 164932008-01-15 Robert Millan <rmh@aybabtu.com>
16494
16495 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16496 * conf/i386-ieee1275.rmk: New file.
16497 * include/grub/i386/ieee1275/console.h: Likewise.
16498 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16499 * include/grub/i386/ieee1275/kernel.h: Likewise.
16500 * include/grub/i386/ieee1275/time.h: Likewise.
16501 * kern/i386/ieee1275/init.c: Likewise.
16502 * kern/i386/ieee1275/startup.S: Likewise.
16503
d1bc1b73 165042008-01-15 Robert Millan <rmh@aybabtu.com>
16505
16506 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16507 when pointers are 32-bit (but still do set it to one when they are
16508 64-bit).
16509
66a65807 165102008-01-15 Robert Millan <rmh@aybabtu.com>
16511
16512 * include/grub/ieee1275/ieee1275.h
16513 (grub_ieee1275_get_integer_property): New function prototype.
16514
16515 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16516 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 16517 grub_ieee1275_get_property() to handle endianness.
66a65807 16518
16519 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16520 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 16521 where appropriate.
66a65807 16522 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16523 (grub_map): Likewise.
16524 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16525
a83ccafd 165262008-01-15 Bean <bean123ch@gmail.com>
16527
16528 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16529 (grub_script_execute_cmdline): Reset grub_errno.
16530
16531 * normal/main.c (read_config_file): Reset grub_errno.
16532
16533 * normal/parse.y (script_init): New.
16534 (script): Move function and menuentry here.
16535 (delimiter): New.
16536 (command): Add delimiter at the end of command.
16537 (commands): Adjust to match the new command.
16538 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 16539 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 16540 (if): Use the new commands.
16541
16542 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16543
df6ecfc6 165442008-01-15 Robert Millan <rmh@aybabtu.com>
16545
16546 * normal/menu.c (run_menu): Move timeout message from here ...
16547 (print_timeout): ... to here.
16548 (run_menu): Use print_timeout() once during initial draw to print
16549 the whole message, and again in every clock tick to update only
16550 the number of seconds.
16551
87ae25eb 165522008-01-15 Robert Millan <rmh@aybabtu.com>
16553
16554 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16555 actual size of `available' from grub_ieee1275_get_property(), and
16556 restrict parsing to that bound.
16557
47bf09a4 165582008-01-15 Christian Franke <franke@computer.org>
16559
16560 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16561 (argp_program_version): Remove variable.
16562 (argp_program_bug_address): Likewise.
16563 (options): Convert from struct argp_option to struct option.
16564 (struct arguments): Remove.
16565 (parse_opt): Remove.
16566 (usage): New function.
16567 (main): Replace struct args members by simple variables.
16568 Replace argp_parse() by getopt_long().
16569 Add switch to evaluate options.
16570 Add missing "(...)" around root_dev in prefix string.
16571
c86f1469 165722008-01-14 Robert Millan <rmh@aybabtu.com>
16573
16574 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16575 for grub_ieee1275_exit(), in order to improve portability.
16576
e622c559 165772008-01-14 Robert Millan <rmh@aybabtu.com>
16578
16579 * util/grub.d/10_linux.in (prefix): Define.
16580 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16581
44cb1ec8 165822008-01-13 Pavel Roskin <proski@gnu.org>
16583
16584 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16585 grub_errno if no errors have been detected.
16586
1eb8c802 165872008-01-12 Robert Millan <rmh@aybabtu.com>
16588
16589 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16590 (grub_util_get_dev_abstraction): New function prototype.
16591
16592 * util/getroot.c: Include `<grub/util/getroot.h>'
16593 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16594 (grub_util_get_dev_abstraction): ... here (new function).
16595
16596 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16597 `PRINT_ABSTRACTION'.
16598 (probe): Probe for abstraction type when requested.
16599 (main): Understand `--target=abstraction'.
16600
16601 * util/i386/efi/grub-install.in: Add abstraction module to core
16602 image when it is found to be necessary.
16603 * util/i386/pc/grub-install.in: Likewise.
16604 * util/powerpc/ieee1275/grub-install.in: Likewise.
16605
16606 * util/update-grub_lib.in (font_path): Return system path without
16607 converting to GRUB path.
16608 * util/update-grub.in: Convert system path returned by font_path()
16609 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16610 abstraction module is needed for loading fonts (if any). Export
16611 that as `GRUB_PRELOAD_MODULES'.
16612 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16613 insmod commands).
16614
52bd3de9 166152008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16616
16617 Remove some unused code from reiserfs.
f19dbdb7 16618
52bd3de9 16619 * fs/reiserfs.c (struct grub_reiserfs_key)
16620 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16621 (struct grub_reiserfs_node_body): Removed.
16622 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16623 Likewise.
16624 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16625 Likewise.
16626 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16627 Likewise.
16628 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16629 Likewise.
16630 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16631 Likewise.
16632 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16633 Likewise.
16634 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16635 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16636 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16637
2f80039d 166382008-01-10 Robert Millan <rmh@aybabtu.com>
16639
16640 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16641 Determines if a file is garbage left by packaging systems, etc.
16642 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16643 for processing /etc/grub.d scripts.
16644 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16645 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16646 as a condition for processing Linux images.
16647
87888032 166482008-01-10 Pavel Roskin <proski@gnu.org>
16649
16650 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16651 to compile reiserfs.c on PowerPC.
16652
7e54fced 166532008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 16654
16655 * kern/device.c (grub_device_iterate): Do not abort device iteration
16656 when one of the devices cannot be opened.
16657 * kern/disk.c (grub_disk_open): Do not account previous failures of
16658 unrelated functions when grub_errno is checked for.
16659
5aa541e6 166602008-01-08 Robert Millan <rmh@aybabtu.com>
16661
16662 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16663 `! grub_linux_is_bzimage', change order of address comparison to make
16664 it more intuitive, and improve "too big zImage" error message.
16665
7076340d 166662008-01-08 Robert Millan <rmh@aybabtu.com>
16667
16668 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16669 `$(update-grub_DATA)'.
16670 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16671 targets.
16672
9ca70333 166732008-01-07 Robert Millan <rmh@aybabtu.com>
16674
16675 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16676 which instruction is modified by grub-setup during installation
16677 (since it wasn't obvious by only looking at this file).
16678
38ccf575 166792008-01-07 Robert Millan <rmh@aybabtu.com>
16680
16681 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16682 listing actual TODO items.
16683
f5db4291 166842008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16685
868967cf 16686 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16687 correctly.
16688 (grub_reiserfs_get_key_offset): Likewise.
16689 (grub_reiserfs_set_key_offset): Likewise.
16690 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 16691 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 16692
16693 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16694 better to remove the bitfield version completely.
f19dbdb7 16695
868967cf 166962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16697
f5db4291 16698 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16699 allocated from the heap, due to the fshelp implementation.
16700 (grub_reiserfs_dir): Free NODE, due to the same reason.
16701
492e6d9d 167022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16703
16704 Mostly from Vincent Pelletier:
f19dbdb7 16705
492e6d9d 16706 * fs/reiserfs.c: New file.
f19dbdb7 16707
492e6d9d 16708 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16709 (reiserfs_mod_SOURCES): New variable.
16710 (reiserfs_mod_CFLAGS): Likewise.
16711 (reiserfs_mod_LDFLAGS): Likewise.
16712
16713 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16714 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16715 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16716 normal/color.c.
16717
9ce3e7c1 167182008-01-06 Robert Millan <rmh@aybabtu.com>
16719
16720 * normal/color.c: Remove `<grub/env.h>'.
16721
f3b58148 167222008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16723
16724 * include/grub/normal.h: Include <grub/env.h>.
16725
7ac3bcfa 167262008-01-05 Robert Millan <rmh@aybabtu.com>
16727
16728 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16729 usage example with `(hd0,1)'.
fb358190 16730 Reported by Samuel Thibault.
7ac3bcfa 16731
c8ee99d7 167322008-01-05 Robert Millan <rmh@aybabtu.com>
16733
16734 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16735 (grub_linux_boot_zimage): Rename to ...
16736 (grub_linux_boot): ... this.
16737 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16738 (grub_linux_boot_zimage): Conditionalize zImage copy.
16739
16740 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16741 (grub_linux_boot_bzimage): Remove prototype.
16742 (grub_linux_boot_zimage): Rename to ...
16743 (grub_linux_boot): ... this.
16744
16745 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16746 (grub_linux_boot): Remove function.
16747
0ece25b1 167482008-01-05 Robert Millan <rmh@aybabtu.com>
16749
16750 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16751 (grub_env_write_color_highlight): Likewise.
16752 (grub_wait_after_message): Likewise.
16753
16754 * normal/color.c: New file.
16755
16756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16757 (normal_mod_DEPENDENCIES): Likewise.
16758
16759 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16760 (normal_mod_DEPENDENCIES): Likewise.
16761
16762 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16763 (normal_mod_DEPENDENCIES): Likewise.
16764
16765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16766 (normal_mod_DEPENDENCIES): Likewise.
16767
16768 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16769 for waiting after a message is printed.
16770 * normal/main.c (read_config_file): Likewise.
16771 (grub_normal_init): Register grub_env_write_color_normal() and
16772 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16773 `color_highlight' variables as global.
16774
16775 * normal/menu.c (grub_wait_after_message): New function.
16776 (grub_color_menu_normal): New variable. Replaces ...
16777 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16778 (grub_color_menu_highlight): New variable. Replaces ...
16779 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16780 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16781 `GRUB_TERM_COLOR_STANDARD'.
16782 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16783 `normal_code' and `highlight_code' to `old_color_normal' and
16784 `old_color_highlight', respectively.
16785 (grub_menu_init_page): Update colors when drawing the menu, based on
16786 `menu_color_normal' and `menu_color_highlight' variables.
16787 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16788 a message is printed.
16789
182dd4e5 167902008-01-05 Robert Millan <rmh@aybabtu.com>
16791
16792 * kern/env.c (grub_env_context_open): Propagate hooks for global
16793 variables to new context.
16794
16795 * kern/main.c (grub_set_root_dev): Export `root' variable.
16796
ddf8f6ad 167972008-01-05 Robert Millan <rmh@aybabtu.com>
16798
16799 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16800 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16801 them.
16802
d8b43d9b 168032008-01-05 Robert Millan <rmh@aybabtu.com>
16804
16805 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16806
2bff2de3 168072008-01-04 Christian Franke <franke@computer.org>
16808
16809 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16810 of eisa_mmap.
16811
97eab917 168122008-01-03 Pavel Roskin <proski@gnu.org>
16813
16814 * kern/i386/linuxbios/init.c: Put "void" to all function
16815 declarations with no arguments.
16816 * kern/powerpc/ieee1275/init.c: Likewise.
16817 * term/i386/pc/at_keyboard.c: Likewise.
16818 * term/i386/pc/vga_text.c: Likewise.
16819 * util/grub-mkdevicemap.c: Likewise.
16820
b9416d00 168212008-01-02 Robert Millan <rmh@aybabtu.com>
16822
16823 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16824 message when loaded image is out of bounds.
16825 (grub_multiboot_load_elf64): Likewise.
16826
92695df9 168272008-01-02 Pavel Roskin <proski@gnu.org>
16828
16829 * util/grub.d/10_linux.in: Try version without ".old" when
16830 looking for initrd. It's better to use initrd from the newer
16831 kernel of the same version than no initrd at all.
16832
d98d9cad 168332008-01-01 Robert Millan <rmh@aybabtu.com>
16834
16835 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16836
dbfdce36 168372008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16838
f19dbdb7 16839 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16840 grub_video_get_active_render_target.
16841 (grub_video_adapter): Added unmap_color and get_active_render_target.
16842
f19dbdb7 16843 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16844 grub_video_get_active_render_target.
16845 (grub_video_get_info): Changed method to accept NULL pointer as an
16846 argument to allow detection of active video adapter.
16847
16848 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16849 grub_video_vbe_unmap_color_int.
16850 Added grub_video_vbe_unmap_color and
16851 grub_video_vbe_get_active_render_target.
16852 (grub_video_vbe_adapter): Added unmap_color and
16853 get_active_render_target.
16854
f19dbdb7 16855 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16856 with grub_video_vbe_unmap_color_int.
16857
16858 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16859 (DEFAULT_NORMAL_COLOR): Likewise.
16860 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16861 (DEFAULT_FG_COLOR): Removed.
16862 (DEFAULT_BG_COLOR): Likewise.
16863 (DEFAULT_CURSOR_COLOR): Changed value.
16864 (grub_virtual_screen): Added standard_color_setting,
16865 normal_color_setting, highlight_color_setting and term_color.
16866 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16867 (bitmap_width): Added.
16868 (bitmap_height): Likewise.
16869 (bitmap): Likewise.
16870 (set_term_color): Likewise.
16871 (grub_virtual_screen_setup): Changed to use new terminal coloring
16872 settings.
16873 (grub_gfxterm_init): Added init for bitmap.
16874 (grub_gfxterm_fini): Added destroy for bitmap.
16875 (redraw_screen_rect): Updated to use background bitmap and new
16876 terminal coloring.
16877 (scroll_up): Added optimization for case when there is no bitmap.
16878 (grub_gfxterm_cls): Fixed to use correct background color.
16879 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16880 coloring.
16881 (grub_virtual_screen_setcolor): Likewise.
16882 (grub_virtual_screen_getcolor): Added.
16883 (grub_gfxterm_background_image_cmd): Likewise.
16884 (grub_video_term): Added setcolor and getcolor.
16885 (MOD_INIT): Added registration of background_image command.
16886 (MOD_TERM): Added unregistration for background_image command.
16887
c3c20931 168882007-12-30 Pavel Roskin <proski@gnu.org>
16889
16890 * loader/multiboot_loader.c: Fix multiboot command
16891 unregistration. Fix all typos in the word "multiboot".
16892
df266716 168932007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16894
16895 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16896 support for initrd names used in Fedora.
16897
fc6e896c 168982007-12-26 Bean <bean123ch@gmail.com>
16899
16900 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16901 (cpio_mod_SOURCES): New variable.
16902 (cpio_mod_CFLAGS): Likewise.
16903 (cpio_mod_LDFLAGS): Likewise.
16904
16905 * fs/cpio.c: New file.
16906
16907 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16908
16909 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16910
16911 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16912
16913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16914
533110ad 169152007-12-25 Robert Millan <rmh@aybabtu.com>
16916
16917 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16918 (grub_getcolor): New function.
16919
16920 * kern/term.c (grub_getcolor): New function.
16921 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16922 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16923 (print_entry): Set normal and highlight colors to
16924 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16925 respectively, before printing and restore them to old
16926 values afterwards.
16927 (grub_menu_init_page): Likewise. Fill an additional colored space
16928 that would otherwise be left blank.
16929
16930 * term/efi/console.c (grub_console_getcolor): New function.
16931 (struct grub_console_term.getcolor): New variable.
16932 * term/i386/pc/console.c (grub_console_getcolor): New function.
16933 (struct grub_console_term.getcolor): New variable.
16934 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16935 (struct grub_console_term.getcolor): New variable.
16936
16937 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16938 (struct grub_console_term.setcolor): Remove variable.
16939 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16940 (struct grub_console_term.setcolor): Remove variable.
16941 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16942 (struct grub_console_term.setcolor): Remove variable.
16943 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16944 (struct grub_console_term.setcolor): Remove variable.
16945
4931827f 169462007-12-25 Robert Millan <rmh@aybabtu.com>
16947
16948 * configure.ac: Search for possible unifont.hex locations, and
16949 define UNIFONT_HEX if found.
16950
16951 * Makefile.in (UNIFONT_HEX): Define variable.
16952 (DATA): Rename to ...
16953 (PKGLIB): ... this. Update all users.
16954 (PKGDATA): New variable.
16955 (pkgdata_IMAGES): Rename to ...
16956 (pkglib_IMAGES): ... this. Update all users.
16957 (pkgdata_MODULES): Rename to ...
16958 (pkglib_MODULES): ... this. Update all users.
16959 (pkgdata_PROGRAMS): Rename to ...
16960 (pkglib_PROGRAMS): ... this. Update all users.
16961 (pkgdata_DATA): Rename to ...
16962 (pkglib_DATA): ... this. Update all users.
16963 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16964 (unicode.pff, ascii.pff): New rules.
16965 (all-local): Add `$(PKGDATA)' dependency.
16966 (install-local): Process `$(PKGDATA)'.
16967
16968 * util/update-grub_lib.in (font_path): Search for *.pff files in
16969 a few more locations, including `${pkgdata}'.
16970
57e57e31 169712007-12-23 Robert Millan <rmh@aybabtu.com>
16972
16973 Patch from Bean <bean123ch@gmail.com>:
16974 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16975 `size'.
16976
4bc72aa9 169772007-12-21 Bean <bean123ch@gmail.com>
16978
16979 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16980 (ntfscomp_mod_SOURCES): New variable.
16981 (ntfscomp_mod_CFLAGS): Likewise.
16982 (ntfscomp_mod_LDFLAGS): Likewise.
16983
16984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16985 (grub_probe_SOURCES): Likewise.
16986 (grub_emu_SOURCES): Likewise.
16987
16988 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16989 (grub_emu_SOURCES): Likewise.
16990
16991 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16992 (grub_emu_SOURCES): Likewise.
16993
16994 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16995 (grub_emu_SOURCES): Likewise.
16996
16997 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16998 (read_run_list): Renamed to grub_ntfs_read_run_list.
16999 (decomp_nextvcn): Moved to ntfscomp.c.
17000 (decomp_getch): Likewise.
17001 (decomp_get16): Likewise.
17002 (decomp_block): Likewise.
17003 (read_block): Likewise.
17004 (read_data): Partially moved to ntfscomp.c.
17005 (fixup): Change unsigned to grub_uint16_t.
17006 (read_mft): Change unsigned long to grub_uint32_t.
17007 (read_attr): Likewise.
17008 (read_data): Likewise.
17009 (read_run_data): Likewise.
17010 (read_run_list): Likewise.
17011 (read_mft): Likewise.
17012
17013 * fs/ntfscomp.c: New file.
17014
17015 * include/grub/ntfs.h: New file.
17016
af680a87 170172007-12-16 Robert Millan <rmh@aybabtu.com>
17018
17019 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17020 IDE disk check, since Linux is known to support 20 IDE disks.
17021 Reported by Colin Watson.
17022
84be7599 170232007-12-15 Bean <bean123ch@gmail.com>
17024
17025 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17026 (lnxboot_img_SOURCES): New variable.
17027 (lnxboot_img_ASFLAGS): Likewise.
17028 (lnxboot_img_LDFLAGS): Likewise.
17029
17030 * boot/i386/pc/lnxboot.S: New file.
17031
6af9db01 170322007-11-24 Pavel Roskin <proski@gnu.org>
17033
17034 * configure.ac: Test if '--build-id=none' is supported by the
17035 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17036 objcopy to generate incorrect binary files (binutils
17037 2.17.50.0.18-1 as shipped by Fedora 8).
17038 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17039 linking, so that build ID doesn't break the test.
17040
7361cfe6 170412007-11-24 Pavel Roskin <proski@gnu.org>
17042
17043 * include/grub/i386/time.h: use "void" in the argument list
17044 of grub_cpu_idle().
17045 * include/grub/powerpc/time.h: Likewise.
17046 * include/grub/sparc64/time.h: Likewise.
17047
1593e10c 170482007-11-18 Christian Franke <franke@computer.org>
17049
17050 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17051 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17052 This fixes the problem that function keys did not work in grub-emu.
17053
3b8db1a8 170542007-11-18 Christian Franke <franke@computer.org>
17055
17056 * disk/host.c (grub_host_open): Remove attribute unused from
17057 name parameter. Add check for "host". This fixes the problem
17058 that grub-emu does not find partitions.
17059
2e29408d 170602007-11-18 Christian Franke <franke@computer.org>
17061
17062 * util/hostfs.c (is_dir): New function.
17063 (grub_hostfs_dir): Handle missing dirent.d_type case.
17064 (grub_hostfs_read): Add missing fseek().
17065 (grub_hostfs_label): Clear label pointer. This fixes a crash
17066 of grub-emu on "ls (host)".
17067
398cd047 170682007-11-18 Christian Franke <franke@computer.org>
17069
17070 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17071 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17072 to 64 bit boundary by default.
17073
c405c391 170742007-11-18 Bean <bean123ch@gmail.com>
17075
17076 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17077 (hexdump_mod_SOURCES): New variable.
17078 (hexdump_mod_CFLAGS): Likewise.
17079 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17080
c405c391 17081 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17082
17083 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17084
17085 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17086
17087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17088
17089 * include/grub/hexdump.h: New file.
17090
17091 * commands/hexdump.c: New file.
17092
5cced7fd 170932007-11-10 Robert Millan <rmh@aybabtu.com>
17094
17095 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17096 in grub_outb() calls.
17097 (beep_on): Likewise.
17098
8b714eb0 170992007-11-10 Christian Franke <franke@computer.org>
17100
17101 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17102 (grub_menu_run): Likewise.
17103
ce0f1839 171042007-11-10 Robert Millan <rmh@aybabtu.com>
17105
17106 * include/grub/i386/efi/machine.h: New file.
17107 * include/grub/i386/linuxbios/machine.h: Likewise.
17108 * include/grub/i386/pc/machine.h: Likewise.
17109 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17110 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17111
17112 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17113 (serial_hw_io_addr): New variable.
17114 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17115 instead of `(unsigned short *) 0x400'.
17116
270c237d 171172007-11-10 Bean <bean123ch@gmail.com>
17118
17119 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17120
a87783bf 171212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17122
17123 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17124 (vga_mod_SOURCES): Added.
17125 (vga_mod_CFLAGS): Likewise.
17126 (vga_mod_LDFLAGS): Likewise.
17127
17128 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17129 grub_outb() calls.
17130 (set_map_mask): Likewise.
17131 (set_read_map): Likewise.
17132 (set_read_address): Likewise.
17133 (vga_font): Removed variable.
17134 (get_vga_glyph): Removed function.
17135 (invalidate_char): Likewise.
17136 (write_char): Changed to use grub_font_get_glyph() for font
17137 information.
17138 (grub_vga_putchar): Likewise.
17139 (grub_vga_getcharwidth): Likewise.
17140
6433b448 171412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17142
17143 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17144 flags.
17145 (pxeboot_img_LDFLAGS): Likewise.
17146 (diskboot_img_LDFLAGS): Likewise.
17147 (kernel_img_LDFLAGS): Likewise.
17148
49178511 171492007-11-06 Robert Millan <rmh@aybabtu.com>
17150
17151 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17152 in grub_outb() calls.
17153 (serial_hw_init): Likewise.
17154
53b052de 171552007-11-05 Robert Millan <rmh@aybabtu.com>
17156
17157 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17158 spaces. Skip non-regular files.
17159
5ab33bba 171602007-11-05 Robert Millan <rmh@aybabtu.com>
17161
17162 * kern/disk.c (grub_disk_firmware_fini)
17163 (grub_disk_firmware_is_tainted): New variables.
17164
17165 * include/grub/disk.h (grub_disk_firmware_fini)
17166 (grub_disk_firmware_is_tainted): Likewise.
17167
17168 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17169 (grub_disk_biosdisk_fini): ... to here.
17170 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17171 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17172 is set. Register grub_disk_biosdisk_fini() in
17173 `grub_disk_firmware_fini'.
17174
17175 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17176 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17177 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17178 to finish existing firmware disk interface.
17179
17180 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17181 (ata_mod_SOURCES): New variable.
17182 (ata_mod_CFLAGS): Likewise.
17183 (ata_mod_LDFLAGS): Likewise.
17184
0149ab7c 171852007-11-05 Robert Millan <rmh@aybabtu.com>
17186
17187 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17188 (grub_ata_wait): Reimplement using grub_millisleep().
17189
17190 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17191 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17192
be7ac41e 171932007-11-03 Marco Gerards <marco@gnu.org>
17194
17195 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17196 (CRTC_ADDR_PORT): New macro.
17197 (CRTC_DATA_PORT): Likewise.
17198 (CRTC_CURSOR): Likewise.
17199 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17200 (CRTC_CURSOR_ADDR_LOW): Likewise.
17201 (update_cursor): New function.
17202 (grub_console_real_putchar): Call `update_cursor'.
17203 (grub_console_gotoxy): Likewise.
17204 (grub_console_cls): Set the default color when clearing the
17205 screen.
17206 (grub_console_setcursor): Implemented.
17207
bb06ab2e 172082007-11-03 Marco Gerards <marco@gnu.org>
17209
17210 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17211 become activate.
17212 (grub_ata_pio_write): Likewise.
17213
17214 (grub_atapi_identify): Wait after issuing an ATA command.
17215 (grub_atapi_packet): Likewise.
17216 (grub_ata_identify): Likewise.
17217 (grub_ata_readwrite): Likewise.
17218
cf8f780b 172192007-11-03 Marco Gerards <marco@gnu.org>
17220
17221 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17222 (grub_ata_pio_write): Likewise.
17223 (grub_ata_readwrite): Use `grub_error', instead of
17224 returning `grub_errno'.
17225
ed649e54 172262007-11-03 Marco Gerards <marco@gnu.org>
17227
17228 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17229 grub_ata_pio_write once for every single sector, instead of for
17230 multiple sectors.
17231
ca25d8f0 172322007-10-31 Robert Millan <rmh@aybabtu.com>
17233
17234 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17235
17236 * conf/i386-linuxbios.rmk: New file.
17237
17238 * kern/i386/pc/hardware.c: Likewise.
17239 * term/i386/pc/at_keyboard.c: Likewise.
17240 * term/i386/pc/vga_text.c: Likewise.
17241
17242 * include/grub/i386/linuxbios/boot.h: Likewise.
17243 * include/grub/i386/linuxbios/console.h: Likewise.
17244 * include/grub/i386/linuxbios/init.h: Likewise.
17245 * include/grub/i386/linuxbios/kernel.h: Likewise.
17246 * include/grub/i386/linuxbios/loader.h: Likewise.
17247 * include/grub/i386/linuxbios/memory.h: Likewise.
17248 * include/grub/i386/linuxbios/serial.h: Likewise.
17249 * include/grub/i386/linuxbios/time.h: Likewise.
17250
17251 * kern/i386/linuxbios/init.c: Likewise.
17252 * kern/i386/linuxbios/startup.S: Likewise.
17253 * kern/i386/linuxbios/table.c: Likewise.
17254
e911ecc1 172552007-10-31 Marco Gerards <marco@gnu.org>
17256
17257 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17258 (ata_mod_SOURCES): New variable.
17259 (ata_mod_CFLAGS): Likewise.
17260 (ata_mod_LDFLAGS): Likewise.
17261
17262 * disk/ata.c: New file.
17263
17264 * include/grub/disk.h (grub_disk_dev_id): Add
17265 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17266
7f66d0e0 172672007-10-31 Robert Millan <rmh@aybabtu.com>
17268
17269 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17270 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17271
17272 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17273 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17274
17275 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17276 `<grub/types.h>'.
17277
17278 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17279
5cd7dd46 172802007-10-27 Robert Millan <rmh@aybabtu.com>
17281
3236ca65 17282 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17283
2ebfc90f 172842007-10-22 Robert Millan <rmh@aybabtu.com>
17285
17286 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17287 `"../realmode.S"'.
17288 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17289
73fcb0f3 172902007-10-22 Robert Millan <rmh@aybabtu.com>
17291
17292 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17293 (pkgdata_MODULES): Add `biosdisk.mod'.
17294 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17295 variables.
17296
17297 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17298 (grub_biosdisk_init): Replace with ...
17299 (GRUB_MOD_INIT(biosdisk)): ... this.
17300 (grub_biosdisk_fini): Replace with ...
17301 (GRUB_MOD_FINI(biosdisk)): ... this.
17302
17303 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17304 (grub_machine_init): Remove call to grub_biosdisk_init().
17305 (grub_machine_fini): Remove call to grub_machine_fini().
17306
17307 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17308
3381d274 173092007-10-22 Robert Millan <rmh@aybabtu.com>
17310
17311 * include/grub/time.h: New file.
17312 * include/grub/i386/time.h: Likewise.
17313 * include/grub/powerpc/time.h: Likewise.
17314 * include/grub/sparc64/time.h: Likewise.
17315
17316 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17317 instances to ...
17318 (KERNEL_MACHINE_TIME_HEADER): ... this.
17319 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17320 instances to ...
17321 (KERNEL_MACHINE_TIME_HEADER): ... this.
17322 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17323 instances to ...
17324 (KERNEL_MACHINE_TIME_HEADER): ... this.
17325
17326 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17327 (grub_millisleep): New function.
17328 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17329 (grub_millisleep): New function.
17330 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17331 Remove `grub/machine/time.h' include.
17332 (grub_millisleep): New function.
17333 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17334 Remove `grub/machine/time.h' include.
17335 (grub_millisleep): New function.
17336
17337 * include/grub/misc.h (grub_div_roundup): New function.
17338
17339 * kern/misc.c: Include `<grub/time.h>'.
17340 (grub_millisleep_generic): New function.
17341
17342 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17343 Add `time.h'.
17344 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17345 Add `time.h'.
17346 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17347 `machine/time.h'. Add `time.h'.
17348 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17349
a39a0312 173502007-10-21 Robert Millan <rmh@aybabtu.com>
17351
17352 * include/grub/misc.h (grub_max): New function.
17353
2aad70e2 173542007-10-21 Robert Millan <rmh@aybabtu.com>
17355
17356 * util/misc.c (grub_util_info): Call fflush() before returning.
17357
54b71c4b 173582007-10-20 Robert Millan <rmh@aybabtu.com>
17359
17360 * genmk.rb (Image): Copy `extra_flags' from here ...
17361 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17362
17363 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17364 to `argc' and `args' arguments.
17365
a979f513 173662007-10-17 Robert Millan <rmh@aybabtu.com>
17367
17368 * kern/i386/loader.S: New file.
17369
17370 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17371 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17372 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17373 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17374 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17375 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17376 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17377 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17378 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17379 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17380 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17381 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17382 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17383 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17384
17385 * kern/i386/realmode.S: New file.
17386
17387 * kern/i386/pc/startup.S (protstack): Moved from here ...
17388 * kern/i386/realmode.S (protstack)... to here.
17389 * kern/i386/pc/startup.S (gdt): Moved from here ...
17390 * kern/i386/realmode.S (gdt)... to here.
17391 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17392 * kern/i386/realmode.S (prot_to_real)... to here.
17393
17394 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17395 `kern/i386/realmode.S'.
17396
825fc8fd 173972007-10-17 Robert Millan <rmh@aybabtu.com>
17398
17399 * include/grub/i386/loader.h: New file.
17400
17401 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17402 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17403 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17404 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17405 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17406 * include/grub/i386/loader.h (grub_linux_prot_size)
17407 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17408 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17409 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17410 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17411
17412 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17413
e179b2f4 174142007-10-15 Robert Millan <rmh@aybabtu.com>
17415
17416 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17417 filesystem when dev->disk is unset.
17418 Do probe for filesystem even when dev->disk->has_partitions is set.
17419 In case a filesystem is found, always report it.
17420 In case it isn't, if dev->disk->has_partitions is set, report that
17421 a partition table was found instead of reporting that no filesystem
17422 could be identified.
17423
5db82af6 174242007-10-12 Robert Millan <rmh@aybabtu.com>
17425
17426 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17427 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17428
68f6ac74 17429 * include/grub/types.h (grub_host_to_target16): New macro.
17430 (grub_host_to_target32): Likewise.
17431 (grub_host_to_target64): Likewise.
17432 (grub_target_to_host16): Likewise.
17433 (grub_target_to_host32): Likewise.
17434 (grub_target_to_host64): Likewise.
5db82af6 17435
17436 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17437 Renamed from to ...
17438 (GRUB_MOD_ALIGN): ...this. Update all users.
17439
68f6ac74 17440 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17441 grub_host_to_target32.
17442 Replace grub_be_to_cpu32 with grub_target_to_host32.
17443 (load_modules): Likewise.
17444 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17445 Replace grub_be_to_cpu32 with grub_target_to_host32.
17446 Replace grub_cpu_to_be16 with grub_host_to_target16.
17447 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 17448
3cf497cc 174492007-10-12 Robert Millan <rmh@aybabtu.com>
17450
17451 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17452 * util/elf/grub-mkimage.c: ... here.
17453
17454 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17455 `util/powerpc/ieee1275/grub-mkimage.c'.
17456
c8cc3692 174572007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 17458
c8cc3692 17459 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17460 and make it easier to figure out.
17461 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17462 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17463 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17464 leave us with less than HEAP_MIN_SIZE total heap.
17465 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 17466
5c58b791 174672007-10-03 Robert Millan <rmh@aybabtu.com>
17468
17469 * include/grub/i386/io.h: New file.
17470 * commands/i386/pc/play.c (inb): Removed.
17471 (outb): Removed.
17472 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17473 with grub_outb().
afcd2ef8 17474 * term/i386/pc/serial.c (inb): Removed.
17475 (outb): Removed.
17476 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17477 with grub_outb().
17478 * term/i386/pc/vga.c (inb): Removed.
17479 (outb): Removed.
17480 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17481 with grub_outb().
5c58b791 17482
1a477ed6 174832007-10-02 Robert Millan <rmh@aybabtu.com>
17484
17485 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17487 Reported by Marcin Kurek.
17488
6b5d80fa 174892007-09-07 Robert Millan <rmh@aybabtu.com>
17490
17491 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17492 SmartFirmware version updates (as released by Sven Luther), and avoid
17493 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17494 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17495 known broken.
17496
5618afbf 174972007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17498
17499 From Hitoshi Ozeki:
17500 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17501 when merging two regions.
17502
6139dcd9 175032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17504
508e39ee 17505 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17506 * normal/completion.c (grub_normal_do_completion): Likewise.
17507 Reported by Hitoshi Ozeki.
17508
175092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17510
6139dcd9 17511 Do not use devices at boot in chainloading.
f19dbdb7 17512
6139dcd9 17513 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17514 (boot_part_addr): Likewise.
17515 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17516 with BOOT_DRIVE and BOOT_PART_ADDR.
17517 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17518 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17519
38da6516 175202007-08-29 Robert Millan <rmh@aybabtu.com>
17521
17522 Patch from Simon Peter <dn.tlp@gmx.net>:
17523 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17524 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17525 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17526 util/i386/pc/grub-setup.c_DEPENDENCIES.
17527 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17528 util/grub-probe.c_DEPENDENCIES.
17529 * conf/powerpc-ieee1275.rmk: Likewise.
17530
29d0928c 175312007-08-28 Robert Millan <rmh@aybabtu.com>
17532
17533 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17534 to tell grub-mkdevicemap how to name devices.
17535 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17536 feature).
17537
17538 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17539 util/i386/get_disk_name.c.
17540 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17541 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17542 util/ieee1275/get_disk_name.c.
17543
17544 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17545
17546 * DISTLIST: Add util/i386/get_disk_name.c and
17547 util/ieee1275/get_disk_name.c.
17548
17549 * util/grub-mkdevicemap.c: Replace device naming logic with
17550 grub_util_get_disk_name() calls.
17551
5a0d3cca 175522007-08-20 Robert Millan <rmh@aybabtu.com>
17553
17554 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17555 (so that it works for both plural and singular quantities).
17556
8b72db2f 175572007-08-05 Robert Millan <rmh@aybabtu.com>
17558
17559 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17560 so that [xz] isn't taken into account when determining order.
17561
352466bf 175622007-08-02 Marco Gerards <marco@gnu.org>
17563
17564 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17565 `include/multiboot2.h', `include/grub/elfload.h',
17566 `include/multiboot.h', `include/grub/multiboot.h',
17567 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17568 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17569 `kern/elf.c', `loader/multiboot_loader.c',
17570 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17571 `loader/i386/pc/multiboot2.c',
17572 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17573 `util/i386/pc/grub-mkrescue.in'. Remove
17574 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17575 `include/grub/i386/pc/util/biosdisk.h' and
17576 `include/grub/powerpc/ieee1275/multiboot.h'.
17577
8f096014 175782007-08-02 Bean <bean123ch@gmail.com>
17579
17580 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17581 (ntfs_mod_SOURCES): New variable.
17582 (ntfs_mod_CFLAGS): Likewise.
17583 (ntfs_mod_LDFLAGS): Likewise.
17584
17585 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17586 (grub_probe_SOURCES): Likewise.
17587 (grub_emu_SOURCES): Likewise.
17588
17589 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17590 (grub_emu_SOURCES): Likewise.
17591
17592 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17593 (grub_emu_SOURCES): Likewise.
f19dbdb7 17594
8f096014 17595 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17596
17597 * fs/ntfs.c: New file.
17598
9959f7db 175992007-08-02 Bean <bean123ch@gmail.com>
17600
17601 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17602
17603 * file.h (grub_file): Likewise.
17604
17605 * fshelp.h (grub_fshelp_read_file): Likewise.
17606
17607 * util/i386/pc/grub-setup.c (setup): Likewise.
17608 (save_first_sector): Likewise.
17609 (save_blocklists): Likewise.
f19dbdb7 17610
9959f7db 17611 * fs/affs.c (grub_affs_read_file): Likewise.
17612
17613 * fs/ext2.c (grub_ext2_read_file): Likewise.
17614
17615 * fs/fat.c (grub_fat_read_data): Likewise.
17616
17617 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17618
17619 * fs/hfs.c (grub_hfs_read_file): Likewise.
17620
17621 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17622
17623 * fs/jfs.c (grub_jfs_read_file): Likewise.
17624
17625 * fs/minix.c (grub_minix_read_file): Likewise.
17626
17627 * fs/sfs.c (grub_sfs_read_file): Likewise.
17628
17629 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 17630
9959f7db 17631 * fs/xfs.c (grub_xfs_read_file): Likewise.
17632
17633 * command/blocklist.c (read_blocklist): Likewise.
17634 (print_blocklist): Likewise.
17635
0a203f83 176362007-08-02 Marco Gerards <marco@gnu.org>
17637
17638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17639 `util/hostfs.c'.
17640
17641 * disk/host.c: New file.
17642
17643 * util/hostfs.c: Likewise.
17644
17645 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17646 return `GRUB_ERR_BAD_FS'.
17647 * fs/sfs.c (grub_sfs_mount): Likewise.
17648 * fs/xfs.c (grub_xfs_mount): Likewise.
17649
17650 * include/grub/disk.h (enum grub_disk_dev_id): Add
17651 `GRUB_DISK_DEVICE_HOST_ID'.
17652
17653 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17654
e5dfe777 176552007-07-24 Jerone Young <jerone@gmail.com>
17656
f19dbdb7 17657 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 17658 modules for compilation.
17659 * conf/powerpc-ieee1275.rmk: Likewise.
17660
17661 * include/multiboot.h: Move multiboot definitions to one file. Rename
17662 many definitions to not get grub specific.
17663 * include/multiboot2.h: Create header with multiboot 2 definitions.
17664 * include/grub/multiboot.h: Header for grub specific function
17665 prototypes and definitions.
17666 * include/grub/multiboot2.h: Likewise.
17667 * include/grub/multiboot_loader.h: Likewise.
17668 * include/grub/i386/pc/multiboot.h: Removed.
17669 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17670
17671 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17672 and 2 to allow for one multiboot and module commands.
17673 * loader/multiboot2.c: Add multiboot2 functionality.
17674 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17675 and definition names.
17676 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17677 2 functions.
17678 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17679 ieee1275 specific multiboot2 code.
17680
17681 * kern/i386/pc/startup.S: Change headers and definition names for
17682 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17683
daf0f0ba 176842007-07-22 Robert Millan <rmh@aybabtu.com>
17685
17686 * geninitheader.sh: Process file specified in first parameter rather
17687 than hardcoding grub_modules_init.lst.
fe6b695a 17688 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 17689 than hardcoding grub_modules_init.h.
17690
17691 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17692 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17693 grub_probe_init.[ch] and grub_setup_init.[ch].
17694
17695 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17696 grub_modules_init.h with grub_emu_init.h.
17697 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17698 grub_probe_init.[ch] files.
17699 * conf/i386-efi.rmk: Likewise.
17700 * conf/i386-pc.rmk: Likewise.
17701 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17702 grub_setup_init.[ch] files.
17703
17704 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17705 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17706 to initialize modules rather than a list of hardcoded functions.
17707 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17708 grub_init_all() to initialize modules rather than a list of hardcoded
17709 functions.
17710
54cdc1cc 177112007-07-22 Robert Millan <rmh@aybabtu.com>
17712
17713 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17714 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17715
ad0686cc 177162007-07-22 Robert Millan <rmh@aybabtu.com>
17717
17718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17719 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17720 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17721 flag when running on SmartFirmware.
17722 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17723 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17724 was set.
17725
17726 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17727 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17728 rather than decreasing it.
17729
17730 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17731 there's not enough space to do it, fail in the same way as when it
17732 can't be done because there are no partitions.
17733
17734 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17735 when nvsetenv failed.
17736
969c02ec 177372007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17738
17739 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17740 because this rule is automatically generated.
17741 (grub-mkrescue): Removed for the same reason as above.
17742
5a79f472 177432007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17744
17745 Migrate to GNU General Public License Version 3.
f19dbdb7 17746
5a79f472 17747 * COPYING: Replaced with the plain text version of GPLv3.
17748
17749 * config.guess: Updated from gnulib.
17750 * config.sub: Likewise.
17751
17752 * geninit.sh: Output a GPLv3 copyright notice.
17753 * geninitheader.sh: Likewise.
17754 * genmodsrc.sh: Likewise.
17755 * gensymlist.sh.in: Likewise.
17756
17757 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17758 * boot/i386/pc/diskboot.S: Likewise.
17759 * boot/i386/pc/pxeboot.S: Likewise.
17760 * commands/blocklist.c: Likewise.
17761 * commands/boot.c: Likewise.
17762 * commands/cat.c: Likewise.
17763 * commands/cmp.c: Likewise.
17764 * commands/configfile.c: Likewise.
17765 * commands/echo.c: Likewise.
17766 * commands/help.c: Likewise.
17767 * commands/ls.c: Likewise.
17768 * commands/search.c: Likewise.
17769 * commands/terminal.c: Likewise.
17770 * commands/test.c: Likewise.
17771 * commands/videotest.c: Likewise.
17772 * commands/i386/cpuid.c: Likewise.
17773 * commands/i386/pc/halt.c: Likewise.
17774 * commands/i386/pc/play.c: Likewise.
17775 * commands/i386/pc/reboot.c: Likewise.
17776 * commands/i386/pc/vbeinfo.c: Likewise.
17777 * commands/i386/pc/vbetest.c: Likewise.
17778 * commands/ieee1275/halt.c: Likewise.
17779 * commands/ieee1275/reboot.c: Likewise.
17780 * commands/ieee1275/suspend.c: Likewise.
17781 * disk/loopback.c: Likewise.
17782 * disk/lvm.c: Likewise.
17783 * disk/raid.c: Likewise.
17784 * disk/efi/efidisk.c: Likewise.
17785 * disk/i386/pc/biosdisk.c: Likewise.
17786 * disk/ieee1275/ofdisk.c: Likewise.
17787 * font/manager.c: Likewise.
17788 * fs/affs.c: Likewise.
17789 * fs/ext2.c: Likewise.
17790 * fs/fat.c: Likewise.
17791 * fs/fshelp.c: Likewise.
17792 * fs/hfs.c: Likewise.
17793 * fs/hfsplus.c: Likewise.
17794 * fs/iso9660.c: Likewise.
17795 * fs/jfs.c: Likewise.
17796 * fs/minix.c: Likewise.
17797 * fs/sfs.c: Likewise.
17798 * fs/ufs.c: Likewise.
17799 * fs/xfs.c: Likewise.
17800 * hello/hello.c: Likewise.
17801 * include/grub/acorn_filecore.h: Likewise.
17802 * include/grub/arg.h: Likewise.
17803 * include/grub/bitmap.h: Likewise.
17804 * include/grub/boot.h: Likewise.
17805 * include/grub/cache.h: Likewise.
17806 * include/grub/device.h: Likewise.
17807 * include/grub/disk.h: Likewise.
17808 * include/grub/dl.h: Likewise.
17809 * include/grub/elfload.h: Likewise.
17810 * include/grub/env.h: Likewise.
17811 * include/grub/err.h: Likewise.
17812 * include/grub/file.h: Likewise.
17813 * include/grub/font.h: Likewise.
17814 * include/grub/fs.h: Likewise.
17815 * include/grub/fshelp.h: Likewise.
17816 * include/grub/gzio.h: Likewise.
17817 * include/grub/hfs.h: Likewise.
17818 * include/grub/kernel.h: Likewise.
17819 * include/grub/loader.h: Likewise.
17820 * include/grub/lvm.h: Likewise.
17821 * include/grub/misc.h: Likewise.
17822 * include/grub/mm.h: Likewise.
17823 * include/grub/net.h: Likewise.
17824 * include/grub/normal.h: Likewise.
17825 * include/grub/parser.h: Likewise.
17826 * include/grub/partition.h: Likewise.
17827 * include/grub/pc_partition.h: Likewise.
17828 * include/grub/raid.h: Likewise.
17829 * include/grub/rescue.h: Likewise.
17830 * include/grub/script.h: Likewise.
17831 * include/grub/setjmp.h: Likewise.
17832 * include/grub/symbol.h: Likewise.
17833 * include/grub/term.h: Likewise.
17834 * include/grub/terminfo.h: Likewise.
17835 * include/grub/tparm.h: Likewise.
17836 * include/grub/types.h: Likewise.
17837 * include/grub/video.h: Likewise.
17838 * include/grub/efi/api.h: Likewise.
17839 * include/grub/efi/chainloader.h: Likewise.
17840 * include/grub/efi/console.h: Likewise.
17841 * include/grub/efi/console_control.h: Likewise.
17842 * include/grub/efi/disk.h: Likewise.
17843 * include/grub/efi/efi.h: Likewise.
17844 * include/grub/efi/pe32.h: Likewise.
17845 * include/grub/efi/time.h: Likewise.
17846 * include/grub/i386/linux.h: Likewise.
17847 * include/grub/i386/setjmp.h: Likewise.
17848 * include/grub/i386/types.h: Likewise.
17849 * include/grub/i386/efi/kernel.h: Likewise.
17850 * include/grub/i386/efi/loader.h: Likewise.
17851 * include/grub/i386/efi/time.h: Likewise.
17852 * include/grub/i386/pc/biosdisk.h: Likewise.
17853 * include/grub/i386/pc/boot.h: Likewise.
17854 * include/grub/i386/pc/chainloader.h: Likewise.
17855 * include/grub/i386/pc/console.h: Likewise.
17856 * include/grub/i386/pc/init.h: Likewise.
17857 * include/grub/i386/pc/kernel.h: Likewise.
17858 * include/grub/i386/pc/loader.h: Likewise.
17859 * include/grub/i386/pc/memory.h: Likewise.
17860 * include/grub/i386/pc/multiboot.h: Likewise.
17861 * include/grub/i386/pc/serial.h: Likewise.
17862 * include/grub/i386/pc/time.h: Likewise.
17863 * include/grub/i386/pc/vbe.h: Likewise.
17864 * include/grub/i386/pc/vbeblit.h: Likewise.
17865 * include/grub/i386/pc/vbefill.h: Likewise.
17866 * include/grub/i386/pc/vbeutil.h: Likewise.
17867 * include/grub/i386/pc/vga.h: Likewise.
17868 * include/grub/ieee1275/ieee1275.h: Likewise.
17869 * include/grub/ieee1275/ofdisk.h: Likewise.
17870 * include/grub/powerpc/libgcc.h: Likewise.
17871 * include/grub/powerpc/setjmp.h: Likewise.
17872 * include/grub/powerpc/types.h: Likewise.
17873 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17874 * include/grub/powerpc/ieee1275/console.h: Likewise.
17875 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17876 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17877 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17878 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17879 * include/grub/powerpc/ieee1275/time.h: Likewise.
17880 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17881 * include/grub/sparc64/libgcc.h: Likewise.
17882 * include/grub/sparc64/setjmp.h: Likewise.
17883 * include/grub/sparc64/types.h: Likewise.
17884 * include/grub/sparc64/ieee1275/console.h: Likewise.
17885 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17886 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17887 * include/grub/sparc64/ieee1275/time.h: Likewise.
17888 * include/grub/util/biosdisk.h: Likewise.
17889 * include/grub/util/getroot.h: Likewise.
17890 * include/grub/util/lvm.h: Likewise.
17891 * include/grub/util/misc.h: Likewise.
17892 * include/grub/util/raid.h: Likewise.
17893 * include/grub/util/resolve.h: Likewise.
17894 * io/gzio.c: Likewise.
17895 * kern/device.c: Likewise.
17896 * kern/disk.c: Likewise.
17897 * kern/dl.c: Likewise.
17898 * kern/elf.c: Likewise.
17899 * kern/env.c: Likewise.
17900 * kern/err.c: Likewise.
17901 * kern/file.c: Likewise.
17902 * kern/fs.c: Likewise.
17903 * kern/loader.c: Likewise.
17904 * kern/main.c: Likewise.
17905 * kern/misc.c: Likewise.
17906 * kern/mm.c: Likewise.
17907 * kern/parser.c: Likewise.
17908 * kern/partition.c: Likewise.
17909 * kern/rescue.c: Likewise.
17910 * kern/term.c: Likewise.
17911 * kern/efi/efi.c: Likewise.
17912 * kern/efi/init.c: Likewise.
17913 * kern/efi/mm.c: Likewise.
17914 * kern/i386/dl.c: Likewise.
17915 * kern/i386/efi/init.c: Likewise.
17916 * kern/i386/efi/startup.S: Likewise.
17917 * kern/i386/pc/init.c: Likewise.
17918 * kern/i386/pc/lzo1x.S: Likewise.
17919 * kern/i386/pc/startup.S: Likewise.
17920 * kern/ieee1275/ieee1275.c: Likewise.
17921 * kern/powerpc/cache.S: Likewise.
17922 * kern/powerpc/dl.c: Likewise.
17923 * kern/powerpc/ieee1275/cmain.c: Likewise.
17924 * kern/powerpc/ieee1275/crt0.S: Likewise.
17925 * kern/powerpc/ieee1275/init.c: Likewise.
17926 * kern/powerpc/ieee1275/openfw.c: Likewise.
17927 * kern/sparc64/cache.S: Likewise.
17928 * kern/sparc64/dl.c: Likewise.
17929 * kern/sparc64/ieee1275/init.c: Likewise.
17930 * kern/sparc64/ieee1275/openfw.c: Likewise.
17931 * loader/efi/chainloader.c: Likewise.
17932 * loader/efi/chainloader_normal.c: Likewise.
17933 * loader/i386/efi/linux.c: Likewise.
17934 * loader/i386/efi/linux_normal.c: Likewise.
17935 * loader/i386/pc/chainloader.c: Likewise.
17936 * loader/i386/pc/chainloader_normal.c: Likewise.
17937 * loader/i386/pc/linux.c: Likewise.
17938 * loader/i386/pc/linux_normal.c: Likewise.
17939 * loader/i386/pc/multiboot.c: Likewise.
17940 * loader/i386/pc/multiboot_normal.c: Likewise.
17941 * loader/powerpc/ieee1275/linux.c: Likewise.
17942 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17943 * normal/arg.c: Likewise.
17944 * normal/cmdline.c: Likewise.
17945 * normal/command.c: Likewise.
17946 * normal/completion.c: Likewise.
17947 * normal/execute.c: Likewise.
17948 * normal/function.c: Likewise.
17949 * normal/lexer.c: Likewise.
17950 * normal/main.c: Likewise.
17951 * normal/menu.c: Likewise.
17952 * normal/menu_entry.c: Likewise.
17953 * normal/misc.c: Likewise.
17954 * normal/parser.y: Likewise.
17955 * normal/script.c: Likewise.
17956 * normal/i386/setjmp.S: Likewise.
17957 * normal/powerpc/setjmp.S: Likewise.
17958 * normal/sparc64/setjmp.S: Likewise.
17959 * partmap/acorn.c: Likewise.
17960 * partmap/amiga.c: Likewise.
17961 * partmap/apple.c: Likewise.
17962 * partmap/gpt.c: Likewise.
17963 * partmap/pc.c: Likewise.
17964 * partmap/sun.c: Likewise.
17965 * term/gfxterm.c: Likewise.
17966 * term/terminfo.c: Likewise.
17967 * term/efi/console.c: Likewise.
17968 * term/i386/pc/console.c: Likewise.
17969 * term/i386/pc/serial.c: Likewise.
17970 * term/i386/pc/vesafb.c: Likewise.
17971 * term/i386/pc/vga.c: Likewise.
17972 * term/ieee1275/ofconsole.c: Likewise.
17973 * util/biosdisk.c: Likewise.
17974 * util/console.c: Likewise.
17975 * util/genmoddep.c: Likewise.
17976 * util/getroot.c: Likewise.
17977 * util/grub-emu.c: Likewise.
17978 * util/grub-mkdevicemap.c: Likewise.
17979 * util/grub-probe.c: Likewise.
17980 * util/lvm.c: Likewise.
17981 * util/misc.c: Likewise.
17982 * util/raid.c: Likewise.
17983 * util/resolve.c: Likewise.
17984 * util/update-grub.in: Likewise.
17985 * util/update-grub_lib.in: Likewise.
17986 * util/grub.d/00_header.in: Likewise.
17987 * util/grub.d/10_hurd.in: Likewise.
17988 * util/grub.d/10_linux.in: Likewise.
17989 * util/i386/efi/grub-install.in: Likewise.
17990 * util/i386/efi/grub-mkimage.c: Likewise.
17991 * util/i386/pc/grub-install.in: Likewise.
17992 * util/i386/pc/grub-mkimage.c: Likewise.
17993 * util/i386/pc/grub-mkrescue.in: Likewise.
17994 * util/i386/pc/grub-setup.c: Likewise.
17995 * util/i386/pc/misc.c: Likewise.
17996 * util/powerpc/ieee1275/grub-install.in: Likewise.
17997 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17998 * util/powerpc/ieee1275/misc.c: Likewise.
17999 * video/bitmap.c: Likewise.
18000 * video/video.c: Likewise.
18001 * video/i386/pc/vbe.c: Likewise.
18002 * video/i386/pc/vbeblit.c: Likewise.
18003 * video/i386/pc/vbefill.c: Likewise.
18004 * video/i386/pc/vbeutil.c: Likewise.
18005 * video/readers/tga.c: Likewise.
18006
3572d015 180072007-07-02 Robert Millan <rmh@aybabtu.com>
18008
18009 * conf/i386-efi.rmk: Replace obsolete reference to
18010 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18011 with util/getroot.c.
18012 * conf/powerpc-ieee1275.rmk: Likewise.
18013 * conf/sparc64-ieee1275.rmk: Likewise.
18014
18015 * util/grub-emu.c (main): Fix unchecked pointer handling.
18016
2c2a681b 180172007-07-02 Robert Millan <rmh@aybabtu.com>
18018
18019 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18020 invocation to fail, in order to support partition-less media.
18021
18022 * util/i386/pc/grub-install.in: Likewise.
18023
18024 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18025 which fs or partmap modules are needed (akin to its sister scripts).
18026
18027 Also use grub-probe to get rid of unportable /proc/mounts check.
18028
18029 Print the same informational message that the other scripts do, before
fe6b695a 18030 exiting.
2c2a681b 18031
6193defe 180322007-06-23 Robert Millan <rmh@aybabtu.com>
18033
fe6b695a 18034 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18035 a font file can be found and, if so, echo the GRUB path to it.
18036
18037 * util/update-grub.in: Handle multiple terminals depending on user
18038 input, platform availability and font file presence. Propagate
18039 variables of our findings to /etc/grub.d/ children.
18040
18041 * util/grub.d/00_header.in: Handle multiple terminals, based on
18042 environment setup by update-grub.
18043
eface1dc 180442007-06-23 Robert Millan <rmh@aybabtu.com>
18045
ba50d28f 18046 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18047
bf697e28 180482007-06-21 Robert Millan <rmh@aybabtu.com>
18049
18050 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18051 indicate end of data section in kernel image.
18052 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18053 GRUB_KERNEL_MACHINE_DATA_END.
18054
18055 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18056 space for it.
18057 * kern/i386/efi/startup.S: Likewise.
18058
18059 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18060 during image generation. Implement --prefix option to override this
18061 patch.
18062 * util/i386/efi/grub-mkimage.c: Likewise.
18063
18064 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18065 code to make path relative to its root into a separate function.
18066
18067 * util/i386/pc/grub-install.in: Use newly provided
18068 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18069 pass the result to grub-install --prefix.
18070
baa574b4 180712007-06-13 Robert Millan <rmh@aybabtu.com>
18072
18073 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18074 DEFAULT_DEVICE_MAP.
18075 * util/grub-emu.c: Use above definitions from misc.h instead of
18076 defining them.
18077 * util/grub-mkdevicemap.c: Likewise.
18078 * util/i386/pc/grub-setup.c: Likewise.
18079 * util/grub-probe.c: Likewise.
18080 (probe): Abort with grub_util_error() when either
18081 grub_guess_root_device or grub_util_get_grub_dev fails.
18082
0215dcbf 180832007-06-12 Robert Millan <rmh@aybabtu.com>
18084
18085 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18086 "pager" assignment.
18087 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18088 "pcdata".
18089 * util/grub-probe.c (probe): Likewise for "drive_name".
18090
8af2ab7b 180912007-06-11 Robert Millan <rmh@aybabtu.com>
18092
18093 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18094 not just the cdrom one.
18095
59d31694 180962007-06-11 Robert Millan <rmh@aybabtu.com>
18097
18098 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18099 Add --pkglibdir=DIR option to override pkglibdir.
18100 Mention --image-type=TYPE in help output.
18101 Fix --grub-mkimage (it was a no-op).
fe6b695a 18102 Abort gracefully when no parameter is given.
59d31694 18103
7ee367e4 181042007-06-11 Robert Millan <rmh@aybabtu.com>
18105
18106 * util/i386/pc/grub-mkrescue.in: New file.
18107 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18108 * Makefile.in: Handle bin_SCRIPTS.
18109
29b0ed46 181102007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18111
18112 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18113 list of video modes.
18114
c0f90770 181152007-06-06 Robert Millan <rmh@aybabtu.com>
18116
18117 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18118 file doesn't exist, or if it is in a filesystem grub can't read.
18119
18120 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18121 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18122 header comment to fit in 80 columns when the variables are resolved.
18123
18124 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18125 could be identified by update-grub. Remove redundant check for
fe6b695a 18126 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18127 handles that).
18128
fb36dc26 181292007-06-04 Robert Millan <rmh@aybabtu.com>
18130
18131 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18132
18133 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18134
18135 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18136
0c68c93e 181372007-06-04 Robert Millan <rmh@aybabtu.com>
18138
18139 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18140
18141 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18142 grub_apple_partition_map_fini.
18143
18144 * util/biosdisk.c
18145 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18146 to access >2 TiB disks).
18147
18148 Print disk->total_sectors with %llu instead of %lu, since this
18149 variable is always 64-bit (prevents wrong disk size from being displayed
18150 on either >2 TiB disk or big-endian CPU).
18151
18152 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18153 into a generic case that supports all (sane) partition maps.
18154
18155 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18156 breaks big-endian.
18157
18158 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18159 and grub_apple_partition_map_fini() after that.
18160
0f23eb74 181612007-06-01 Robert Millan <rmh@aybabtu.com>
18162
18163 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18164
18165 * util/grub.d/00_header.in: Only enable gfxterm when
18166 convert_system_path_to_grub_path() succeeds.
18167
42c71976 181682007-05-20 Robert Millan <rmh@aybabtu.com>
18169
18170 * util/update-grub_lib.in: New file.
18171 * DISTLIST: Add update-grub_lib.in.
18172 * conf/common.rmk: Generate update-grub_lib and install it in
18173 $(lib_DATA).
18174 * Makefile.in: Add install routine for $(lib_DATA).
18175
18176 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18177 function provided by update-grub_lib to support arbitrary paths of
18178 unifont.pff.
18179 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18180 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18181
5beb2291 181822007-05-19 Robert Millan <rmh@aybabtu.com>
18183
18184 * commands/i386/cpuid.c: New module.
18185 * DISTLIST: Add it.
18186 * conf/i386-efi.rmk: Enable cpuid.mod.
18187 * conf/i386-pc.rmk: Likewise.
18188
7262eca1 181892007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18190
18191 * kern/disk.c (grub_disk_read): Check return value of
18192 grub_realloc().
18193
260ba823 181942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18195
18196 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18197 arrays.
18198 * disk/raid.c (grub_raid_open): Likewise.
18199
1ecb6cf2 182002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18201
18202 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18203 stack instead of on the heap.
18204
18205 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18206 before doing a read on it.
18207
18208 * configure.ac: Only use -fno-stack-protector for the target
18209 environment.
f19dbdb7 18210
21c8cbb1 182112007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18212
18213 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18214 __attribute_ ((unused)) to mode_type argument.
18215
18216 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18217
21c8cbb1 18218 * kern/misc.c (memcmp): Fix prototype.
18219
18220 * include/grub/partition.h [GRUB_UTIL]
18221 (grub_gpt_partition_map_init): Add prototype.
18222 (grub_gpt_partition_map_fini): Likewise.
18223
18224 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18225 at the right place.
18226
18227 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18228 (grub_fat_read_data): Likewise.
18229 (grub_fat_find_dir): Likewise.
18230
18231 * font/manager.c (find_glyph): Make table a const.
18232 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18233
849d55d3 182342007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18235
18236 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18237 code, first search for device in /dev/mapper, then in /dev.
18238 (grub_util_get_grub_dev): New function.
18239 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18240 prototype.
18241 * util/grub-probe.c (probe): Remove check for RAID, call
18242 grub_util_get_grub_dev() instead of
18243 grub_util_biosdisk_get_grub_dev().
18244 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18245 grub_util_biosdisk_get_grub_dev().
18246 * util/i386/pc/grub-setup.c (main): Likewise.
18247
8fff7c2f 182482007-05-16 Robert Millan <rmh@aybabtu.com>
18249
18250 * DISTLIST: Update for the latest changes.
18251 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18252 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18253 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18254 grub/util/biosdisk.h.
18255 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18256 grub/util/biosdisk.h.
18257
48e12b52 182582007-05-16 Robert Millan <rmh@aybabtu.com>
18259
18260 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18261
46b9d128 182622007-05-16 Robert Millan <rmh@aybabtu.com>
18263
18264 * util/i386/efi/grub-install.in: New.
18265 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18266 newly added grub-install.
18267 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18268 include.
18269 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18270 grub/util/biosdisk.h.
18271 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18272 grub/util/biosdisk.h.
18273
2d1a40a9 182742007-05-16 Robert Millan <rmh@aybabtu.com>
18275
18276 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18277 * include/grub/util/biosdisk.h: ... here.
18278 * util/i386/pc/biosdisk.c: Moved to ...
18279 * util/biosdisk.c: ... here.
18280 * util/i386/pc/getroot.c: Moved to ...
18281 * util/getroot.c: ... here.
18282 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18283 * util/grub-mkdevicemap.c: ... here.
18284 * util/i386/pc/grub-probe.c: Moved to ...
18285 * util/grub-probe.c: ... here.
18286
9e26e3bc 182872007-05-15 Robert Millan <rmh@aybabtu.com>
18288
18289 * util/update-grub.in: Remove duplicated line in grub.cfg header
18290 message.
18291
57f96397 182922007-05-13 Robert Millan <rmh@aybabtu.com>
18293
18294 * util/update-grub.in: Fix a few assumptions about the devices holding
18295 /, /boot and /boot/grub being the same.
18296 * util/grub.d/00_header.in: Likewise.
18297 * util/grub.d/10_hurd.in: Likewise.
18298 * util/grub.d/10_linux.in: Likewise.
18299
18300 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18301 patterns. Use that to define the `.old' suffix as older than `'.
18302
18303 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18304
18305 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18306 the grub.cfg header message.
18307
2e610d62 183082007-05-11 Robert Millan <rmh@aybabtu.com>
18309
18310 * util/update-grub.in: Create device.map if it doesn't already exist,
18311 before attempting to run grub-probe.
18312 Check for grub-probe and grub-mkdevicemap with the same code
18313 grub-install is using.
18314 Remove test mode.
18315
3f6a10ef 183162007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18317
18318 * Makefile.in: Add the datarootdir autoconf variable.
18319
02e7b75e 183202007-05-09 Robert Millan <rmh@aybabtu.com>
18321
18322 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18323 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18324
75f396cc 183252007-05-07 Robert Millan <rmh@aybabtu.com>
18326
18327 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18328 determine partition map module.
18329 * util/i386/pc/grub-install.in: Use this feature to decide which
18330 partition module to load, instead of hardcoding pc and gpt.
18331
da65cb36 183322007-05-07 Robert Millan <rmh@aybabtu.com>
18333
18334 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18335 source directory differs from build directory.
18336
b57d6a91 183372007-05-05 Robert Millan <rmh@aybabtu.com>
18338
18339 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18340 initialisation.
18341
509d00f1 183422007-05-05 Robert Millan <rmh@aybabtu.com>
18343
18344 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18345
c48f23ef 183462007-05-05 Robert Millan <rmh@aybabtu.com>
18347
18348 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18349 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18350
20b97658 183512007-05-05 Robert Millan <rmh@aybabtu.com>
18352
18353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18354 (grub_probe_SOURCES): Likewise.
18355 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18356 GPT and initialize dos_part and bsd_part accordingly.
18357 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18358 install_bsd_part.
18359 (main): Activate gpt module for use during partition identification,
18360 and deactivate it afterwards.
18361 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18362 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18363 partition identification, and deactivate it afterwards.
18364
99123174 183652007-05-05 Robert Millan <rmh@aybabtu.com>
18366
18367 * term/i386/pc/console.c (grub_console_fini): Call
18368 grub_term_set_current() before grub_term_unregister().
18369
ebd97f6e 183702007-05-04 Robert Millan <rmh@aybabtu.com>
18371
18372 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18373 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18374 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18375 and update-grub_DATA.
18376 * conf/common.rmk: Build and install update-grub components.
18377 * conf/common.mk: Regenerate.
18378 * util/update-grub.in: New. Core of update-grub.
18379 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18380 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18381 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18382 * util/grub.d/README: New. Document grub.d directory layout.
18383
b06a264d 183842007-05-01 Robert Millan <rmh@aybabtu.com>
18385
18386 * util/grub-emu.c: Move initialization functions
18387 grub_util_biosdisk_init() and grub_init_all() before
18388 grub_util_biosdisk_get_grub_dev(), which relies on them.
18389
41f0050e 183902007-04-19 Robert Millan <rmh@aybabtu.com>
18391
18392 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18393 it is used later.
18394
04582bb3 183952007-04-18 Jerone Young <jerone@gmail.com>
18396
f19dbdb7 18397 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18398 stanza.
18399
08db4632 184002007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18401
08db4632 18402 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18403 continue on and look for device node with real device name.
18404
801b76be 184052007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18406
fe6b695a 18407 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18408 ability.
18409 * Makefile.in: Add autoconf package transformation code.
18410 * util/i386/pc/grub-install.in: Likewise.
18411 * util/powerpc/ieee1275/grub-install.in: Likewise.
18412
6795c4e1 184132007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18414
18415 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18416 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18417 (EXT2_REVISION): Likewise.
18418 (EXT2_INODE_SIZE): Likewise.
18419 (struct grub_ext2_block_group): Added a missing member
18420 "used_dirs".
18421 (grub_ext2_read_inode): Divide by the inode size in a superblock
18422 instead of 128 to obtain INODES_PER_BLOCK.
18423 Use the macro EXT2_INODE_SIZE instead of directly using
18424 SBLOCK->INODE_SIZE.
18425
d70af616 184262007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18427
18428 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18429 superblock instead of the structure size to compute an
18430 offset. This fixes the problem that GRUB could not read a
18431 filesystem when inode size is different from 128-byte.
18432
3b801603 184332007-03-05 Marco Gerards <marco@gnu.org>
18434
18435 * normal/main.c (read_config_file): When "menu" is not set, create
18436 an initial context.
18437
4785bfe4 184382007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18439
18440 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18441 (HEAP_LIMIT): New macro.
18442 (grub_claim_heap): Claim memory up to `heaplimit'.
18443
a0cbb023 184442007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18445
18446 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18447 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18448 (_start): Likewise.
18449 (grub_arch_modules_addr): Return address after `_end'.
18450 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18451 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18452 (add_segments): Calculate `_end' from phdr size and location.
18453 (ALIGN_UP): Moved to ...
18454 * include/grub/misc.h: here.
18455 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18456 New macro.
18457 (GRUB_IEEE1275_MODULE_BASE): Removed.
18458
fd7d8eba 184592007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18460
18461 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18462 loop boundary.
18463
9b09e6fc 184642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18465
18466 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18467 All users updated.
18468 (grub_elf64_load_hook_t): Likewise.
18469 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18470 debug output.
18471
3ce27299 184722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18473
18474 * kern/mm.c: Update copyright.
18475 (grub_mm_debug): Correct syntax error.
18476 (grub_mm_dump_free): New function.
18477 (grub_debug_free): Call `grub_free'.
18478 * include/grub/mm.h: Update copyright.
18479 (grub_mm_dump_free): Add declaration.
18480
077d5fee 184812007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18482
18483 * include/grub/ieee1275/ieee1275.h: Update copyright.
18484 * kern/powerpc/ieee1275/init.c: Likewise.
18485 * kern/powerpc/ieee1275/openfw.c: Likewise.
18486
18487 * loader/powerpc/ieee1275/linux.c: Likewise.
18488 * include/grub/elfload.h: Likewise.
18489 * kern/elf.c: Likewise.
18490 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18491 callers.
18492 (grub_elf64_load): Likewise.
18493 (grub_elf32_load_segment): Move to a nested function.
18494 (grub_elf64_load_segment): Likewise.
18495
dc946850 184962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18497
18498 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18499 prototype.
18500 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18501 (grub_heap_len): Likewise.
18502 (HEAP_SIZE): New macro.
18503 (grub_claim_heap): New function.
18504 (grub_machine_init): Don't claim heap directly. Call
18505 `grub_claim_heap'.
18506 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18507 (grub_available_iterate): New function.
18508
baa2a121 185092007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18510
18511 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18512 * configure.ac: Use it for testing the HOST and TARGET compilers.
18513
4fe9862e 185142006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18515
18516 * Makefile.in (enable_grub_emu): New variable.
18517 * configure.ac (--enable-grub-emu): New option.
18518 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18519 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18520 * conf/i386-pc.rmk: Likewise.
18521 * conf/powerpc-ieee1275.rmk: Likewise.
18522 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18523
a8aa5762 185242006-12-12 Marco Gerards <marco@gnu.org>
18525
18526 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18527
18528 * kern/env.c (grub_env_unset): Don't free the member `value' when
18529 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18530 pointer.
18531
18532 * normal/main.c (current_menu): Removed.
18533 (free_menu): Unset the `menu' environment variable.
18534 (grub_normal_menu_addentry): Make use of the environment variable
18535 `menu', instead of using the global `current_menu'. Allocate
18536 memory for the sourcecode of this entry.
18537 (read_config_file): New argument `nested', changed all callers.
18538 Only in the case of a new context, initialize a new menu. Set the
18539 `menu' environment variable.
18540 (grub_normal_execute): Don't set and unset the environment
18541 variable `menu' here anymore. Only free the menu when leaving the
18542 context.
18543
18544 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18545 leak.
18546
957b3a3e 185472006-12-11 Marco Gerards <marco@gnu.org>
18548
18549 * normal/menu_entry.c (run): Fix off by one bug so the last line
18550 is executed. Move the loader check to outside the loop.
18551
ef875714 185522006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18553
18554 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18555
4e739985 185562006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18557
18558 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18559 the number of sectors. Reported by Andrey Shuvikov
18560 <mr_hyro@yahoo.com>.
f19dbdb7 18561
790707f2 185622006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18563
18564 * kern/disk.c (grub_disk_read): When there is a read error, always
18565 try to read only the necessary data.
f19dbdb7 18566
790707f2 18567 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18568 disk/raid.c.
18569 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18570 prototype.
18571 [GRUB_UTIL] (grub_raid_fini): Likewise.
18572 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 18573 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 18574 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18575 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18576 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18577 and grub_raid_fini().
f19dbdb7 18578
03e58196 185792006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18580
18581 * include/grub/types.h (__unused): Rename to UNUSED.
18582 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18583 (grub_elf64_size): Likewise.
f19dbdb7 18584
ae4f23bf 185852006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18586
18587 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18588 grub_error_push and grub_error_pop in the error-handling path.
18589 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18590 length.
18591
2166cc83 185922006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18593
18594 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18595 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18597 (kernel_elf_SOURCES): Likewise.
18598 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18599 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18600 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18601 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18602 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18603 (elf_mod_SOURCES): New variable.
18604 (elf_mod_CFLAGS): Likewise.
18605 (elf_mod_LDFLAGS): Likewise.
18606 * include/grub/types.h (__unused): New macro.
18607 * include/grub/elfload.h: New file.
18608 * kern/elf.c: Likewise.
18609 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18610 (ELF32_LOADMASK): New macro.
18611 (ELF64_LOADMASK): Likewise.
18612 (vmlinux): Removed.
18613 (grub_linux_load32): New function.
18614 (grub_linux_load64): Likewise.
18615 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18616 Use grub_elf_t instead of grub_file_t.
18617
a09d5aa5 186182006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18619
18620 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18621 `catch_result' to struct set_color_args.
18622
d976fc51 186232006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18624
18625 * normal/menu.c: Include grub/script.h.
18626 * normal/menu_entry.c: Likewise.
18627 * include/grub/normal.h: Do not include grub/script.h.
18628
67507549 186292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18630
18631 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18632
69203a99 186332006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18634
18635 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18636 disk.
18637 (grub_disk_close): Print debug messages when closing a disk.
18638 (grub_disk_read): Print debug messages when disk read fails.
18639 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18640 filesystem type.
18641 * kern/partition.c: Include misc.h.
18642 (grub_partition_iterate): Print debug messages when detecting
18643 partition type.
18644
e2b8278c 186452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18646
18647 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18648 is negative.
18649 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18650
97b2f2ff 186512006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18652
18653 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18654 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18655
6555d655 186562006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18657
18658 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18659 instead of sizeof(lv). Patch by Michael Guntsche.
18660
4d42b77f 186612006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18662
18663 * disk/lvm.c: Rename VGS to VG_LIST.
18664 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18665 (grub_lvm_open): Likewise.
18666 Thanks to Michael Guntsche for finding this bug.
18667
5d74d927 186682006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18669
18670 * configure.ac (AC_INIT): Bumped to 1.95.
18671
a1bb27e4 186722006-10-14 Robert Millan <rmh@aybabtu.com>
18673
18674 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18675 with "/dev/.static/dev/md".
18676
e0994b8b 186772006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18678
18679 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18680 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18681 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18682 DRIVE_NAME are always freed.
18683
18684 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18685 DOS_PART, as a DOS partition is counted from one instead of zero
18686 now. Reported by Robert Millan.
18687
ddd5cee9 186882006-10-14 Robert Millan <rmh@aybabtu.com>
18689
18690 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18691 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18692 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18693 string returned by grub_guess_root_device.
18694 * util/i386/pc/grub-setup.c: Likewise.
18695 * util/i386/pc/grub-probefs.c: Likewise.
18696
18697 * util/i386/pc/grub-probefs.c: Rename to ...
18698 * util/i386/pc/grub-probe.c: ... this.
18699 * DISTLIST: Remove grub-probefs, add grub-probe.
18700 * conf/i386-efi.rmk: Likewise.
18701 * conf/i386-pc.rmk: Likewise.
18702 * util/i386/pc/grub-install.in: Likewise.
18703
18704 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18705 choose which information we want to print.
18706
2b002173 187072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18708
18709 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18710 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18711 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18712 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18713 video/readers/tga.c and video/i386/pc/vbeutil.c.
18714
187152006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18716
18717 Added support for RAID and LVM.
f19dbdb7 18718
2b002173 18719 * disk/lvm.c: New file.
18720 * disk/raid.c: Likewise.
18721 * include/grub/lvm.h: Likewise.
f19dbdb7 18722 * include/grub/raid.h: Likewise.
2b002173 18723 * include/grub/util/lvm.h: Likewise.
18724 * include/grub/util/raid.h: Likewise.
18725 * util/lvm.c: Likewise.
18726 * util/raid.c: Likewise.
18727
18728 * include/grub/disk.h (grub_disk_dev_id): Add
18729 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18730 (grub_disk_get_size): New prototype.
18731 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18732 returns a partition.
18733 (grub_disk_get_size): New function.
f19dbdb7 18734
2b002173 18735 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18736 verbatim if grub_install_dos_part is -2.
18737
18738 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18739 and LVM devices.
18740
18741 * util/i386/pc/grub-setup.c (setup): New argument
18742 MUST_EMBED. Force embedding of GRUB when the argument is
18743 true. Close FILE before returning.
18744 (main): Add support for RAID and LVM.
f19dbdb7 18745
2b002173 18746 * conf/common.rmk: Add RAID and LVM modules.
18747 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18748 util/lvm.c.
18749 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18750
18751 * kern/misc.c (grub_strstr): New function.
18752 * include/grub/misc.h (grub_strstr): New prototype.
18753
050548d0 187542006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18755
18756 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18757
da849d2d 187582006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18759
18760 * kern/misc.c (grub_strtoull): Guess the base only if not
18761 specified.
18762
97b2f2ff 187632006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18764
18765 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18766 PowerMac support.
18767
97b2f2ff 187682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18769
18770 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18771
18772 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18773 Remove `flags' argument. All callers changed.
18774 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18775 (IEEE1275_IHANDLE_INVALID): New variable.
18776 (IEEE1275_CELL_INVALID): New variable.
18777 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18778 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18779 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18780 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18781 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18782 codes from Open Firmware. All callers updated.
18783 (grub_ieee1275_next_property): Directly return Open Firmware return
18784 code.
18785 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18786 Standardize error checking from `grub_ieee1275_get_property'.
18787 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18788 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18789
97b2f2ff 187902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18791
18792 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18793 `instance_to_package_args' to `instance_to_path_args'.
18794
18795 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18796 `grub_ieee1275_chosen'.
18797
18798 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18799 `grub_ieee1275_interpret'.
18800
97b2f2ff 188012006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18802
18803 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18804
97b2f2ff 188052006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18806
18807 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18808 (__cmpdi): Likewise.
18809
18810 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18811 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18812 `grub_ssize_t'.
18813
02bb8acc 18814 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18815
18816 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18817 to type `grub_ssize_t'.
18818 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18819
7f9a8531 188202006-09-22 Marco Gerards <marco@gnu.org>
18821
18822 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18823 newlines.
18824
b5ef1102 188252006-09-22 Marco Gerards <marco@gnu.org>
18826
18827 * commands/echo.c: New file.
18828
18829 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18830
18831 * conf/common.rmk (echo_mod_SOURCES): New variable.
18832 (echo_mod_CFLAGS): Likewise.
18833 (echo_mod_LDFLAGS): Likewise.
18834
2cff3677 188352006-09-22 Marco Gerards <marco@gnu.org>
18836
18837 * normal/main.c (get_line): Malloc memory instead of using
18838 preallocated memory. Removed the arguments `cmdline' and
18839 `max_len'. Updated all callers.
18840
6ba4688b 188412006-09-22 Marco Gerards <marco@gnu.org>
18842
18843 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18844 (normal_mod_DEPENDENCIES): Likewise.
18845
18846 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18847 (normal_mod_DEPENDENCIES): Likewise.
18848
18849 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18850
e02ac02c 188512006-09-22 Johan Rydberg <jrydberg@gnu.org>
18852
18853 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18854 programs.
18855 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18856 (normal_mod_DEPENDENCIES): Likewise.
18857 * conf/i386-pc.mk: Regenerate.
18858 * conf/i386-efi.mk: Likewise
18859 * conf/common.mk: Likewise.
18860 * conf/powerpc-ieee1275.mk: Likewise.
18861 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18862
8d252e44 188632006-09-22 Robert Millan <rmh@aybabtu.com>
18864
18865 Sync with i386 version.
18866 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18867 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18868
209bf7ac 188692006-09-21 Robert Millan <rmh@aybabtu.com>
18870
18871 Import from GRUB Legacy (lib/device.c):
18872 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18873 (init_device_map) [__linux__]: Add support for I2O devices.
18874
6b146090 188752006-09-14 Marco Gerards <marco@gnu.org>
18876
18877 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18878 `-melf_i386'.
18879
e38600a8 188802006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18881
18882 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18883 /boot/grub/*.lst.
78fa1790 18884
2952da5d 18885 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18886
2952da5d 18887 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18888 before adding it to device.map.
18889
01b82a64 188902006-08-15 Johan Rydberg <jrydberg@gnu.org>
18891
fe6b695a 18892 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18893 compiles a file; using the -MD option.
18894 * conf/common.mk: Regenerate.
18895 * conf/i386-pc.mk: Likewise.
18896 * conf/i386-efi.mk: Likewise.
18897 * conf/powerpc-ieee1275.mk: Likewise.
18898 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18899
1064790d 189002006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18901
18902 Move the prototypes of grub_setjmp and grub_longjmp to
18903 cpu/setjmp.h, so that each architecture may specify different
18904 attributes.
f19dbdb7 18905
1064790d 18906 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18907 (grub_longjmp): Likewise.
18908 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18909 (grub_longjmp): Likewise.
18910 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18911 (grub_longjmp): Likewise.
18912
18913 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18914 [!GRUB_UTIL] (grub_longjmp): Removed.
18915
29dda3ed 189162006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18917
18918 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18919 "color!" method does not return any value.
18920
ad2a06ed 189212006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18922
18923 * include/grub/bitmap.h: New file.
18924
18925 * include/grub/i386/pc/vbeutil.h: Likewise.
18926
18927 * video/bitmap.c: Likewise.
18928
18929 * video/readers/tga.c: Likewise.
18930
18931 * video/i386/pc/vbeutil.c: Likewise.
18932
18933 * commands/videotest.c: Code cleanup and updated to reflect to new
18934 video API.
18935
18936 * term/gfxterm.c: Likewise.
18937
18938 * video/video.c: Likewise.
18939
18940 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18941 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18942 (bitmap_mod_SOURCES): New entry.
18943 (bitmap_mod_CFLAGS): Likewise.
18944 (bitmap_mod_LDFLAGS): Likewise.
18945 (tga_mod_SOURCES): Likewise.
18946 (tga_mod_CFLAGS): Likewise.
18947 (tga_mod_LDFLAGS): Likewise.
18948
18949 * include/grub/video.h (grub_video_blit_operators): New enum type.
18950 (grub_video_render_target): Changed as forward declaration and moved
18951 actual definition to be video driver specific.
18952 (grub_video_adapter.blit_bitmap): Added blitting operator.
18953 (grub_video_adapter.blit_render_target): Likewise.
18954 (grub_video_blit_bitmap): Likewise.
18955 (grub_video_blit_render_target): Likewise.
18956
18957 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18958 driver specific render target definition.
18959 (grub_video_vbe_map_rgba): Added driver internal helper.
18960 (grub_video_vbe_unmap_color): Updated to use
18961 grub_video_i386_vbeblit_info.
18962 (grub_video_vbe_get_video_ptr): Likewise.
18963
18964 * include/grub/i386/pc/vbeblit.h
18965 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18966 grub_video_i386_vbeblit_info.
18967 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18968 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18969 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18970 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18971 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18972 (grub_video_i386_vbeblit_index_index): Likewise.
18973 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18974 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18975 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18976 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18977 operator.
18978 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18979 operator.
18980
18981 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18982 include/grub/i386/pc/vbeblit.h.
18983
18984 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18985 Updated to use grub_video_i386_vbeblit_info.
18986 (grub_video_i386_vbefill_R8G8B8): Likewise.
18987 (grub_video_i386_vbefill_index): Likewise.
18988 (grub_video_i386_vbefill): Added generic filler.
18989
18990 * video/i386/pc/vbefill.c: Updated to reflect changes on
18991 include/grub/i386/pc/vbefill.h.
18992
18993 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18994 grub_video_i386_vbeblit_info.
18995 (grub_video_vbe_unmap_color): Likewise.
18996 (grub_video_vbe_blit_glyph): Likewise.
18997 (grub_video_vbe_scroll): Likewise.
18998 (grub_video_vbe_draw_pixel): Removed function.
18999 (grub_video_vbe_get_pixel): Likewise.
19000 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19001 updated code to use it.
19002 (common_blitter): Added common blitter for render target and bitmap.
19003 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19004 (grub_video_vbe_blit_render_target): Likewise.
19005
bc8c036d 190062006-07-30 Johan Rydberg <jrydberg@gnu.org>
19007
19008 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19009 is in text mode if there is no console control protocol instance
19010 available.
19011
684a8eff 190122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19013
19014 * include/grub/video.h: Code cleanup.
19015
19016 * include/grub/i386/pc/vbe.h: Likewise.
19017
19018 * video/i386/pc/vbe.c: Likewise.
19019
19020 * video/i386/pc/vbeblit.c: Likewise.
19021
19022 * video/i386/pc/vbefill.c: Likewise.
19023
19024 * video/video.c: Likewise. Also added more comments.
19025
5915059b 190262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19027
19028 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19029 (struct grub_biosdisk_dap): Likewise.
19030
19031 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19032 linkage settings for all functions.
19033
90ce5d56 190342006-07-12 Marco Gerards <marco@gnu.org>
19035
19036 * configure.ac (--enable-mm-debug): Fix typo.
19037
19038 * genkernsyms.sh.in: Use proper quoting for `CC'.
19039
43e7f879 190402006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19041
19042 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19043 (normal_mod_ASFLAGS): Remove "-m32".
19044
4889bdec 190452006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19046
19047 * util/misc.c: Include config.h.
19048 [!HAVE_MEMALIGN]: Do not include malloc.h.
19049 (grub_memalign): Use posix_memalign, if present. Then, use
19050 memalign, if present. Otherwise, emit an error.
19051
19052 * util/grub-emu.c: Do not include malloc.h.
19053
19054 * include/grub/util/misc.h: Include unistd.h. This is required for
19055 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19056 D. Eades III <hde@foobar-qux.org>.
19057
19058 * configure.ac (AC_GNU_SOURCE): Added.
19059 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19060 type.
19061
fd39d4da 190622006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19063
19064 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19065 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19066
b786f3b5 190672006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19068
19069 * include/grub/types.h (grub_host_addr_t): Rename to
19070 grub_target_addr_t.
19071 (grub_host_off_t): Rename to grub_target_off_t.
19072 (grub_host_size_t): Rename to grub_target_size_t.
19073 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19074 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19075
19076 * include/grub/kernel.h (struct grub_module_header): Change type
19077 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19078 (grub_module_info): Likewise.
f19dbdb7 19079
051988bb 190802006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19081
19082 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19083 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19084 Velazquez <jesus.velazquez@gmail.com>.
19085
deae281b 190862006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19087
19088 Count partitions from 1 instead of 0 in the string representation
19089 of partitions. Still use 0-based internally.
f19dbdb7 19090
deae281b 19091 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19092 (sun_partition_map_iterate): Use grub_partition_t instead of
19093 struct grub_partition *. Cast DESC->START_CYLINDER to
19094 grub_uint64_t after converting the endian.
19095 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19096 (sun_partition_map_get_name): Add 1 to P->INDEX.
19097
19098 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19099 PCDATA->DOS_PART.
19100 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19101
19102 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19103 zero instead of one.
19104 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19105 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19106
19107 * partmap/apple.c (apple_partition_map_iterate): Change the type
19108 of POS to unsigned.
19109 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19110 (apple_partition_map_get_name): Add 1 into P->INDEX.
19111
19112 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19113 of POS to unsigned.
19114 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19115 calculate the offset of a partition.
19116 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19117 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19118
19119 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19120 SECTOR to grub_disk_addr_t.
19121 (acorn_partition_map_iterate): Likewise.
19122 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19123 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19124 top.
19125 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19126
19127 * kern/i386/pc/init.c (make_install_device): Add 1 into
19128 GRUB_INSTALL_DOS_PART.
19129
19130 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19131 conditional.
19132
524a1e6a 191332006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19134
19135 Clean up the code to support 64-bit addressing in disks and
19136 files. This change is not enough for filesystems yet.
f19dbdb7 19137
524a1e6a 19138 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19139 type of "start" to grub_uint64_t.
19140 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19141 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19142 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19143 convert addresses.
19144
19145 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19146 to grub_disk_addr_t.
19147
19148 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19149 string.
19150
19151 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19152
19153 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19154 to char *.
19155
19156 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19157
19158 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19159
19160 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19161
19162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19163 to grub_off_t, to detect an error from grub_file_seek.
19164 (grub_multiboot_load_elf32): Likewise.
19165
19166 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19167 maximum unsigned long value when an overflow is detected.
19168 (grub_strtoull): New function.
19169 (grub_divmod64): Likewise.
19170 (grub_lltoa): use grub_divmod64.
19171
19172 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19173 grub_disk_addr_t.
19174 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19175 the pointer to next character. Use grub_strtoull instead of
19176 grub_strtoul.
19177 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19178 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19179 respectively.
19180
fe6b695a 19181 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19182 return value is signed.
19183 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19184 test if OFFSET is less than zero, as OFFSET is unsigned now.
19185
19186 * kern/disk.c (struct grub_disk_cache): Change the type of
19187 "sector" to grub_disk_addr_t.
19188 (grub_disk_cache_get_index): Change the type of SECTOR to
19189 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19190 unsigned after shifting.
19191 (grub_disk_cache_invalidate): Change the type of SECTOR to
19192 grub_disk_addr_t.
19193 (grub_disk_cache_unlock): Likewise.
19194 (grub_disk_cache_store): Likewise.
19195 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19196 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19197 grub_disk_addr_t and grub_uint64_t, respectively.
19198 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19199 body, as the value of OFFSET is tweaked by
19200 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19201 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19202 respectively.
19203 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19204 body, as the value of OFFSET is tweaked by
19205 grub_disk_check_range. Change the types of LEN and N to
19206 grub_size_t.
19207
19208 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19209 and "saved_offset" to grub_off_t.
19210 (test_header): Cast BUF to char *.
19211 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19212 to char *.
19213 (grub_gzio_read): Change the types of OFFSET and SIZE to
19214 grub_off_t and grub_size_t, respectively.
19215
19216 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19217 Removed.
19218 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19219 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19220 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19221 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19222 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19223
19224 * include/grub/types.h (grub_off_t): Unconditionally set to
19225 grub_uint64_t.
19226 (grub_disk_addr_t): Changed to grub_uint64_t.
19227
19228 * include/grub/partition.h (struct grub_partition): Change the
19229 types of "start", "len" and "offset" to grub_disk_addr_t,
19230 grub_uint64_t and grub_disk_addr_t, respectively.
19231 (grub_partition_get_start): Return grub_disk_addr_t.
19232 (grub_partition_get_len): Return grub_uint64_t.
19233
19234 * include/grub/misc.h (grub_strtoull): New prototype.
19235 (grub_divmod64): Likewise.
19236
19237 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19238 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19239 grub_off_t, respectively.
19240 All callers and references changed.
19241
19242 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19243 grub_size_t in "read".
19244 All callers and references changed.
19245
19246 * include/grub/file.h (struct grub_file): Change the types of
19247 "offset" and "size" to grub_off_t and grub_off_t,
19248 respectively. Change the type of SECTOR to grub_disk_addr_t in
19249 "read_hook".
19250 (grub_file_read): Change the type of LEN to grub_size_t.
19251 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19252 grub_off_t.
19253 (grub_file_size): Return grub_off_t.
19254 (grub_file_tell): Likewise.
19255 All callers and references changed.
19256
19257 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19258 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19259 "write".
19260 (struct grub_disk): Change the type of "total_sectors" to
19261 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19262 "read_hook".
524a1e6a 19263 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19264 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19265 (grub_disk_write): Likewise.
19266 All callers and references changed.
19267
19268 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19269 char * for grub_strncmp to silence gcc.
19270 (grub_iso9660_mount): Likewise.
19271 (grub_iso9660_mount): Likewise.
19272 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19273 return statement.
19274 (grub_iso9660_iterate_dir): Likewise.
19275 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19276
19277 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19278 LEN to grub_disk_addr_t and grub_size_t, respectively.
19279
19280 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19281
19282 * fs/jfs.c (grub_jfs_read_file): Likewise.
19283
19284 * fs/minix.c (grub_jfs_read_file): Likewise.
19285
19286 * fs/sfs.c (grub_jfs_read_file): Likewise.
19287
19288 * fs/ufs.c (grub_jfs_read_file): Likewise.
19289
19290 * fs/xfs.c (grub_jfs_read_file): Likewise.
19291
19292 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19293 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19294 respectively.
19295
19296 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19297 BLKNR to -1 instead of returning GRUB_ERRNO.
19298 (grub_ext2_read_file): Change the types of SECTOR and
19299 LEN to grub_disk_addr_t and grub_size_t, respectively.
19300
19301 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19302 LEN to grub_disk_addr_t and grub_size_t, respectively.
19303
19304 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19305 grub_file_read.
19306
19307 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19308 string. Do not cast SECTOR explicitly.
19309
19310 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19311 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19312 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19313 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19314 over 2TB and LBA mode is not supported, raise an error.
19315 (get_safe_sectors): New function.
19316 (grub_biosdisk_read): Use get_safe_sectors.
19317 (grub_biosdisk_write): Likewise.
19318
19319 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19320 (grub_efidisk_write): Likewise.
19321
19322 * disk/loopback.c (delete_loopback): Cosmetic changes.
19323 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19324 correctly.
19325 (grub_loopback_open): Likewise.
19326 (grub_loopback_read): Likewise. Also, change the type of POS to
19327 grub_off_t, and fix the usage of grub_memset.
19328
19329 * commands/i386/pc/play.c: Include grub/machine/time.h.
19330
19331 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19332 print FILE->SIZE.
19333
19334 * commands/configfile.c: Include grub/env.h.
19335
19336 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19337 GRUB_ERRNO directly instead. Change the type of POS to
19338 grub_off_t. Follow the coding standard.
19339
19340 * commands/blocklist.c: Include grub/partition.h.
19341 (grub_cmd_blocklist): Return an error if the underlying device is
19342 not a disk. Take the starting sector of a partition into account,
19343 if a partition is used.
19344
19345 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19346 a length field.
19347 (lba_mode): Support 64-bit addresses.
19348 (chs_mode): Likewise.
19349 (copy_buffer): Adapted to the new offsets of a length field and a
19350 segment field.
19351 (blocklist_default_start): Allocate 64-bit space.
19352
19353 * boot/i386/pc/boot.S (force_lba): Removed.
19354 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19355 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19356 space.
19357 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19358 is useless.
19359 (lba_mode): Refactored to support a 64-bit address. More size
19360 optimization.
19361 (setup_sectors): Likewise.
19362
53af98ad 193632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19364
19365 * DISTLIST: Added include/grub/i386/linux.h. Removed
19366 include/grub/i386/pc/linux.h
19367
19368 * configure.ac (AC_INIT): Bumped to 1.94.
19369
19370 * config.guess: Updated from gnulib.
19371 * config.sub: Likewise.
19372 * install-sh: Likewise.
19373 * mkinstalldirs: Likewise.
19374
b4c1940a 193752006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19376
19377 * conf/common.rmk (grub_modules_init.lst): Depended on
19378 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19379 MODSRCFILES.
19380
19381 * genmk.rb (PModule::rule): Reverted the previous change.
19382
cfca1cfd 193832006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19384
19385 * conf/common.rmk (grub_modules_init.lst): Depends on
19386 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19387 that the target does not exist before producing.
19388 (grub_modules_init.h): Remove the target before generating.
19389 (grub_emu_init.c): Likewise.
19390
19391 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19392
aa6d7826 193932006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19394
19395 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19396 for the target-specific tests. Make sure that we also have the
19397 up-to-date target variables for those tests.
19398
26c607b9 193992006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19400
19401 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19402 (PModule::rule): Likewise.
19403
0162321a 194042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19405
19406 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19407 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19408 target-specific flags should be prefixed.
19409 (PModule::rule): Likewise.
19410
6c826348 194112006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19412
19413 * configure.ac (CMP): Check if cmp is available explicitly.
19414
b977bf01 194152006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19416
19417 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19418 (target_cpu): New variable.
19419 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19420
b977bf01 19421 * util/i386/pc/grub-install.in (host_cpu): Removed.
19422 (target_cpu): New variable.
19423 (pkglibdir): Use target_cpu instead of host_cpu.
19424
19425 * util/genmoddep.c: Removed.
f19dbdb7 19426
b977bf01 19427 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19428 instead of GRUB_HOST_SIZEOF_VOID_P.
19429 * kern/dl.c: Likewise.
19430
19431 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19432 ...
19433 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19434 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19435 (GRUB_TARGET_SIZEOF_LONG): ... this.
19436 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19437 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19438 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19439 to ...
19440 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19441 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19442 (GRUB_TARGET_SIZEOF_LONG): ... this.
19443 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19444 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19445 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19446 to ...
19447 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19448 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19449 (GRUB_TARGET_SIZEOF_LONG): ... this.
19450 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19451 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19452
19453 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19454 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19455 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19456 instead of GRUB_HOST_SIZEOF_LONG.
19457 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19458 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19459 GRUB_CPU_WORDS_BIGENDIAN.
19460 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19461 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19462 grub_host_ssize_t.
19463
19464 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19465 (genmoddep_SOURCES): Likewise.
19466 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19467 (genmoddep_SOURCES): Likewise.
19468 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19469 (genmoddep_SOURCES): Likewise.
19470 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19471 Likewise.
19472 (genmoddep_SOURCES): Likewise.
19473
19474 * genmoddep.awk: New file.
19475
19476 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19477 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19478 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19479 (PModule::rule): Likewise.
19480 (Program::rule): Likewise.
19481 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19482 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19483 respectively.
19484
19485 * configure.ac: Rewritten intensively to use host and target
19486 instead of build and host, respectively.
19487
19488 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19489 (host_cpu): Removed.
19490 (target_cpu): New variable.
19491 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19492 (BUILD_CC): Removed.
19493 (BUILD_CFLAGS): Likewise.
19494 (BUILD_CPPFLAGS): Likewise.
19495 (TARGET_CC): New variable.
19496 (TARGET_CFLAGS): Likewise.
19497 (TARGET_CPPFLAGS): Likewise.
19498 (TARGET_LDFLAGS): Likewise.
19499 (AWK): Likewise.
19500 (include): Use target_cpu instead of host_cpu.
19501 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 19502
b977bf01 19503 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19504
f09771a1 195052006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19506
19507 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19508 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19509 field 'false' to 'exec_on_false'.
19510 (grub_script_create_cmdif): Renamed argument names to reflect above
19511 changes.
19512
19513 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19514
19515 * normal/script.c (grub_script_create_cmdif): Likewise.
19516
118f4fb3 195172006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19518
19519 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19520 top.
19521 (grub_hfsplus_btree_recptr): Likewise.
19522 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19523 FILEBLOCK both to pass a block number and store next block
19524 number.
19525 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19526 overflow file correctly. Specify errors appropriately, because
19527 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19528 grub_hfsplus_btree_recptr to get the pointer to a found key.
19529 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19530 is found.
19531
19532 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19533 linux.mod.
19534 (_linux_mod_SOURCES): New variable.
19535 (_linux_mod_CFLAGS): Likewise.
19536 (_linux_mod_LDFLAGS): Likewise.
19537 (linux_mod_SOURCES): Likewise.
19538 (linux_mod_CFLAGS): Likewise.
19539 (linux_mod_LDFLAGS): Likewise.
19540
19541 * DISTLIST: Added loader/i386/efi/linux.c,
19542 loader/i386/efi/linux_normal.c and
19543 include/grub/i386/efi/loader.h.
19544
19545 * loader/i386/efi/linux.c: New file.
19546 * loader/i386/efi/linux_normal.c: Likewise.
19547 * include/grub/i386/efi/loader.h: Likewise.
19548
89a7d726 195492006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19550
19551 * commands/blocklist.c: New file.
19552
19553 * DISTLIST: Added commands/blocklist.c.
19554
19555 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 19556 color for the background, and a darker color for the foreground.
89a7d726 19557 (grub_console_checkkey): Return READ_KEY.
19558 (grub_console_cls): Set the background to
19559 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19560
19561 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19562
19563 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19564 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19565
19566 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19567 prototype.
19568
19569 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19570 BG. The spec is wrong again.
19571
19572 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19573 prototype.
19574 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19575
19576 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19577 commands/blocklist.c.
19578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 19579
89a7d726 19580 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19581 (blocklist_mod_SOURCES): New variable.
19582 (blocklist_mod_CFLAGS): Likewise.
19583 (blocklist_mod_LDFLAGS): Likewise.
19584
75c8f258 195852006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19586
19587 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19588 duplication.
19589 (lba_mode): Use %eax more intensively to reduce the code size.
19590
da2eb181 195912006-05-20 Marco Gerards <marco@gnu.org>
19592
19593 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19594
19595 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19596 for `menuentry'.
19597 (script): Accept leading newlines.
19598 (newlines): New rule to describe 0 or more newlines.
19599 (commands): Accept `command' with trailing newline. Fixed the
19600 order in which arguments were passed to `grub_script_add_cmd'.
19601 Accept commands separated by newlines.
19602 (function): Changed to accept newlines.
19603 (menuentry) Rewritten.
19604
19605 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19606 front of the list, instead of to the end.
19607
577b4050 196082006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19609
19610 * util/i386/pc/grub-install.in (bindir): New variable.
19611 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19612 Shaver <lbgwjl@gmail.com>.
19613
0d6e1189 196142006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19615
19616 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19617 grub/machine/linux.h
19618 * loader/i386/pc/linux.c: Likewise.
19619
19620 * include/grub/i386/pc/linux.h: Moved to ...
19621 * include/grub/i386/linux.h: ... here.
19622
19623 * include/grub/i386/linux.h (struct linux_kernel_params): New
19624 struct.
f19dbdb7 19625
31b86e9f 196262006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19627
19628 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19629 checking.
19630 (grub_video_vbe_blit_glyph): Likewise.
19631 (grub_video_vbe_blit_bitmap): Likewise.
19632 (grub_video_vbe_blit_render_target): Likewise.
19633
83b984de 196342006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19635
19636 * configure.ac (--with-platform): Properly quote the square
19637 brackets.
19638
5f0413bd 196392006-05-08 Marco Gerards <marco@gnu.org>
19640
19641 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19642 this...
19643 (kernel_elf_HEADERS): ...to this. Updated all users.
19644 (grubof_symlist.c): Renamed from this...
19645 (kernel_elf_symlist.c): ...to this. Updated all users.
19646 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19647 (grubof_SOURCES): Renamed from this...
19648 (kernel_elf_SOURCES): ...to this.
19649 (grubof_HEADERS): Renamed from this...
19650 (kernel_elf_HEADERS): ...to this.
19651 (grubof_CFLAGS): Renamed from this...
19652 (kernel_elf_CFLAGS): ...to this.
19653 (grubof_ASFLAGS): Renamed from this...
19654 (kernel_elf_ASFLAGS): ...to this.
19655 (grubof_LDFLAGS): Renamed from this...
19656 (kernel_elf_LDFLAGS): ...to this.
19657
19658 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19659 this...
19660 (kernel_elf_HEADERS): ...to this. Updated all users.
19661 (grubof_symlist.c): Renamed from this...
19662 (kernel_elf_symlist.c): ...to this. Updated all users.
19663 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19664 (grubof_SOURCES): Renamed from this...
19665 (kernel_elf_SOURCES): ...to this.
19666 (grubof_HEADERS): Renamed from this...
19667 (kernel_elf_HEADERS): ...to this.
19668 (grubof_CFLAGS): Renamed from this...
19669 (kernel_elf_CFLAGS): ...to this.
19670 (grubof_ASFLAGS): Renamed from this...
19671 (kernel_elf_ASFLAGS): ...to this.
19672 (grubof_LDFLAGS): Renamed from this...
19673 (kernel_elf_LDFLAGS): ...to this.
19674
19675 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19676 `kernel.elf' instead of `grubof'.
19677
05568c2e 196782006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19679
19680 Add --with-platform to configure. Use pkglibdir instead of
19681 pkgdatadir. This is reported by Roger Leigh.
19682
19683 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19684 (host_vendor): Likewise.
19685 (host_os): Likewise.
19686 (pkgdatadir): Likewise.
19687 (platform): New variable.
19688 (pkglibdir): Likewise.
19689 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 19690
05568c2e 19691 * util/i386/pc/grub-install.in (datadir): Removed.
19692 (host_vendor): Likewise.
19693 (host_os): Likewise.
19694 (pkgdatadir): Likewise.
19695 (platform): New variable.
19696 (pkglibdir): Likewise.
19697 Use PKGLIBDIR instead of PKGDATADIR.
19698
19699 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19700 instead of GRUB_DATADIR.
19701 (main): Likewise.
19702 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19703 (main): Likewise.
19704 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19705 (main): Likewise.
19706
19707 * configure.ac (--with-platform): New option.
19708 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19709
19710 * Makefile.in: Include a makefile based on PLATFORM instead of
19711 HOST_VENDOR.
19712 (pkgdatadir): Not appended by the machine type.
19713 (pkglibdir): Appended by the machine type.
19714 (host_vendor): Removed.
19715 (platform): New variable.
19716 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19717 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19718 (uninstall): Likewise.
19719
4e93851c 197202006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19721
19722 Use the environment context in the menu. Remove the commands
19723 "default" and "timeout", and use variables instead.
f19dbdb7 19724
4e93851c 19725 * normal/menu.c: Include grub/env.h.
19726 (print_entry): Cast TITLE to silence gcc.
19727 (get_timeout): New function.
19728 (set_timeout): Likewise.
19729 (get_entry_number): Likewise.
19730 (run_menu): Use a default entry, a fallback entry and a timeout
19731 in the environment variables "default", "fallback" and
19732 "timeout". Also, tweak the default entry if it is not within the
19733 current menu entries.
19734 (grub_menu_run): Use a fallback entry in the environment variable
19735 "fallback".
19736
19737 * normal/main.c (read_config_file): Do not initialize
19738 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19739 NEWMENU->TIMEOUT.
19740 (grub_normal_execute): Use a data slot to store the menu.
19741
19742 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19743 fallback_entry and timeout.
19744 (struct grub_menu_list): Removed.
19745 (grub_menu_list_t): Likewise.
19746 (struct grub_context): Likewise.
19747 (grub_context_t): Likewise.
19748 (grub_context_get): Likewise.
19749 (grub_context_get_current_menu): Likewise.
19750 (grub_context_push_menu): Likewise.
19751 (grub_context_pop_menu): Likewise.
19752 (grub_default_init): Likewise.
19753 (grub_default_fini): Likewise.
19754 (grub_timeout_init): Likewise.
19755 (grub_timeout_fini): Likewise.
19756
19757 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19758 and timeout.mod.
19759 (normal_mod_SOURCES): Removed normal/context.c.
19760
19761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19762 commands/default.c, commands/timeout.c and normal/context.c.
19763 (normal_mod_SOURCES): Removed normal/context.c.
19764
19765 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19766 commands/timeout.c and normal/context.c.
19767 (normal_mod_SOURCES): Removed normal/context.c.
19768
19769 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19770 commands/default.c, commands/timeout.c and normal/context.c.
19771 (normal_mod_SOURCES): Removed normal/context.c.
19772
19773 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19774 timeout.mod.
19775 (default_mod_SOURCES): Removed.
19776 (default_mod_CFLAGS): Likewise.
19777 (default_mod_LDFLAGS): Likewise.
19778 (timeout_mod_SOURCES): Removed.
19779 (timeout_mod_CFLAGS): Likewise.
19780 (timeout_mod_LDFLAGS): Likewise.
19781
19782 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19783 normal/context.c.
19784
19785 * commands/default.c: Removed.
19786 * commands/timeout.c: Likewise.
19787 * normal/context.c: Likewise.
19788
1eb9cc1d 197892006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19790
19791 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19792
385bd9c1 197932006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19794
19795 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19796 "next" to "prev" for readability.
19797 (struct grub_env_sorted_var): New struct.
19798 (grub_env_context): Renamed to ...
19799 (initial_context): ... this.
19800 (grub_env_var_context): Renamed to ...
19801 (current_context): ... this.
19802 (grub_env_find): Look only at CURRENT_CONTEXT.
19803 (grub_env_context_open): Rewritten to copy exported variables from
19804 previous context.
19805 (grub_env_context_close): Rewritten according to the new
19806 scheme. Also, add an assertion to prevent the initial context from
19807 removed.
19808 (grub_env_insert): Removed the code for the sorted list.
19809 (grub_env_remove): Likewise.
19810 (grub_env_export): Simply mark the variable with
19811 GRUB_ENV_VAR_GLOBAL.
19812 (grub_env_set): A cosmetic change for naming consistency.
19813 (grub_env_get): Likewise.
19814 (grub_env_unset): Likewise.
19815 (grub_env_iterate): Rewritten to sort variables within this
19816 function.
19817 (grub_register_variable_hook): Fixed for naming consistency. Call
19818 grub_env_find again, only if NAME is not found at the first time.
19819 (mangle_data_slot_name): New function.
19820 (grub_env_set_data_slot): Likewise.
19821 (grub_env_get_data_slot): Likewise.
19822 (grub_env_unset_data_slot): Likewise.
19823
19824 * include/grub/env.h (grub_env_var_type): New enum.
19825 (GRUB_ENV_VAR_LOCAL): New constant.
19826 (GRUB_ENV_VAR_GLOBAL): Likewise.
19827 (GRUB_ENV_VAR_DATA): Likewise.
19828 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19829 "type".
19830 (grub_env_set): Replace VAR with NAME for consistency.
19831 (grub_register_variable_hook): Likewise.
19832 (grub_env_export): Specify the name of the argument.
19833 (grub_env_set_data_slot): New prototype.
19834 (grub_env_get_data_slot): Likewise.
19835 (grub_env_unset_data_slot): Likewise.
19836
7f362539 198372006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19838
19839 Extend the loader so that GRUB can accept a loader which comes
19840 back to GRUB when a loaded image exits. Also, this change adds
19841 support for a chainloader on EFI.
f19dbdb7 19842
7f362539 19843 * term/efi/console.c: Include grub/misc.h.
19844 (grub_console_checkkey): Display a scan code on the top for
19845 debugging. This will be removed once the EFI port gets stable.
19846 Correct the scan code mapping.
19847
19848 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19849 allocate memory from larger regions, in order to reduce the number
19850 of allocated regions. Otherwise, the MacOSX loader panics.
19851 (filter_memory_map): Avoid less than 1MB for compatibility with
19852 other loaders.
19853 (add_memory_regions): Allocate from the tail of a region, if
19854 possible, to avoid allocating a region near to 1MB, for the MacOSX
19855 loader.
19856
19857 * kern/efi/init.c (grub_efi_set_prefix): Specify
19858 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19859
19860 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19861 argument IMAGE_HANDLE and specify it to get a loaded image.
19862 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19863 grub_efi_get_loaded_image.
fe6b695a 19864 (grub_efi_get_filename): Divide the length by the size of
7f362539 19865 grub_efi_char16_t.
19866 (grub_efi_get_device_path): New function.
19867 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19868 the length by the size of grub_efi_char16_t for a file path device
19869 path node.
19870
19871 * kern/loader.c (grub_loader_noreturn): New variable.
19872 (grub_loader_set): Accept a new argument NORETURN. Set
19873 GRUB_LOADER_NORETURN to NORETURN.
19874 All callers changed.
19875 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19876 grub_machine_fini.
19877
19878 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19879 prototype.
19880 (grub_efi_get_loaded_image): Take an argument to specify an image
19881 handle.
19882
19883 * include/grub/loader.h (grub_loader_set): Added one more argument
19884 NORETURN.
19885
19886 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19887 instead of grub_efi_open_protocol.
19888 (grub_efidisk_get_device_name): Likewise.
19889 (grub_efidisk_close): Print a newline.
19890 (grub_efidisk_get_device_handle): Fixed to use
19891 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19892 GRUB_EFI_DEVICE_PATH_TYPE.
19893
19894 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19895 * kern/efi/efi.c (device_path_guid): ... here.
19896
19897 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19898 chain.mod.
19899 (kernel_mod_HEADERS): Added efi/disk.h.
19900 (_chain_mod_SOURCES): New variable.
19901 (_chain_mod_CFLAGS): Likewise.
19902 (_chain_mod_LDFLAGS): Likewise.
19903 (chain_mod_SOURCES): Likewise.
19904 (chain_mod_CFLAGS): Likewise.
19905 (chain_mod_LDFLAGS): Likewise.
19906
19907 * DISTLIST: Added include/grub/efi/chainloader.h,
19908 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19909
19910 * include/grub/efi/chainloader.h: New file.
19911 * loader/efi/chainloader.c: Likewise.
19912 * loader/efi/chainloader_normal.c: Likewise.
19913
c0111d6e 199142006-04-30 Marco Gerards <marco@gnu.org>
19915
19916 * commands/configfile.c (grub_cmd_source): New function.
19917 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19918 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19919
df5341da 199202006-04-30 Marco Gerards <marco@gnu.org>
19921
19922 * normal/execute.c (grub_script_execute_cmd): Change the return
19923 type to `grub_err_t'. Correctly return the error.
19924 (grub_script_execute_cmdline): In case a command line is not a
19925 command or a function, try to interpret it as an assignment.
19926
f85934bd 199272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19928
19929 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19930 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19931 skip a node whose name is obviously invalid as UTF-16,
19932 i.e. contains a NUL character. Stop the iteration when the last
19933 directory entry is found. Instead of using the return value of
19934 grub_hfsplus_btree_iterate_node, store the value in RET and use
19935 it, because the iterator can be stopped by the last directory
19936 entry.
19937
8f8a2cf8 199382006-04-30 Marco Gerards <marco@gnu.org>
19939
19940 * include/grub/env.h (grub_env_export): New prototype. Reported
19941 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19942
a27e84ce 199432006-04-30 Marco Gerards <marco@gnu.org>
19944
19945 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19946 size of the extents in a catalog file record.
19947
eaef0553 199482006-04-29 Marco Gerards <marco@gnu.org>
19949
19950 * commands/configfile.c (grub_cmd_configfile): Execute the
19951 configfile within its own context.
19952
19953 * include/grub/env.h (grub_env_context_open): New prototype.
19954 (grub_env_context_close): Likewise.
19955
19956 * kern/env.c (grub_env): Removed.
19957 (grub_env_sorted): Likewise.
19958 (grub_env_context): New variable.
19959 (grub_env_var_context): Likewise.
19960 (grub_env_find): Search both the active context and the global
19961 context.
19962 (grub_env_context_open): New function.
19963 (grub_env_context_close): Likewise.
19964 (grub_env_insert): Likewise.
19965 (grub_env_remove): Likewise.
19966 (grub_env_export): Likewise.
19967 (grub_env_set): Changed to use helper functions to avoid code
19968 duplication.
19969 (grub_env_iterate): Rewritten so both the current context and the
19970 global context are being used.
19971
19972 * normal/command.c (export_command): New function.
19973 (grub_command_init): Register the `export' function.
19974
7b455f4d 199752006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19976
19977 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19978 explicitly to suppress gcc's warnings.
19979 * fs/fat.c (grub_fat_find_dir): Likewise.
19980 (grub_fat_label): Likewise.
19981 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19982 (grub_xfs_mount): Likewise.
19983 (grub_xfs_label): Likewise.
19984 * fs/affs.c (grub_affs_mount): Likewise.
19985 (grub_affs_label): Likewise.
19986 (grub_affs_iterate_dir): Likewise.
19987 * fs/sfs.c (grub_sfs_mount): Likewise.
19988 (grub_sfs_iterate_dir): Likewise.
19989 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19990 * fs/hfs.c (grub_hfs_mount): Likewise.
19991 (grub_hfs_cmp_catkeys): Likewise.
19992 (grub_hfs_find_dir): Likewise.
19993 (grub_hfs_dir): Likewise.
19994 (grub_hfs_label): Likewise.
19995 * fs/jfs.c (grub_jfs_mount): Likewise.
19996 (grub_jfs_opendir): Likewise.
19997 (grub_jfs_getent): Likewise.
19998 (grub_jfs_lookup_symlink): Likewise.
19999 (grub_jfs_label): Likewise.
20000 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20001 (grub_hfsplus_iterate_dir): Likewise.
20002 (grub_hfsplus_btree_iterate_node): Made static.
20003
20004 * util/grub-emu.c (prefix): New variable.
20005 (grub_machine_set_prefix): New function.
20006 (main): Do not set the environment variable "prefix" here. Only
20007 set PREFIX, which is used later by grub_machine_set_prefix.
20008
20009 * include/grub/video.h: Do not include grub/symbol.h.
20010 (grub_video_register): Not exported. This symbol is not defined in
20011 the kernel.
20012 (grub_video_unregister): Likewise.
20013 (grub_video_iterate): Likewise.
20014 (grub_video_setup): Likewise.
20015 (grub_video_restore): Likewise.
20016 (grub_video_get_info): Likewise.
20017 (grub_video_get_blit_format): Likewise.
20018 (grub_video_set_palette): Likewise.
20019 (grub_video_get_palette): Likewise.
20020 (grub_video_set_viewport): Likewise.
20021 (grub_video_get_viewport): Likewise.
20022 (grub_video_map_color): Likewise.
20023 (grub_video_map_rgb): Likewise.
20024 (grub_video_map_rgba): Likewise.
20025 (grub_video_fill_rect): Likewise.
20026 (grub_video_blit_glyph): Likewise.
20027 (grub_video_blit_bitmap): Likewise.
20028 (grub_video_blit_render_target): Likewise.
20029 (grub_video_scroll): Likewise.
20030 (grub_video_swap_buffers): Likewise.
20031 (grub_video_create_render_target): Likewise.
20032 (grub_video_delete_render_target): Likewise.
20033 (grub_video_set_active_render_target): Likewise.
20034
20035 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20036 Undefined.
20037 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20038
20039 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20040 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20041 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20042 instead of $(srcdir)/genkernsyms.sh.
20043
20044 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20045 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20046 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20047 instead of $(srcdir)/genkernsyms.sh.
20048
20049 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20050 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20051 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20052 instead of $(srcdir)/genkernsyms.sh.
20053
20054 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20055 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20056 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20057 instead of $(srcdir)/genkernsyms.sh.
20058
20059 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20060 genkernsyms.sh.
20061
20062 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20063 genkernsyms.sh.
20064 (gensymlist.sh): New target.
20065 (genkernsyms.sh): Likewise.
20066
20067 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20068 genkernsyms.sh.in and gensymlist.sh.in.
20069
20070 * genkernsyms.sh: Removed.
20071 * gensymlist.sh: Likewise.
f19dbdb7 20072
7b455f4d 20073 * genkernsyms.sh.in: New file.
20074 * gensymlist.sh.in: Likewise.
20075
1885bb27 200762006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20077
20078 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20079 clobber "prefix", since we may have already set it manually.
20080
71538dff 200812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20082
20083 * kern/misc.c (abort): New alias for grub_abort.
20084
2965c7cc 200852006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20086
20087 A new machine-specific function "grub_machine_set_prefix" is
20088 defined. This is called after loading modules, so that a prefix
20089 initialization can use modules. Also, this change adds an
20090 intensive debugging feature for the memory manager via the
20091 configure option "--enable-mm-debug".
f19dbdb7 20092
2965c7cc 20093 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20094 PART.LEN.
20095
20096 * kern/sparc64/ieee1275/init.c (abort): Removed.
20097 (grub_stop): Likewise.
20098 (grub_exit): New function.
20099 (grub_set_prefix): Renamed to ...
20100 (grub_machine_set_prefix): ... this.
20101 (grub_machine_init): Do not call grub_set_prefix.
20102
20103 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20104 (grub_machine_set_prefix): ... this.
20105 (grub_machine_init): Do not call grub_set_prefix.
20106
20107 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20108 (grub_machine_init): Do not set the prefix here.
20109
20110 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20111
20112 * kern/efi/init.c: Include grub/mm.h.
20113 (grub_efi_set_prefix): New function.
20114
20115 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20116 (grub_efi_get_filename): New function.
20117 (grub_print_device_path): Renamed to ...
20118 (grub_efi_print_device_path): ... this.
20119
20120 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20121 [MM_DEBUG] (grub_realloc): Likewise.
20122 [MM_DEBUG] (grub_free): Likewise.
20123 [MM_DEBUG] (grub_memalign): Likewise.
20124 [MM_DEBUG] (grub_mm_debug): New variable.
20125 [MM_DEBUG] (grub_debug_malloc): New function.
20126 [MM_DEBUG] (grub_debug_free): New function.
20127 [MM_DEBUG] (grub_debug_realloc): New function.
20128 [MM_DEBUG] (grub_debug_memalign): New function.
20129
20130 * kern/misc.c (grub_abort): Print a newline to distinguish
20131 the message.
20132
20133 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20134 grub_set_root_dev after loading modules. This is necessary when
20135 setting a prefix depends on modules.
20136
20137 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20138 (grub_efi_print_device_path): ... this.
20139 (grub_efi_get_filename): New prototype.
20140 (grub_efi_set_prefix): Likewise.
20141
20142 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20143 and grub/disk.h.
20144 (grub_efidisk_get_device_handle): New prototype.
20145 (grub_efidisk_get_device_name): Likewise.
20146
20147 * include/grub/mm.h: Include config.h.
20148 (MM_DEBUG): Removed.
20149 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20150 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20151 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20152 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20153 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20154 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20155 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20156 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20157 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20158
20159 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20160
20161 * disk/efi/efidisk.c: Include grub/partition.h.
20162 (iterate_child_devices): New function.
20163 (add_device): First, compare only last device path nodes, so that
20164 devices are sorted by the types.
20165 (grub_efidisk_get_device_handle): New function.
20166 (grub_efidisk_get_device_name): Likewise.
20167
20168 * configure.ac (--enable-mm-debug): New option to enable the
20169 memory manager debugging feature. This makes the binary much
20170 bigger, so is disabled by default.
20171
9cacaa17 201722006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20173
20174 Use grub_abort instead of grub_stop, and grub_exit must be
20175 define in each architecture now. Also, this change adds support
20176 for EFI disks.
f19dbdb7 20177
9cacaa17 20178 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20179 (grub_getkey): New function.
20180 (grub_term_get_current): Likewise.
20181
20182 * util/i386/pc/grub-setup.c: Include grub/term.h.
20183 (grub_getkey): New function.
20184 (grub_term_get_current): Likewise.
20185
20186 * util/misc.c (grub_stop): Renamed to ...
20187 (grub_exit): ... this.
20188
20189 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20190 (grub_exit): ... this.
20191 (grub_machine_init): Use grub_abort instead of abort.
20192 (grub_stop): Removed.
20193
20194 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20195 abort.
20196
20197 * kern/i386/pc/startup.S (grub_exit): New function.
20198 (cold_reboot): New label.
20199
20200 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20201 (grub_efi_init): Call grub_efidisk_init.
20202 (grub_efi_fini): Call grub_efidisk_fini.
20203
20204 * kern/efi/efi.c: Include grub/mm.h.
20205 (grub_efi_console_control_guid): Renamed to ...
20206 (console_control_guid): ... this.
20207 (grub_efi_loaded_image_guid): Renamed to ...
20208 (loaded_image_guid): ... this.
20209 (grub_efi_locate_handle): New function.
20210 (grub_efi_open_protocol): Likewise.
20211 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20212 GRUB_EFI_CONSOLE_CONTROL_GUID.
20213 (grub_efi_exit): Removed.
20214 (grub_stop): Likewise.
20215 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20216 (grub_exit): New function.
20217 (grub_print_device_path): Likewise.
20218
20219 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20220 (grub_enter_rescue_mode): Register "exit".
20221
20222 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20223 (grub_abort): New function.
20224
20225 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20226
20227 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20228
20229 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20230
20231 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20232 (grub_print_device_path): New prototype.
20233 (grub_efi_locate_handle): Likewise.
20234 (grub_efi_open_protocol): Likewise.
20235
20236 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20237 * disk/efi/efidisk.c: Likewise.
20238
20239 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20240
20241 * include/grub/efi/console_control.h
20242 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20243
20244 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20245 last 8 bytes as an array.
20246 (GRUB_EFI_DISK_IO_GUID): New macro.
20247 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20248 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20249 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20250 grub_uint8_t.
20251 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20252 (struct grub_efi_device_path): Rename the member "sub_type" to
20253 "subtype".
20254 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20255 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20256 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20257 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20258 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20259 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20260 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20261 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20262 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20263 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20264 (struct grub_efi_pci_device_path): New structure.
20265 (grub_efi_pci_device_path_t): New type.
20266 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20267 (struct grub_efi_pccard_device_path): New structure.
20268 (grub_efi_pccard_device_path_t): New type.
20269 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20270 (struct grub_efi_memory_mapped_device_path): New structure.
20271 (grub_efi_memory_mapped_device_path_t): New type.
20272 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20273 (struct grub_efi_vendor_device_path): New structure.
20274 (grub_efi_vendor_device_path_t): New type.
20275 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20276 (struct grub_efi_controller_device_path): New structure.
20277 (grub_efi_controller_device_path_t): New type.
20278 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20279 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20280 (struct grub_efi_acpi_device_path): New structure.
20281 (grub_efi_acpi_device_path_t): New type.
20282 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20283 (struct grub_efi_expanded_acpi_device_path): New structure.
20284 (grub_efi_expanded_acpi_device_path_t): New type.
20285 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20286 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20287 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20288 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20289 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20290 (struct grub_efi_atapi_device_path): New structure.
20291 (grub_efi_atapi_device_path_t): New type.
20292 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20293 (struct grub_efi_fibre_channel_device_path): New structure.
20294 (grub_efi_fibre_channel_device_path_t): New type.
20295 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20296 (struct grub_efi_1394_device_path): New structure.
20297 (grub_efi_1394_device_path_t): New type.
20298 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20299 (struct grub_efi_usb_device_path): New structure.
20300 (grub_efi_usb_device_path_t): New type.
20301 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20302 (struct grub_efi_usb_class_device_path): New structure.
20303 (grub_efi_usb_class_device_path_t): New type.
20304 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20305 (struct grub_efi_i2o_device_path): New structure.
20306 (grub_efi_i2o_device_path_t): New type.
20307 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20308 (struct grub_efi_mac_address_device_path): New structure.
20309 (grub_efi_mac_address_device_path_t): New type.
20310 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20311 (struct grub_efi_ipv4_device_path): New structure.
20312 (grub_efi_ipv4_device_path_t): New type.
20313 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20314 (struct grub_efi_ipv6_device_path): New structure.
20315 (grub_efi_ipv6_device_path_t): New type.
20316 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20317 (struct grub_efi_infiniband_device_path): New structure.
20318 (grub_efi_infiniband_device_path_t): New type.
20319 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20320 (struct grub_efi_uart_device_path): New structure.
20321 (grub_efi_uart_device_path_t): New type.
20322 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20323 (struct grub_efi_vendor_messaging_device_path): New structure.
20324 (grub_efi_vendor_messaging_device_path_t): New type.
20325 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20326 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20327 (struct grub_efi_hard_drive_device_path): New structure.
20328 (grub_efi_hard_drive_device_path_t): New type.
20329 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20330 (struct grub_efi_cdrom_device_path): New structure.
20331 (grub_efi_cdrom_device_path_t): New type.
20332 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20333 (struct grub_efi_vendor_media_device_path): New structure.
20334 (grub_efi_vendor_media_device_path_t): New type.
20335 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20336 (struct grub_efi_file_path_device_path): New structure.
20337 (grub_efi_file_path_device_path_t): New type.
20338 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20339 (struct grub_efi_protocol_device_path): New structure.
20340 (grub_efi_protocol_device_path_t): New type.
20341 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20342 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20343 (struct grub_efi_bios_device_path): New structure.
20344 (grub_efi_bios_device_path_t): New type.
20345 (struct grub_efi_disk_io): New structure.
20346 (grub_efi_disk_io_t): New type.
20347 (struct grub_efi_block_io_media): New structure.
20348 (grub_efi_block_io_media_t): New type.
20349 (struct grub_efi_block_io): New structure.
20350 (grub_efi_block_io_t): New type.
20351
20352 * include/grub/misc.h (grub_stop): Removed.
20353 (grub_exit): New prototype.
20354 (grub_abort): Likewise.
20355
20356 * include/grub/disk.h (enum grub_disk_dev_id): Added
20357 GRUB_DISK_DEVICE_EFIDISK_ID.
20358
20359 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20360 disk/efi/efidisk.c.
20361 (kernel_syms.lst): Remove the target if an error occurs.
20362
49986a9f 203632006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20364
20365 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20366 as it was simply too buggy.
20367
970d3b8a 203682006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20369
20370 * kern/misc.c (grub_lltoa): New function.
20371 (grub_vsprintf): Added support for the long long suffix,
20372 i.e. "ll".
20373
ff04ec24 203742006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20375
20376 * Makefile.in (LDFLAGS): Add variable.
20377 (LD): Remove variable.
20378 * configure.ac: Add -m32 to LDFLAGS.
20379 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20380 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20381 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20382 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20383 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20384 variables.
20385 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20386 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20387 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20388
37e5e1a4 203892006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20390
20391 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20392 length for unknown glyph.
20393
c352d8dd 203942006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20395
2eab1c0d 20396 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20397
2eab1c0d 20398 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20399 completely. Accept one more argument DIR. The caller has changed.
20400
20401 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20402
20403 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20404 (grub_efi_loaded_image_guid): New variable.
20405 (grub_efi_get_loaded_image): New function.
20406 (grub_arch_modules_addr): Likewise.
20407
20408 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20409 prototype.
20410
20411 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20412 (struct grub_efi_loaded_image): New structure.
20413 (grub_efi_loaded_image_t): New type.
20414
204152006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20416
c352d8dd 20417 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20418 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20419 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20420
6d01d6b4 204212006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20422
20423 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20424
976a4ea0 204252006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20426
20427 * DISTLIST: Added include/grub/efi/console.h,
20428 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20429 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20430
20431 * include/grub/efi/console.h: New file.
20432 * include/grub/efi/time.h: Likewise.
20433 * include/grub/i386/efi/kernel.h: Likewise.
20434 * kern/efi/init.c: Likewise.
20435 * kern/efi/mm.c: Likewise.
20436 * term/efi/console.c: Likewise.
f19dbdb7 20437
976a4ea0 20438 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20439 (grub_stop): Removed.
20440 (grub_get_rtc): Likewise.
20441 (grub_machine_init): Simply call grub_efi_init.
20442 (grub_machine_fini): Call grub_efi_fini.
20443
20444 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20445 (grub_efi_output_string): Removed.
20446 (grub_efi_stall): New function.
20447 (grub_stop): Likewise.
20448 (grub_get_rtc): Likewise.
20449
20450 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20451 (grub_efi_stall): New prototype.
20452 (grub_efi_allocate_pages): Likewise.
20453 (grub_efi_free_pages): Likewise.
20454 (grub_efi_get_memory_map): Likewise.
20455 (grub_efi_mm_init): Likewise.
20456 (grub_efi_mm_fini): Likewise.
20457 (grub_efi_init): Likewise.
20458 (grub_efi_fini): Likewise.
20459
20460 * include/grub/i386/efi/time.h: Do not include
20461 grub/symbol.h. Include grub/efi/time.h.
20462 (GRUB_TICKS_PER_SECOND): Removed.
20463 (grub_get_rtc): Likewise.
20464
20465 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20466 Added padding. The EFI spec is buggy.
20467 (GRUB_EFI_BLACK): New macro.
20468 (GRUB_EFI_BLUE): Likewise.
20469 (GRUB_EFI_GREEN): Likewise.
20470 (GRUB_EFI_CYAN): Likewise.
20471 (GRUB_EFI_RED): Likewise.
20472 (GRUB_EFI_MAGENTA): Likewise.
20473 (GRUB_EFI_BROWN): Likewise.
20474 (GRUB_EFI_LIGHTGRAY): Likewise.
20475 (GRUB_EFI_BRIGHT): Likewise.
20476 (GRUB_EFI_DARKGRAY): Likewise.
20477 (GRUB_EFI_LIGHTBLUE): Likewise.
20478 (GRUB_EFI_LIGHTGREEN): Likewise.
20479 (GRUB_EFI_LIGHTCYAN): Likewise.
20480 (GRUB_EFI_LIGHTRED): Likewise.
20481 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20482 (GRUB_EFI_YELLOW): Likewise.
20483 (GRUB_EFI_WHITE): Likewise.
20484 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20485 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20486 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20487 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20488 (GRUB_EFI_BACKGROUND_RED): Likewise.
20489 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20490 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20491 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20492 (GRUB_EFI_TEXT_ATTR): Likewise.
20493
20494 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20495 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20496 (kernel_mod_HEADERS): Added efi/time.h.
20497
83709125 204982006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20499
20500 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20501 include/grub/efi/api.h, include/grub/efi/console_control.h,
20502 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20503 include/grub/i386/efi/time.h, kern/efi/efi.c,
20504 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20505 and util/i386/efi/grub-mkimage.c.
20506
20507 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20508
20509 * genmk.rb (PModule#rule): Do not export symbols if
20510 #{prefix}_EXPORTS is set to "no".
20511
20512 * conf/i386-efi.mk: New file.
20513 * conf/i386-efi.rmk: Likewise.
20514 * include/grub/efi/api.h: Likewise.
20515 * include/grub/efi/console_control.h: Likewise.
20516 * include/grub/efi/efi.h: Likewise.
20517 * include/grub/efi/pe32.h: Likewise.
20518 * include/grub/i386/efi/time.h: Likewise.
20519 * kern/efi/efi.c: Likewise.
20520 * kern/i386/efi/init.c: Likewise.
20521 * kern/i386/efi/startup.S: Likewise.
20522 * util/i386/efi/grub-mkimage.c: Likewise.
20523
205242006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 20525
20526 * include/grub/script.h: Include <grub/parser.h> and
20527 "grub_script.tab.h".
20528 (struct grub_lexer_param): New struct.
20529 (struct grub_parser_param): Likewise.
20530 (grub_script_create_arglist): Pass the state in an argument.
20531 (grub_script_add_arglist): Likewise.
20532 (grub_script_create_cmdline): Likewise.
20533 (grub_script_create_cmdblock): Likewise.
20534 (grub_script_create_cmdif): Likewise.
20535 (grub_script_create_cmdmenu): Likewise.
20536 (grub_script_add_cmd): Likewise.
20537 (grub_script_arg_add): Likewise.
20538 (grub_script_lexer_ref): Likewise.
20539 (grub_script_lexer_deref): Likewise.
20540 (grub_script_lexer_record_start): Likewise.
20541 (grub_script_lexer_record_stop): Likewise.
20542 (grub_script_mem_record): Likewise.
20543 (grub_script_mem_record_stop): Likewise.
20544 (grub_script_malloc): Likewise.
20545 (grub_script_yylex): Likewise.
20546 (grub_script_yyparse): Likewise.
20547 (grub_script_yyerror): Likewise.
20548 (grub_script_yylex): Likewise.
20549 (grub_script_lexer_init): Return the state.
20550
20551 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20552 (grub_script_lexer_done): Likewise.
20553 (grub_script_lexer_getline): Likewise.
20554 (grub_script_lexer_refs): Likewise.
20555 (script): Likewise.
20556 (newscript): Likewise.
20557 (record): Likewise.
20558 (recording): Likewise.
20559 (recordpos): Likewise.
20560 (recordlen): Likewise.
20561 (grub_script_lexer_init): Return the state instead of setting
20562 global variables.
20563 (grub_script_lexer_ref): Use the newly added argument for state
20564 instead of globals.
20565 (grub_script_lexer_deref): Likewise.
20566 (grub_script_lexer_record_start): Likewise.
20567 (grub_script_lexer_record_stop): Likewise.
20568 (recordchar): Likewise.
20569 (nextchar): Likewise.
20570 (grub_script_yylex2): Likewise.
20571 (grub_script_yylex): Likewise.
20572 (grub_script_yyerror): Likewise.
20573
20574 * normal/parser.y (func_mem): Removed variable.
20575 (menu_entry): Likewise.
20576 (err): Likewise.
20577 (%lex-param): New parser option.
20578 (%parse-param): Likewise.
20579 (script): Always return the AST.
20580 (argument): Pass the state around.
20581 (arguments): Likewise.
20582 (grubcmd): Likewise.
20583 (commands): Likewise.
20584 (function): Likewise.
20585 (menuentry): Likewise.
20586 (if_statement): Likewise.
20587 (if): Likewise.
20588
20589 * normal/script.c (grub_script_memused): Removed variable.
20590 (grub_script_parsed): Likewise.
20591 (grub_script_malloc): Added a state argument. Use that instead of
20592 global variables.
20593 (grub_script_mem_record): Likewise.
20594 (grub_script_mem_record_stop): Likewise.
20595 (grub_script_arg_add): Likewise.
20596 (grub_script_add_arglist): Likewise.
20597 (grub_script_create_cmdline): Likewise.
20598 (grub_script_create_cmdif): Likewise.
20599 (grub_script_create_cmdmenu): Likewise.
20600 (grub_script_add_cmd): Likewise.
20601 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 20602
e2a8c904 206032006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 20604
20605 * normal/command.c (grub_command_init): Remove the title command.
20606
20607 * normal/lexer.c (grub_script_yylex): Renamed from this...
20608 (grub_script_yylex2): ... to this.
20609 (grub_script_yylex): New function. Temporary
20610 introduced to filter some tokens.
20611 (grub_script_yyerror): Print a newline.
20612
20613 * normal/main.c (read_config_file): Output information about the
20614 lines that contain errors. Wait for a key after all lines have
20615 been processed. Don't return an empty menu.
20616
20617 * normal/parser.y (func_mem): Don't initialize.
20618 (menu_entry): Likewise.
20619 (err): New variable.
20620 (script): Don't return anything when an error was encountered.
20621 (ws, returns): Removed rules.
20622 (argument): Disabled concatenated variable support.
20623 (arguments): Remove explicit separators.
20624 (grubcmd): Likewise.
20625 (function): Likewise.
20626 (menuentry): Likewise.
20627 (if): Likewise.
20628 (commands): Likewise. Add error handling.
20629
20630 * normal/script.c (grub_script_create_cmdline): If
20631 `grub_script_parsed' is 0, assume the parser encountered an error.
20632
c9a86192 206332006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20634
20635 * configure.ac: Add support for EFI. Fix the typo
20636 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20637
70f3b243 206382006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20639
20640 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20641 foreign multibyte characters should be shown correctly.
20642
65f201ad 206432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20644
20645 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20646 calculation.
20647 (read_config_file): Made it to close file before returning.
20648
b4b93674 206492006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20650
20651 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20652 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20653 video/i386/pc/vbefill.c.
20654
20655 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20656 video/i386/pc/vbefill.c.
20657
20658 * include/grub/video.h (grub_video_blit_format): New enum.
20659 (grub_video_mode_info): Added new member blit_format.
20660 (grub_video_get_blit_format): New function prototype.
20661
20662 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20663 function prototype.
20664 (grub_video_vbe_map_rgb): Likewise.
20665 (grub_video_vbe_unmap_color): Likewise.
20666
20667 * include/grub/i386/pc/vbeblit.h: New file.
20668
20669 * include/grub/i386/pc/vbefill.h: New file.
20670
20671 * video/video.c (grub_video_get_blit_format): New function.
20672 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20673 (grub_video_vbe_map_rgb): Likewise.
20674 (grub_video_vbe_unmap_color): Likewise.
20675
20676 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20677 optimized fills.
20678 (grub_video_vbe_blit_render_target): Changed to use more optimized
20679 blits.
20680 (grub_video_vbe_setup): Added detection for optimized settings.
20681 (grub_video_vbe_create_render_target): Likewise.
20682
20683 * video/i386/pc/vbeblit.c: New file.
20684
20685 * video/i386/pc/vbefill.c: New file.
20686
c2379b9c 206872006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20688
20689 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20690 here...
20691
20692 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20693 parsing to support both hex and dec ranges. If filename was missing
20694 show usage information.
20695
bd0d7896 206962006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20697
20698 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20699 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20700
20701 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20702 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20703 (video_mod_SOURCES): Added.
20704 (video_mod_CFLAGS): Likewise.
20705 (video_mod_LDFLAGS): Likewise.
20706 (gfxterm_mod_SOURCES): Likewise.
20707 (gfxterm_mod_CFLAGS): Likewise.
20708 (gfxterm_mod_LDFLAGS): Likewise.
20709 (videotest_mod_SOURCES): Likewise.
20710 (videotest_mod_CFLAGS): Likewise.
20711 (videotest_mod_LDFLAGS): Likewise.
20712 (vesafb_mod_SOURCES): Removed.
20713 (vesafb_mod_CFLAGS): Likewise.
20714 (vesafb_mod_LDFLAGS): Likewise.
20715 (vga_mod_SOURCES): Likewise.
20716 (vga_mod_CFLAGS): Likewise.
20717 (vga_mod_LDFLAGS): Likewise.
20718
20719 * commands/videotest.c: New file.
20720
20721 * font/manager.c (fill_with_default_glyph): Modified to use
20722 grub_font_glyph.
20723 (grub_font_get_glyph): Likewise.
20724 (fontmanager): Renamed from this...
20725 (font_manager): ... to this.
20726
20727 * include/grub/font.h (grub_font_glyph): Added new structure.
20728 (grub_font_get_glyph): Modified to use grub_font_glyph.
20729
20730 * include/grub/misc.h (grub_abs): Added as inline function.
20731
20732 * include/grub/video.h: New file.
20733
20734 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20735 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20736 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20737 (grub_vbe_get_controller_info): Renamed from this...
20738 (grub_vbe_bios_get_controller_info): ... to this.
20739 (grub_vbe_get_mode_info): Renamed from this...
20740 (grub_vbe_bios_get_mode_info): ... to this.
20741 (grub_vbe_set_mode): Renamed from this...
20742 (grub_vbe_bios_set_mode): ... to this.
20743 (grub_vbe_get_mode): Renamed from this...
20744 (grub_vbe_bios_get_mode): ... to this.
20745 (grub_vbe_set_memory_window): Renamed from this...
20746 (grub_vbe_bios_set_memory_window): ... to this.
20747 (grub_vbe_get_memory_window): Renamed from this...
20748 (grub_vbe_bios_get_memory_window): ... to this.
20749 (grub_vbe_set_scanline_length): Renamed from this...
20750 (grub_vbe_set_scanline_length): ... to this.
20751 (grub_vbe_get_scanline_length): Renamed from this...
20752 (grub_vbe_bios_get_scanline_length): ... to this.
20753 (grub_vbe_set_display_start): Renamed from this...
20754 (grub_vbe_bios_set_display_start): ... to this.
20755 (grub_vbe_get_display_start): Renamed from this...
20756 (grub_vbe_bios_get_display_start): ... to this.
20757 (grub_vbe_set_palette_data): Renamed from this...
20758 (grub_vbe_bios_set_palette_data): ... to this.
20759 (grub_vbe_set_pixel_rgb): Removed.
20760 (grub_vbe_set_pixel_index): Likewise.
20761
20762 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20763 from this...
20764 (grub_vbe_bios_get_controller_info): ... to this.
20765 (grub_vbe_get_mode_info): Renamed from this...
20766 (grub_vbe_bios_get_mode_info): ... to this.
20767 (grub_vbe_set_mode): Renamed from this...
20768 (grub_vbe_bios_set_mode): ... to this.
20769 (grub_vbe_get_mode): Renamed from this...
20770 (grub_vbe_bios_get_mode): ... to this.
20771 (grub_vbe_set_memory_window): Renamed from this...
20772 (grub_vbe_bios_set_memory_window): ... to this.
20773 (grub_vbe_get_memory_window): Renamed from this...
20774 (grub_vbe_bios_get_memory_window): ... to this.
20775 (grub_vbe_set_scanline_length): Renamed from this...
20776 (grub_vbe_set_scanline_length): ... to this.
20777 (grub_vbe_get_scanline_length): Renamed from this...
20778 (grub_vbe_bios_get_scanline_length): ... to this.
20779 (grub_vbe_set_display_start): Renamed from this...
20780 (grub_vbe_bios_set_display_start): ... to this.
20781 (grub_vbe_get_display_start): Renamed from this...
20782 (grub_vbe_bios_get_display_start): ... to this.
20783 (grub_vbe_set_palette_data): Renamed from this...
20784 (grub_vbe_bios_set_palette_data): ... to this.
20785 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20786 getting corrupted after calling it. Added more pushes and pops.
20787 (grub_vbe_bios_set_mode): Likewise.
20788 (grub_vbe_bios_get_mode): Likewise.
20789 (grub_vbe_bios_get_memory_window): Likewise.
20790 (grub_vbe_bios_set_scanline_length): Likewise.
20791 (grub_vbe_bios_get_scanline_length): Likewise.
20792 (grub_vbe_bios_get_display_start): Likewise.
20793 (grub_vbe_bios_set_palette_data): Likewise.
20794
20795 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20796 (cl_insert): Likewise.
20797 (cl_delete): Likewise.
20798
20799 * term/gfxterm.c: New file.
20800
20801 * term/i386/pc/vesafb.c: Removed file.
20802
20803 * video/video.c: New file.
20804
20805 * video/i386/pc/vbe.c (real2pm): Added new function.
20806 (grub_video_vbe_draw_pixel): Likewise.
20807 (grub_video_vbe_get_video_ptr): Likewise.
20808 (grub_video_vbe_get_pixel): Likewise
20809 (grub_video_vbe_init): Likewise.
20810 (grub_video_vbe_fini): Likewise.
20811 (grub_video_vbe_setup): Likewise.
20812 (grub_video_vbe_get_info): Likewise.
20813 (grub_video_vbe_set_palette): Likewise.
20814 (grub_video_vbe_get_palette): Likewise.
20815 (grub_video_vbe_set_viewport): Likewise.
20816 (grub_video_vbe_get_viewport): Likewise.
20817 (grub_video_vbe_map_color): Likewise.
20818 (grub_video_vbe_map_rgb): Likewise.
20819 (grub_video_vbe_map_rgba): Likewise.
20820 (grub_video_vbe_unmap_color): Likewise.
20821 (grub_video_vbe_fill_rect): Likewise.
20822 (grub_video_vbe_blit_glyph): Likewise.
20823 (grub_video_vbe_blit_bitmap): Likewise.
20824 (grub_video_vbe_blit_render_target): Likewise.
20825 (grub_video_vbe_scroll): Likewise.
20826 (grub_video_vbe_swap_buffers): Likewise.
20827 (grub_video_vbe_create_render_target): Likewise.
20828 (grub_video_vbe_delete_render_target): Likewise.
20829 (grub_video_vbe_set_active_render_target): Likewise.
20830 (grub_vbe_set_pixel_rgb): Remove function.
20831 (grub_vbe_set_pixel_index): Likewise.
20832 (index_color_mode): Remove static variable.
20833 (active_mode): Likewise.
20834 (framebuffer): Likewise.
20835 (bytes_per_scan_line): Likewise.
20836 (grub_video_vbe_adapter): Added new static variable.
20837 (framebuffer): Likewise.
20838 (render_target): Likewise.
20839 (initial_mode): Likewise.
20840 (mode_in_use): Likewise.
20841 (mode_list): Likewise.
20842
5f97350b 208432006-03-10 Marco Gerards <marco@gnu.org>
20844
20845 * configure.ac (AC_INIT): Bumped to 1.93.
20846
20847 * DISTLIST: Added `include/grub/hfs.h'.
20848
a3c5c6f8 208492006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20850
20851 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20852 18H, which might help the BIOS falling back to next boot media.
20853
6de53d26 208542006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20855
20856 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20857 Poe Chen <poe.poechen@gmail.com>.
20858
77c4a393 208592006-01-17 Marco Gerards <marco@gnu.org>
20860
20861 * include/grub/normal.h: Include <grub/script.h>.
20862 (grub_command_list): Removed struct.
20863 (grub_command_list_t): Removed type.
20864 (grub_menu_entry): Remove members `num' and `command_list'. Add
20865 members `commands' and `sourcecode'.
20866 * include/grub/script.h: Add inclusion guards.
20867 (grub_script_cmd_menuentry): New struct.
20868 (grub_script_execute_menuentry): New prototype.
20869 (grub_script_lexer_record_start): Likewise.
20870 (grub_script_lexer_record_stop): Likewise.
20871 * normal/execute.c (grub_script_execute_menuentry): New function.
20872 * normal/lexer.c (record, recording, recordpos, recordlen): New
20873 variables.
20874 (grub_script_lexer_record_start): New function.
20875 (grub_script_lexer_record_stop): Likewise.
20876 (recordchar): Likewise.
20877 (nextchar): Likewise.
20878 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20879 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20880 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20881 (current_menu): New variable.
20882 (free_menu): Mainly rewritten.
20883 (grub_normal_menu_addentry): New function.
20884 (read_config_file): Rewritten.
20885 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20886 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20887 the menu entry.
20888 (run): Mainly rewritten.
20889 * normal/parser.y (menu_entry): New variable.
20890 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20891 (menuentry): New rule.
20892 (command): Add `menuentry'.
20893 (if_statement): Allow additional returns before `fi'.
20894 * normal/script.c (grub_script_create_cmdmenu): New function.
20895
144f1f98 208962006-01-03 Marco Gerards <marco@gnu.org>
20897
20898 * INSTALL: GNU Bison is required.
20899 * configure.ac: Rewritten the test to detect Bison.
20900 * Makefile.in (YACC): New variable. Reported by Xun Sun
20901 <xun.sun.cn@gmail.com>.
20902
af4b2d89 209032006-01-03 Marco Gerards <marco@gnu.org>
20904
20905 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20906 the HFS+ filesystem to filesystem blocks.
20907 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20908 GCC warning is silenced.
20909
15643b71 209102006-01-03 Marco Gerards <marco@gnu.org>
20911
20912 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20913 read from disk from big endian to host byte order.
20914
00905879 209152006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20916
20917 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20918 documentation.
20919 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20920 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20921 embedded HFS+ filesystem.
20922 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20923 (grub_hfs_sblock): Move from here...
20924 * include/grub/hfs.h: To here... New file.
20925 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20926 documentation.
20927 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20928 New macros.
20929 (grub_hfsplus_volheader): Change type of member `magic' to
20930 `grub_uint16_t'.
20931 (grub_hfsplus_data): Add new member `embedded_offset'.
20932 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20933 returned block.
20934 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20935 Calculate the offset.
20936
8899bc3e 209372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20938
20939 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20940 Removed.
20941 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20942
ae8c0277 209432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20944
20945 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20946 ENV->NAME is NULL after allocating ENV->VALUE.
20947
07084456 209482005-12-25 Marco Gerards <marco@gnu.org>
20949
20950 * kern/env.c (grub_env_set): Rewritten the error handling code.
20951
4750f5f1 209522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20953
20954 * geninit.sh: Made more robust, and more portable.
20955
50214199 209562005-12-25 Marco Gerards <marco@gnu.org>
20957
20958 Add support for Apple HFS+ filesystems.
f19dbdb7 20959
50214199 20960 * fs/hfsplus.c: New file.
20961
20962 * DISTLIST: Added `fs/hfsplus.c'.
20963
20964 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20965 (hfsplus_mod_SOURCES): New variable.
20966 (hfsplus_mod_CFLAGS): Likewise.
20967 (hfsplus_mod_LDFLAGS): Likewise.
20968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20969 (grub_setup_SOURCES): Likewise.
20970 (grub_mkdevicemap_SOURCES): Likewise.
20971 (grub_emu_SOURCES): Likewise.
20972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20973
20974 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20975
20976 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20977
befaed6c 209782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20979
20980 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20981 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20982 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20983 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20984 normal/lexer.c, normal/parser.y, normal/script.c, and
20985 partmap/gpt.c.
20986 Removed kern/sparc64/cache.c.
20987
20988 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20989 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20990 grub_emu_init.c.
20991
20992 * configure.ac (AC_INIT): Bumped to 1.92.
20993
6a124103 209942005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20995
20996 * kern/err.c (grub_error_push): Added new function to support error
20997 stacks.
20998 (grub_error_pop): Likewise.
20999 (grub_error_stack_items): New local variable to support error stacks.
21000 (grub_error_stack_pos): Likewise.
21001 (grub_error_stack_assert): Likewise.
21002 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21003 stack depth.
21004 (grub_print_error): Added support to print errors from error stack.
21005
21006 * include/grub/err.h (grub_error_push): Added function prototype.
21007 (grub_error_pop): Likewise.
21008
be973c1b 210092005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21010
21011 * configure.ac: Accept `powerpc64' as host_cpu.
21012 (amd64): Rename to `biarch32'.
21013
21014 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21015 non-cacheline-aligned addresses.
21016
21017 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21018 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21019 if `size' is non-zero.
21020
b04216ab 210212005-12-03 Marco Gerards <mgerards@xs4all.nl>
21022
21023 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21024 and `cd' to make sure the filename is not prefixed with a
21025 directory name.
21026 (pkgdata_MODULES): Add `gpt.mod'.
21027 (gpt_mod_SOURCES): New variable.
21028 (gpt_mod_CFLAGS): Likewise.
21029 (gpt_mod_LDFLAGS): Likewise.
21030
21031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21032
21033 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21034 New macro.
21035
21036 * partmap/gpt.c: New file.
21037
21038 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21039 GPT partition map is detected.
21040
41730ed9 210412005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21042
21043 * commands/i386/pc/play.c: New file.
21044 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21045 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21046 macros.
f19dbdb7 21047
95dc3643 210482005-11-27 Marco Gerards <mgerards@xs4all.nl>
21049
21050 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21051 ((unused))' to silence gcc warning.
21052
1569ec51 210532005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21054
21055 * configure.ac: Correct `AC_PROG_YACC' test.
21056
9abde152 210572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21058
21059 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21060 check before installing files.
21061
44b83271 210622005-11-22 Mike Small <smallm@panix.com>
21063
21064 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21065 number regex so multidigit numbers are recognized correctly.
21066
210672005-11-22 Mike Small <smallm@panix.com>
21068
21069 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21070 debugging message before attempting to claim memory.
21071 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21072 multiple addresses in case of failure.
21073
9c12956b 210742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21075
21076 * term/tparm.c (get_space): Remove empty `if' statement.
21077
21078 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21079
21080 * kern/parser.c (check_varstate): Rename `state' to 's'.
21081
aeaf81d9 210822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21083
21084 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21085 variable definitions to the beginning of each function. Sort stack
21086 variables by size.
21087 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21088 `buf' argument to `char *'.
21089
79bbb63f 210902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21091
21092 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21093 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21094 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21095 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21096 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21097 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21098 configfile.mod, search.mod, gzio.mod and test.mod.
21099 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21100 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21101 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21102 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21103 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21104 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21105 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21106 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21107 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21108 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21109 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21110 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21111 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21112 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21113 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21114 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21115 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21116 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21117 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21118 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21119 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21120 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21121 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21122
21123 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21124 `grep --include'.
21125 (pkgdata_MODULES): Add test.mod.
21126
233b1628 211272005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21128
21129 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21130 appending to variables with "+=".
21131 (PModule): Use full pathname to generate *.lst filenames.
21132
21133 * Makefile.in: Fixed list rules moved from genmk.rb.
21134 (.DELETE_ON_ERROR): New special target.
21135 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21136
21137 * conf/i386-pc.rmk: Include conf/common.mk.
21138 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21139 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21140 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21141 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21142 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21143 configfile.mod, search.mod, gzio.mod and test.mod.
21144 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21145 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21146 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21147 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21148 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21149 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21150 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21151 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21152 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21153 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21154 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21155 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21156 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21157 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21158 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21159 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21160 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21161 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21162 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21163 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21164 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21165 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21166 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21167 here...
21168 * conf/common.rmk: ... to here. New file.
21169
21170 * conf/common.mk: New file.
21171
16f820c8 211722005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21173
21174 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21175 (grub_script.tab.c): ... here.
21176
21177 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21178 (grub_script.tab.c): ... here.
21179
21180 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21181 (grub_script.tab.c): ... here.
21182
21183 * normal/command.c (grub_command_find): Fixed a memory leak of
21184 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21185
63ba1554 211862005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21187
21188 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21189 "@" which marks the start of a comment on ARM.
21190 (VARIABLE): Likewise.
21191
7f67dc13 211922005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21193
79bbb63f 21194 Add support for Linux/ADFS partition tables.
7f67dc13 21195
21196 * partmap/acorn.c: New file.
21197
21198 * include/grub/acorn_filecore.h: Likewise.
21199
21200 * DISTLIST: Added `partmap/acorn.c' and
21201 `include/grub/acorn_filecore.h'.
f19dbdb7 21202
7f67dc13 21203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21204 `partmap/acorn.c'.
21205 (pkgdata_MODULES): Add `acorn.mod'.
21206 (acorn_mod_SOURCES): New variable.
21207 (acorn_mod_CFLAGS): Likewise.
21208
21209 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21210 `partmap/acorn.c'.
21211 (pkgdata_MODULES): Add `acorn.mod'.
21212 (acorn_mod_SOURCES): New variable.
21213 (acorn_mod_CFLAGS): Likewise.
21214
21215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21216 (pkgdata_MODULES): Add `acorn.mod'.
21217 (acorn_mod_SOURCES): New variable.
21218 (acorn_mod_CFLAGS): Likewise.
21219 (acorn_mod_LDFLAGS): Likewise.
21220
21221 * include/types.h (grub_disk_addr_t): New typedef.
21222
6d099807 212232005-11-13 Marco Gerards <mgerards@xs4all.nl>
21224
21225 * geninit.sh: New file.
21226
21227 * geninitheader.sh: Likewise.
21228
21229 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21230 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21231 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21232 * commands/configfile.c (grub_configfile_init)
21233 (grub_configfile_fini): Likewise.
21234 * commands/default.c (grub_default_init, grub_default_fini):
21235 Likewise.
21236 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21237 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21238 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21239 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21240 Likewise.
21241 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21242 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21243 Likewise.
21244 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21245 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21246 Likewise.
21247 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21248 Likewise.
fe6b695a 21249 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21250 Likewise.
21251 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21252 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21253 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21254 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21255 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21256 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21257 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21258 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21259 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21260 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21261 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21262 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21263 * partmap/amiga.c (grub_amiga_partition_map_init)
21264 (grub_amiga_partition_map_fini): Likewise.
21265 * partmap/apple.c (grub_apple_partition_map_init)
21266 (grub_apple_partition_map_fini): Likewise.
21267 * partmap/pc.c (grub_pc_partition_map_init)
21268 (grub_pc_partition_map_fini): Likewise.
21269 * partmap/sun.c (grub_sun_partition_map_init,
21270 grub_sun_partition_map_fini): Likewise.
21271 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21272 Likewise.
21273
21274 * util/grub-emu.c: Include <grub_modules_init.h>.
21275 (main): Don't initialize and de-initialize any modules directly,
21276 use `grub_init_all' and `grub_fini_all' instead.
21277
21278 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21279 `grub_vesafb_mod_init'.
21280 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21281 all users.
21282 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21283 `grub_vga_mod_init'. Updated all users.
21284 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21285
6d099807 21286 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21287 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21288 rules.
21289
21290 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21291 Generate a function to initialize the module in utilities.
21292 Updated all callers.
21293 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21294 initialize the module in utilities. Updated all callers.
21295
9046bcf0 212962005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21297
21298 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21299 escape sequence and a literal ^L to clear the screen.
21300
21301 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21302 when returning from Open Firmware.
21303
d13ea639 213042005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21305
21306 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21307 (grub_ofconsole_height): Likewise.
21308 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21309 manually insert a '\n'.
21310 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21311 `grub_ofconsole_height'. Return early if these are already set.
21312
a8fcf206 213132005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21314
21315 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21316 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21317 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21318 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21319 and `normal/script.c'.
21320 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21321 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21322 (test_mod_SOURCES): New variable.
21323 (test_mod_CFLAGS): Likewise.
21324 (test_mod_LDFLAGS): Likewise.
21325 (pkgdata_MODULES): Add `test.mod'.
21326 (grub_script.tab.c): New rule.
21327 (grub_script.tab.h): Likewise.
21328
b6b32745 213292005-11-07 Marco Gerards <mgerards@xs4all.nl>
21330
21331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21332 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21333 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21334 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21335 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21336 (test_mod_SOURCES): New variable.
21337 (test_mod_CFLAGS): Likewise.
21338 (pkgdata_MODULES): Add `test.mod'.
21339 (grub_script.tab.c): New rule.
21340 (grub_script.tab.h): Likewise.
21341
daac212a 213422005-11-06 Marco Gerards <mgerards@xs4all.nl>
21343
21344 Add initial scripting support.
21345
21346 * commands/test.c: New file.
21347 * include/grub/script.h: Likewise.
21348 * normal/execute.c: Likewise.
21349 * normal/function.c: Likewise.
21350 * normal/lexer.c: Likewise.
21351 * normal/parser.y: Likewise.
21352 * normal/script.c: Likewise.
21353
21354 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21355
daac212a 21356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21357 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21358 `normal/function.c' and `normal/script.c'.
21359 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21360 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21361 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21362 variables.
daac212a 21363 (pkgdata_MODULES): Add `test.mod'.
21364 (grub_script.tab.c): New rule.
21365 (grub_script.tab.h): Likewise.
21366
21367 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21368
21369 * include/grub/normal.h (grub_test_init): New prototype.
21370 (grub_test_fini): Likewise.
f19dbdb7 21371
daac212a 21372 * normal/command.c: Include <grub/script.h>.
21373 (grub_command_execute): Rewritten.
f19dbdb7 21374
daac212a 21375 * util/grub-emu.c (main): Call `grub_test_init' and
21376 `grub_test_fini'.
21377
77500b2b 213782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21379
21380 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21381 to 0.
21382 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21383 there are no pending characters.
21384
e45deb9e 213852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21386
21387 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21388 `grub_strndup' to drop device arguments. Replace unnecessary
21389 `grub_strndup' with `grub_strdup'.
21390
4ce32619 213912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21392
21393 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21394 `debug' environment variable has been set.
21395
213962005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21397
4ce32619 21398 * Makefile.in (install-local): Use $(DATA).
21399 (uninstall): Likewise.
21400 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21401 (sbin_UTILITIES): ... to here.
21402 (sbin_SCRIPTS): New variable.
21403 (grub_install_SOURCES): New variable.
21404 * util/powerpc/ieee1275/grub-install.in: New file.
21405 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21406 variable.
21407 (add_segments): Call `grub_util_get_path'.
21408
25fe6f03 214092005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21410
21411 From Timothy Baldwin:
21412 * commands/ls.c (grub_ls_list_files): Close FILE with
21413 grub_file_close.
21414 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21415
04ccf3ec 214162005-10-24 Marco Gerards <mgerards@xs4all.nl>
21417
21418 * include/grub/parser.h: New file.
21419
21420 * kern/parser.c: Likewise.
21421
21422 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21423 (grub_setup_SOURCES): Likewise.
21424 (grub_probefs_SOURCES): Likewise.
21425 (grub_emu_SOURCES): Likewise.
21426 (kernel_img_HEADERS): Add `parser.h'.
21427
21428 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21429 (grub_emu_SOURCES): Add `kern/parser.c'.
21430 (grubof_SOURCES): Likewise.
21431
21432 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21433 (grubof_SOURCES): Add `kern/parser.c'.
21434
21435 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21436
21437 * kern/misc.c (grub_split_cmdline): Removed function.
21438
21439 * kern/rescue.c: Include <grub/parser.h>.
21440 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21441 of `grub_split_cmdline'.
21442
21443 * normal/command.c: Include <grub/parser.h>.
21444 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21445 of `grub_split_cmdline'.
21446
21447 * normal/completion.c: Include <grub/parser.h>.
21448 (cmdline_state): New variable.
21449 (iterate_dir): End the filename with a quote depending on the
21450 command line state.
21451 (get_state): new function.
21452 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21453 split the arguments and determine the current argument. When the
21454 argument string is not quoted, escape all spaces.
21455
6d8f4b0e 214562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21457
21458 * normal/sparc64/setjmp.S: New file.
21459
15cf03ed 214602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21461
21462 * include/grub/sparc64/libgcc.h: New file.
21463 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21464 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21465 normal/sparc64/setjmp.c.
21466
03e8661a 214672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21468
21469 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21470 * kern/sparc64/cache.S: New file.
21471 * kern/sparc64/cache.c: Removed.
21472 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21473 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21474 -mtune=ultrasparc.
21475 (COMMON_LDFLAGS): Add -melf64_sparc.
21476 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21477 (grubof_SOURCES): Use cache.S instead of cache.c.
21478 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21479 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21480 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21481 commented though.
21482 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21483 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21484 (linux_mod_CFLAGS): Commented out.
21485 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21486 out because module isn't built.
21487 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21488 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21489 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21490 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21491 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21492 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21493 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21494 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21495 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21496 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21497 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21498 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21499 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21500 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21501
34eeec8a 215022005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21503
21504 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21505 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21506 longer, because HFS should not be used on PC.
21507
708367a3 215082005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21509
21510 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21511 consistently within the loop.
21512
6fa1251a 215132005-10-15 Marco Gerards <mgerards@xs4all.nl>
21514
21515 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21516 directory can not be read.
21517
4801580b 215182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21519
21520 * configure.ac (AC_INIT): Increase the version number to 1.91.
21521
21522 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21523 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21524 term/i386/pc/serial.c.
21525
219ad426 215262005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21527
21528 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21529 file size must be permitted.
21530
21531 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21532 between %ah and %al.
21533
688e5699 215342005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21535
21536 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21537 grub_uint64_t.
21538 Call the hook with a NUL-terminated filename.
21539 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21540 grub_cpu_to_be32.
21541
21542 * kern/term.c (cursor_state): New variable.
21543 (grub_term_set_current): Reset the cursor state on a new
21544 terminal.
21545 (grub_setcursor): Rewritten to use CURSOR_STATE.
21546 (grub_getcursor): New function.
21547
21548 * include/grub/term.h (grub_getcursor): New prototype.
21549
21550 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21551 integers on ARM. Reported by Timothy Baldwin
21552 <T.E.Baldwin99@members.leeds.ac.uk>.
21553
bb34586c 215542005-10-11 Marco Gerards <mgerards@xs4all.nl>
21555
21556 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21557 allocated.
21558 (grub_sfs_dir): Likewise.
21559
9a909877 215602005-10-09 Marco Gerards <mgerards@xs4all.nl>
21561
21562 Add support for the SFS filesystem.
21563
21564 * fs/sfs.c: New file.
21565
21566 * DISTLIST: Added `fs/sfs.c'.
21567
21568 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21569 (grub_probefs_SOURCES): Likewise.
21570 (grub_emu_SOURCES): Likewise.
21571 (pkgdata_MODULES): Add `sfs.mod'.
21572 (sfs_mod_SOURCES): New variable.
21573 (sfs_mod_CFLAGS): Likewise.
21574 (sfs_mod_LDFLAGS): Likewise.
21575
21576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21577 (pkgdata_MODULES): Add `sfs.mod'.
21578 (sfs_mod_SOURCES): New variable.
21579 (sfs_mod_CFLAGS): Likewise.
21580
21581 * util/grub-emu.c (main): Call `grub_sfs_init' and
21582 `grub_sfs_fini'.
21583
21584 * include/grub/fs.h (grub_sfs_init): New prototype.
21585 (grub_sfs_fini): Likewise.
21586
57bdbde3 215872005-10-07 Marco Gerards <mgerards@xs4all.nl>
21588
21589 Add support for the AFFS filesystem.
21590
21591 * fs/affs.c: New file.
21592
21593 * DISTLIST: Added `fs/affs.c'.
21594
21595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21596 (grub_probefs_SOURCES): Likewise.
21597 (grub_emu_SOURCES): Likewise.
21598 (pkgdata_MODULES): Add `affs.mod'.
21599 (affs_mod_SOURCES): New variable.
21600 (affs_mod_CFLAGS): Likewise.
21601 (affs_mod_LDFLAGS): Likewise.
21602
21603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21604 (pkgdata_MODULES): Add `affs.mod'.
21605 (affs_mod_SOURCES): New variable.
21606 (affs_mod_CFLAGS): Likewise.
21607
21608 * util/grub-emu.c (main): Call `grub_affs_init' and
21609 `grub_affs_fini'.
21610
21611 * include/grub/fs.h (grub_affs_init): New prototype.
21612 (grub_affs_fini): Likewise.
21613
047b67e0 216142005-10-01 Marco Gerards <mgerards@xs4all.nl>
21615
21616 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21617
59b8208a 216182005-10-01 Marco Gerards <mgerards@xs4all.nl>
21619
21620 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21621 `-m32' to CFLAGS.
21622
21623 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21624 linking.
f19dbdb7 21625
59b8208a 21626 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21627 (COMMON_LDFLAGS): New variable.
21628 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21629 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21630 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21631 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21632 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21633 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21634 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21635 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21636 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21637 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21638 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21639 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21640 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21641 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21642 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21643 variables.
21644 (normal_mod_ASFLAGS): Add `-m32'.
21645
21646 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21647 (grub_host_size_t, grub_host_ssize_t): New types.
21648 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 21649 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 21650 `GRUB_HOST_SIZEOF_VOID_P'.
21651
21652 * include/grub/kernel.h (struct grub_module_header): Type of
21653 member offset changed to `grub_host_off_t'. Type of member size
21654 changed to `grub_host_size_t'.
21655 (struct grub_module_info): Type of member offset changed to
21656 `grub_host_off_t'. Type of member size changed to
21657 `grub_host_size_t'.
21658
b4093103 216592005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21660
21661 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 21662
b4093103 21663 * kern/i386/pc/startup.S (multiboot_header): New label.
21664 (multiboot_entry): Likewise.
21665 (multiboot_trampoline): Likewise.
21666
21667 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21668 Increased to 0x4A0.
21669
21670 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21671 put parentheses after a question mark.
21672 [!GRUB_UTIL] (my_mod): New variable.
21673
21674 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21675
b2499b29 216762005-09-28 Marco Gerards <mgerards@xs4all.nl>
21677
21678 Adds support for the XFS filesystem. Btrees are not supported
21679 yet.
21680
21681 * fs/xfs.c: New file.
21682
21683 * DISTLIST: Added `fs/xfs.c'.
21684
21685 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21686 (grub_probefs_SOURCES): Likewise.
21687 (grub_emu_SOURCES): Likewise.
21688 (pkgdata_MODULES): Add `xfs.mod'.
21689 (xfs_mod_SOURCES): New variable.
21690 (xfs_mod_CFLAGS): Likewise.
21691
21692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21693 (pkgdata_MODULES): Add `xfs.mod'.
21694 (xfs_mod_SOURCES): New variable.
21695 (xfs_mod_CFLAGS): Likewise.
21696
21697 * util/grub-emu.c (main): Call `grub_xfs_init' and
21698 `grub_xfs_fini'.
21699
21700 * include/grub/fs.h (grub_xfs_init): New prototype.
21701 (grub_xfs_fini): Likewise.
21702
f19dbdb7 21703
83d37a62 217042005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21705
21706 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21707 color modes, allow greater than 16 colors to be configured as
21708 a default palette.
21709
47d2d65e 217102005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21711
21712 * normal/completion.c (complete_arguments): Add the qualifier
21713 const into OPTIONS.
21714
21715 From Omniflux <omniflux+lists@omniflux.com>:
21716 * include/grub/terminfo.h: New file.
21717 * include/grub/tparm.h: Likewise.
21718 * include/grub/i386/pc/serial.h: Likewise.
21719 * term/terminfo.c: Likewise.
21720 * term/tparm.c: Likewise.
21721 * term/i386/pc/serial.c: Likewise.
21722 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21723 serial.mod.
21724 (terminfo_mod_SOURCES): New variable.
21725 (terminfo_mod_CFLAGS): Likewise.
21726 (serial_mod_SOURCES): Likewise.
21727 (serial_mod_CFLAGS): Likewise.
21728
48b671ff 217292005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21730
21731 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21732 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21733 and kern/powerpc/ieee1275/cmain.c, respectively.
21734
21735 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21736 * kern/powerpc/ieee1275/crt0.S: ... here.
21737
21738 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21739 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21740
48b671ff 21741 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21742 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21743 instead of boot/powerpc/ieee1275/crt0.S and
21744 boot/powerpc/ieee1275/cmain.c, respectively.
21745
21746 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21747 sectors. It was not used anyway.
21748
09fc77a7 217492005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21750
21751 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21752 `unused parameter' warning.
21753
003789c7 217542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21755
21756 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21757 function.
21758 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21759 getcharwidth.
21760
67f44c86 217612005-08-28 Marco Gerards <metgerards@student.han.nl>
21762
21763 * include/grub/normal.h (enum grub_completion_type): Added
21764 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21765
21766 * normal/cmdline.c (print_completion): Handle
21767 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21768 * normal/menu_entry.c (store_completion): Likewise.
21769
21770 * normal/completion.c (complete_arguments): New function.
21771 (grub_normal_do_completion): Call `complete_arguments' when the
21772 current words start with a dash.
21773
0b5abe02 217742005-08-27 Marco Gerards <metgerards@student.han.nl>
21775
21776 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21777 `gzio.mod' instead of `io.mod').
21778
d9864ee1 217792005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21780
21781 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21782 (DISTDIRS): Added io and video.
21783 Rewrite the search routine to make an output consistently.
21784
21785 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21786 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21787 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21788 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21789 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21790 util/powerpc/ieee1275/misc.c.
f19dbdb7 21791
d9864ee1 21792 * include/grub/gzio.h: New file.
21793 * io/gzio.c: Likewise.
f19dbdb7 21794
d9864ee1 21795 * kern/file.c (grub_file_close): Call grub_device_close only if
21796 FILE->DEVICE is not NULL.
21797
21798 * include/grub/mm.h [!NULL] (NULL): New macro.
21799
21800 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21801
21802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21803 (pkgdata_MODULES): Added gzio.mod.
21804 (gzio_mod_SOURCES): New variable.
21805 (gzio_mod_CFLAGS): Likewise.
21806
21807 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21808 (pkgdata_MODULES): Added gzio.mod.
21809 (gzio_mod_SOURCES): New variable.
21810 (gzio_mod_CFLAGS): Likewise.
21811
21812 * commands/cat.c: Include grub/gzio.h.
21813 (grub_cmd_cat): Use grub_gzfile_open instead of
21814 grub_file_open.
f19dbdb7 21815
d9864ee1 21816 * commands/cmp.c: Include grub/gzio.h.
21817 (grub_cmd_cmp): Use grub_gzfile_open instead of
21818 grub_file_open.
21819
21820 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21821 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21822 grub_file_open.
21823 (grub_rescue_cmd_module): Likewise.
21824
fa46f4b5 218252005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21826
21827 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21828 kern/sparc64/ieee1275/init.c because it contains _start.
21829 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21830
e9211b5d 218312005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21832
21833 * configure.ac: Add support for sparc64 host with ieee1275
21834 firmware.
21835 * configure: Generated from configure.ac.
21836 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21837 instead of int.
21838 (grub_ofdisk_read): Likewise.
21839 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21840 pointers as (void *) to remove a warning.
21841 (grub_ofdisk_close): Likewise.
21842 (grub_ofdisk_read): Likewise.
21843 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21844 returns, so make it return void to remove a warning.
21845 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21846 Corresponding prototype change.
21847 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21848 values, and cast the pointers as (void *) to remove a warning.
21849 (grub_mm_dump): Likewise.
21850 * conf/sparc64-ieee1275.mk: New file.
21851 * conf/sparc64-ieee1275.rmk: Likewise.
21852 * include/grub/sparc64/setjmp.h: Likewise.
21853 * include/grub/sparc64/types.h: Likewise.
21854 * include/grub/sparc64/ieee1275/console.h: Likewise.
21855 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21856 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21857 * include/grub/sparc64/ieee1275/time.h: Likewise.
21858 * kern/sparc64/cache.c: Likewise.
21859 * kern/sparc64/dl.c: Likewise.
21860 * kern/sparc64/ieee1275/init.c: Likewise.
21861 * kern/sparc64/ieee1275/openfw.c: Likewise.
21862
385c6a92 218632005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21864
21865 * util/console.c (grub_ncurses_putchar): If C is greater than
21866 0x7f, set C to a question mark.
21867 (grub_ncurses_getcharwidth): New function.
21868 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21869 getcharwidth.
21870
21871 * normal/menu.c (print_entry): Made aware of Unicode. First,
21872 convert TITLE to UCS-4, and predict the cursor position by
21873 grub_getcharwidth.
21874
21875 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21876 const to SRC.
21877 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21878
16ccb8b1 218792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21880
21881 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21882 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21883 grub_strcat.
21884
21885 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21886 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21887 grub_strcpy and grub_strlen. Take it into account that a space
21888 character is inserted as a delimiter.
21889
6a85ce79 218902005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21891
21892 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21893 invalid magic in the error.
6a85ce79 21894
21895 * commands/search.c: New file.
f19dbdb7 21896
6a85ce79 21897 * util/grub-emu.c (main): Call grub_search_init and
21898 grub_search_fini.
21899
21900 * kern/rescue.c (grub_rescue_print_disks): Removed.
21901 (grub_rescue_print_devices): New function.
21902 (grub_rescue_cmd_ls): Use grub_device_iterate with
21903 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21904 grub_rescue_print_disks.
21905
21906 * kern/partition.c (grub_partition_iterate): Return the result of
21907 PARTMAP->ITERATE instead of GRUB_ERRNO.
21908
21909 * kern/device.c: Include grub/partition.h.
21910 (grub_device_iterate): New function.
21911
21912 * include/grub/partition.h (grub_partition_iterate): Return int
21913 instead of grub_err_t.
21914
21915 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21916 prototype.
21917 [GRUB_UTIL] (grub_search_fini): Likewise.
21918
21919 * include/grub/device.h (grub_device_iterate): New prototype.
21920
21921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21922 commands/search.c.
21923 (pkgdata_MODULES): Added search.mod.
21924 (search_mod_SOURCES): New variable.
21925 (search_mod_CFLAGS): Likewise.
21926
21927 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21928 (pkgdata_MODULES): Added search.mod.
21929 (search_mod_SOURCES): New variable.
21930 (search_mod_CFLAGS): Likewise.
21931
21932 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21933 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21934 All callers changed.
21935
21936 * DISTLIST: Added commands/search.c.
21937
ef095434 219382005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21939
21940 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21941 conversion.
21942 (grub_getcharwidth): New function.
21943
21944 * kern/misc.c (grub_utf8_to_ucs4): New function.
21945
21946 * include/grub/term.h (struct grub_term): Added a new member
21947 "getcharwidth".
21948 (grub_getcharwidth): New prototype.
21949
21950 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21951
21952 * term/i386/pc/console.c (map_char): New function. Segregated from
21953 grub_console_putchar.
21954 (grub_console_putchar): Use map_char.
21955 (grub_console_getcharwidth): New function.
21956 (grub_console_term): Specified grub_console_getcharwidth as
21957 getcharwidth.
21958
21959 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21960 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21961
21962 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21963 GRUB_ERRNO.
21964 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21965 on grub_strtoul completely.
21966 (write_char): Declare local variables in the beginning of the
21967 function.
21968 (grub_vesafb_getcharwidth): New function.
21969 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21970 getcharwidth.
21971
1f0a95e4 219722005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21973
21974 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21975 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21976 commands/i386/pc/vbetest.c.
21977
21978 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21979 call grub_vbe_get_controller_info again, because the returned
21980 information is volatile.
21981 (grub_vbe_set_video_mode): Mostly rewritten.
21982 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21983 grub_vbe_status_t correctly.
21984 (grub_vbe_get_video_mode_info): Likewise.
21985 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21986 several if statements.
21987
21988 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21989 * commands/i386/pc/vbeinfo.c: ... this.
21990
21991 * commands/i386/pc/vbe_test.c: Renamed to ...
21992 * commands/i386/pc/vbetest.c: ... this.
21993
21994 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21995 ...
21996 (grub_cmd_vbeinfo): ... this. Save video modes before
21997 iterating. Skip a video mode, if it is not available, not enough
21998 information is given or it is monochrome. Show the memory
21999 model. Leave the interpretation of MODEVAR to grub_strtoul
22000 completely.
22001 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22002 (GRUB_MOD_FINI): Likewise.
22003
22004 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22005 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22006 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22007 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22008 grub_strtoul completely.
22009 (real2pm): Removed.
22010 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22011 (GRUB_MOD_FINI): Likewise.
22012
22013 * normal/misc.c: Include grub/mm.h.
22014
22015 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22016 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22017 (vbe_list_modes_mod_SOURCES): Removed.
22018 (vbe_list_modes_mod_CFLAGS): Likewise.
22019 (vbe_test_mod_SOURCES): Likewise.
22020 (vbe_test_mod_CFLAGS): Likewise.
22021 (vbeinfo_mod_SOURCES): New variable.
22022 (vbeinfo_mod_CFLAGS): Likewise.
22023 (vbetest_mod_SOURCES): Likewise.
22024 (vbetest_mod_CFLAGS): Likewise.
22025
992ffbbe 220262005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22027
22028 * normal/misc.c: New file.
22029
22030 * DISTLIST: Added normal/misc.c.
f19dbdb7 22031
992ffbbe 22032 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22033 DISK to HOOK. Call HOOK with DISK.
22034 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22035 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22036 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22037
22038 * normal/menu_entry.c (struct screen): Added a new member
22039 "completion_shown".
22040 (completion_buffer): New global variable.
22041 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22042 (store_completion): New function.
22043 (complete): Likewise.
22044 (clear_completions): Likewise.
22045 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22046 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22047 a tab, call complete.
22048
22049 * normal/completion.c (disk_dev): Removed.
22050 (print_simple_completion): Likewise.
22051 (print_partition_completion): Likewise.
22052 (print_func): New global variable.
22053 (add_completion): Do not take the arguments WHAT or PRINT any
22054 longer. Added a new argument TYPE. Instead of printing directly,
22055 call PRINT_FUNC if not NULL.
22056 All callers changed.
22057 (complete_device): Use a local variable DEV instead of
22058 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22059 (grub_normal_do_completion): Take a new argument HOOK. Do not
22060 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22061 empty string, return NULL instead.
22062 All callers changed.
22063
22064 * normal/cmdline.c (print_completion): New function.
22065
22066 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22067 to HOOK.
22068 All callers changed.
22069
22070 * kern/disk.c (grub_print_partinfo): Removed.
22071
22072 * include/grub/partition.h (struct grub_partition_map): Add a new
22073 argument DISK into HOOK of ITERATE.
22074 (grub_partition_iterate): Add a new argument DISK to HOOK.
22075
22076 * include/grub/normal.h (enum grub_completion_type): New enum.
22077 (grub_completion_type_t): New type.
22078 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22079 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22080 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22081 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22082 (grub_normal_do_completion): Added a new argument HOOK.
22083 (grub_normal_print_device_info): New prototype.
22084
22085 * include/grub/disk.h (grub_print_partinfo): Removed.
22086
22087 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22088 (normal_mod_SOURCES): Likewise.
22089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22090 (normal_mod_SOURCES): Likewise.
22091
22092 * commands/ls.c (grub_ls_list_disks): Use
22093 grub_normal_print_device_info instead of grub_print_partinfo. Free
22094 PNAME.
22095 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22096 duplicating the code.
22097
0bd41162 220982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22099
22100 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22101 follow GCS more precisely.
22102 * commands/i386/pc/vbe_test.c: Likewise.
22103 * include/grub/i386/pc/vbe.h: Likewise.
22104 * term/i386/pc/vesafb.c: Likewise.
22105 * video/i386/pc/vbe.c: Likewise.
0bd41162 22106
6323696a 221072005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22108
22109 * DISTLIST: Added term/i386/pc/vesafb.c
22110 DISTLIST: Added video/i386/pc/vbe.c
22111 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22112 DISTLIST: Added commands/i386/pc/vbe_test.c.
22113 * commands/i386/pc/vbe_list_modes.c: New file.
22114 * commands/i386/pc/vbe_test.c: Likewise.
22115 * term/i386/pc/vesafb.c: Likewise.
22116 * video/i386/pc/vbe.c: Likewise.
22117 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22118 (grub_vbe_probe) Added prototype.
22119 (grub_vbe_set_video_mode) Likewise.
22120 (grub_vbe_get_video_mode) Likewise.
22121 (grub_vbe_get_video_mode_info) Likewise.
22122 (grub_vbe_set_pixel_rgb) Likewise.
22123 (grub_vbe_set_pixel_index) Likewise.
22124 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22125 (pkgdata_MODULES): Added vesafb.mod.
22126 (pkgdata_MODULES): Added vbe_list_modes.mod.
22127 (pkgdata_MODULES): Added vbe_test.mod.
22128 (vbe_mod_SOURCES): Added.
22129 (vbe_mod_CFLAGS): Likewise.
22130 (vesafb_mod_SOURCES): Likewise.
22131 (vesafb_mod_CFLAGS): Likewise.
22132 (vbe_list_modes_mod_SOURCES): Likewise.
22133 (vbe_list_modes_mod_CFLAGS): Likewise.
22134 (vbe_test_mod_SOURCES): Likewise.
22135 (vbe_test_mod_CFLAGS): Likewise.
22136
0a74e62f 221372005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22138
0a74e62f 22139 * normal/command.c (grub_command_execute): If INTERACTIVE is
22140 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22141 CMDLINE. Disable the pager if INTERACTIVE is true.
22142 All callers are changed.
22143
22144 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22145 before reading a config file.
22146 * normal/main.c (read_config_file): Even if a command is not
22147 found, register it if it is within an entry.
22148
22149 * util/grub-emu.c: Include sys/types.h and unistd.h.
22150 (options): Added --hold.
22151 (struct arguments): Added a new member "hold".
22152 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22153 missing.
22154 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22155 cleared by a debugger, if it is not zero.
22156
22157 * include/grub/normal.h (grub_command_execute): Add an argument
22158 INTERACTIVE.
22159
e51f85ae 221602005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22161
22162 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22163
e9c6f39b 221642005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22165
22166 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22167 program with another one, because the old one didn't detect a bug
22168 in gcc-3.4. Always use regparm 2, because the new test is still
22169 not enough for gcc-4.0. Someone must investigate a simple test
22170 case which detects a bug in gcc-4.0.
22171
8de3495c 221722005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22173
22174 * DISTLIST: Added normal/completion.c.
22175
22176 * normal/completion.c: New file.
f19dbdb7 22177
8de3495c 22178 * term/i386/pc/console.c (grub_console_getwh): New function.
22179 (grub_console_term): Assign grub_console_getwh to getwh.
22180
22181 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22182 function is defined in normal/completion.c as
22183 grub_normal_do_completion.
22184 (grub_cmdline_get): Use grub_normal_do_completion instead of
22185 grub_tab_complete.
22186
22187 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22188 returns non-zero, otherwise return 0.
22189 (grub_partition_iterate): First, probe the partition map. Then,
22190 call ITERATE only for this partition map.
22191
22192 * kern/misc.c (grub_strncmp): Rewritten.
22193
22194 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22195 returns non-zero. Otherwise return 0.
22196
22197 * include/grub/partition.h (grub_partition_map_iterate): Return
22198 int instead of void.
22199
22200 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22201
22202 * include/grub/misc.h (grub_strncmp): Change the type of N to
22203 grub_size_t.
22204
22205 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22206 of void.
22207
22208 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22209 unsigned explicitly before comparing it with I.
8de3495c 22210
22211 * kern/main.c (grub_env_write_root): Add the attribute unused into
22212 VAR.
22213
22214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22215 normal/completion.c.
22216 (normal_mod_SOURCES): Likewise.
22217 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22218 (normal_mod_SOURCES): Likewise.
22219
22220 * normal/command.c (grub_iterate_commands): If ITERATE returns
22221 non-zero, return one immediately.
22222
e85e144b 222232005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22224
22225 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22226 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22227 descriptions.
22228 (grub_vbe_get_controller_info): New function.
22229 (grub_vbe_get_mode_info): Likewise.
22230 (grub_vbe_set_mode): Likewise.
22231 (grub_vbe_get_mode): Likewise.
22232 (grub_vbe_set_memory_window): Likewise.
22233 (grub_vbe_get_memory_window): Likewise.
22234 (grub_vbe_set_scanline_length): Likewise.
22235 (grub_vbe_get_scanline_length): Likewise.
22236 (grub_vbe_set_display_start): Likewise.
22237 (grub_vbe_get_display_start): Likewise.
22238 (grub_vbe_set_palette_data): Likewise.
22239 * include/grub/i386/pc/vbe.h: New file.
22240
c46153d2 222412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22242
22243 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22244 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22245 * DISTLIST: Likewise.
22246 * kern/ieee1275/of.c: Moved to ...
22247 * kern/ieee1275/ieee1275.c: ... here.
22248
0cb90c45 222492005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22250
22251 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22252 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22253 Pass 0 as `end' parameter to grub_strtoul().
22254
a19fb360 222552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22256
22257 * include/grub/powerpc/ieee1275/console.h: Do not include
22258 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22259 ifdef.
22260 (grub_console_cur_color): Remove i386-specific prototype.
22261 (grub_console_real_putchar): Likewise.
22262 (grub_console_checkkey): Likewise.
22263 (grub_console_getkey): Likewise.
22264 (grub_console_getxy): Likewise.
22265 (grub_console_gotoxy): Likewise.
22266 (grub_console_cls): Likewise.
22267 (grub_console_setcursor): Likewise.
22268 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22269 Include <grub/machine/console.h>.
22270 * term/ieee1275/ofconsole.c: Likewise.
22271
4ac9bd04 222722005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22273
22274 * Makefile.in (LIBLZO): New variable.
22275
22276 * configure.ac: Check for LZO version 2.
22277
22278 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22279 lzo/lzo1x.h instead of lzo1x.h.
22280
22281 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22282 of -llzo.
22283
22284 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22285 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22286
22287 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22288 copying the data from PARTITION to P.
22289
f4917dfd 222902005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22291
22292 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22293 negative, unload the module.
22294
22295 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22296 map is "pc_partition_map" but not "pc".
22297 (usage): Fix the description. The options are --boot-image and
22298 --core-image but not --boot-file or --core-file.
22299 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22300 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22301 DEFAULT_DIRECTORY.
22302
22303 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22304 --core-file. Specify INSTALL_DEVICE as an argument.
22305
22306 * util/console.c: Include config.h.
22307 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22308 [HAVE_NCURSES_H]: Include ncurses.h.
22309 [HAVE_CURSES_H]: Include curses.h.
22310 [!A_NORMAL] (A_NORMAL): Defined as zero.
22311 [!A_STANDOUT] (A_STANDOUT): Likewise.
22312
22313 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22314 -lncurses.
22315 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22316
22317 * configure.ac: Check for curses libraries and headers.
22318
22319 * Makefile.in (LIBCURSES): New variable.
22320
22321 * genmk.rb (Script::rule): Set the executable bits.
22322
22323 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22324 name of the PC partition map is "pc_partition_map" but not "pc".
22325
0e143073 223262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22327
22328 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22329 (modules): Likewise.
22330 (usage): Added descriptions for --modules and --grub-probefs.
22331 Handle --modules and --grub-probefs. Save the arguments in MODULES
22332 and GRUB_PROBEFS, respectively.
22333 Auto-detect a filesystem module against GRUBDIR. If the result is
22334 empty and modules are not specified explicitly, abort the
22335 installation. Add the result to MODULES.
22336
22337 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22338 disk/powerpc/ieee1275/ofdisk.c,
22339 include/grub/powerpc/ieee1275/init.h and
22340 term/powerpc/ieee1275/ofconsole.c.
22341 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22342 term/ieee1275/ofconsole.c.
22343
22344 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22345
22346 * COPYING: Upgraded to the latest version. Only the address of the
22347 FSF office has changed.
f19dbdb7 22348
efd6e6d5 223492005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22350
22351 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22352 kern/ieee1275.c with kern/ieee1275/of.c.
22353
22354 * kern/ieee1275.c: Moved to ...
22355 * kern/ieee1275/of.c: ... here.
22356
8ceafda2 223572005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22358
22359 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22360 readability.
8ceafda2 22361
22362 * config.guess: Updated to the latest version from gnulib.
22363 * config.sub: Likewise.
22364 * install.sh: Likewise.
22365 * mkinstalldirs: Likewise.
22366
22367 * include/grub/console.h: Removed. This file is arch-specific. Do
22368 not put this in include/grub.
22369
22370 * include/grub/i386/pc/console.h: Resurrected.
22371
22372 * util/console.c: Include grub/machine/console.h instead of
22373 grub/console.h.
22374 * util/grub-emu.c: Likewise.
22375
267f6cd9 223762005-08-04 Marco Gerards <metgerards@student.han.nl>
22377
22378 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22379 hardcoded value.
f19dbdb7 22380
267f6cd9 22381 From Vincent Pelletier <subdino2004@yahoo.fr>
22382 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22383 Redefined to use grub_getwh.
22384 (grub_term): New member named getwh.
22385 (grub_getwh): New prototype.
22386 * kern/term.c (grub_getwh): New function.
22387 * term/i386/pc/console.c (grub_console_getwh): New function.
22388 (grub_console_term): New member `getwh'.
22389 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22390 (grub_vga_term): New member `getwh'.
0b5abe02 22391 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22392 grub_ssize_t.
22393 (grub_ofconsole_getw): New function.
22394 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22395 (grub_ofconsole_term): New field named getwh and new initial
22396 value.
22397
3be7266d 223982005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22399
22400 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22401 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22402 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22403 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22404 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22405 of <grub/machine/ieee1275.h>.
22406 * commands/ieee1275/reboot.c: Likewise.
22407 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22408 * kern/ieee1275.c: ... to here. All users updated. Change all
22409 parameter structs to use new type `grub_ieee1275_cell_t'.
22410 * term/powerpc/ieee1275/ofconsole.c: Move ...
22411 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22412 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22413 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22414 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22415 to return int.
22416 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22417 Remove unused prototypes. All users updated.
22418 * include/grub/powerpc/ieee1275/console.h: Removed.
22419 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22420 `grub_ieee1275_cell_t'.
22421 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22422 Cast comparisons with -1 to the correct type.
22423 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22424 type to match `grub_ieee1275_entry_fn'.
22425
8b5f3938 224262005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22427
22428 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22429
22430 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22431 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22432 partmap/sun.c.
22433 (grub_probefs_SOURCES): New variable.
22434
22435 * util/i386/pc/grub-probefs.c: New file.
22436
22437 * util/i386/pc/grub-setup.c (main): Call
22438 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22439 grub_hfs_init and grub_jfs_init to initialize the system. Call
22440 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22441 grub_pc_partition_map_fini to finish the system.
22442
ea409713 224432005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22444
22445 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22446 function.
22447 (grub_multiboot_load_elf32): Likewise.
22448 (grub_multiboot_is_elf64): Likewise.
22449 (grub_multiboot_load_elf64): Likewise.
22450 (grub_multiboot_load_elf): Likewise.
22451 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22452 an ELF32 or ELF64 file.
22453 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22454
22455 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22456 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22457 NULL before calling FS->LABEL.
22458 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22459 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22460 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22461 before calling FS->LABEL.
22462
141a288b 224632005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22464
22465 * util/i386/pc/grub-install.in (datadir): New variable.
22466 (libdir): Removed.
22467 (pkgdatadir): New variable.
22468 (pkglibdir): Removed.
22469
0d5f8a54 224702005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22471
22472 * DISTLIST: Added util/i386/pc/grub-install.in.
22473
22474 * util/i386/pc/grub-install.in: New file.
22475
22476 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22477 (grub_install_SOURCES): Likewise.
22478
22479 * genmk.rb: Added support for scripts.
22480 (Script): New class.
22481 (scripts): New variable.
22482
22483 * Makefile.in (install-local): Install sbin_SCRIPTS by
22484 INSTALL_SCRIPT.
22485 (uninstall): Remove sbin_SCRIPTS.
22486
22487 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22488 device, try to get a GRUB device by
22489 grub_util_biosdisk_get_grub_dev.
22490 Free DEST_DEV.
22491
22492 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22493 description for --device-map.
22494
5f968e1e 224952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22496
22497 Change the semantics of variable hooks. They now return strings
22498 instead of error values.
f19dbdb7 22499
5f968e1e 22500 * util/i386/pc/grub-setup.c: Include grub/env.h.
22501 (setup): Use grub_device_set_root instead of grub_env_set.
22502
22503 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22504 grub_env_get instead of grub_device_set_root and
22505 grub_device_get_root, respectively.
22506
22507 * kern/main.c (grub_env_write_root): New function.
22508 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22509 grub_env_set instead of grub_device_set_root.
22510
22511 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22512 many variables.
22513 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22514 rather than calling ENV->WRITE_HOOK afterwards.
22515 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22516 passing a pointer of a pointer.
22517 (grub_register_variable_hook): Change the types of "read_hook" and
22518 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22519 respectively.
22520 Allocate the default empty string on the heap, because this string
22521 may be freed later.
22522
22523 * kern/device.c: Include grub/env.h.
22524 (grub_device_set_root): Removed.
22525 (grub_device_get_root): Likewise.
22526 (grub_device_open): Use grub_env_get instead of
22527 grub_device_get_root.
22528
22529 * include/grub/env.h (grub_env_read_hook_t): New type.
22530 (grub_env_write_hook_t): Likewise.
22531 (grub_env_var): Change the types of "read_hook" and "write_hook"
22532 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22533 (grub_register_variable_hook): Likewise.
22534
22535 * include/grub/device.h (grub_device_set_root): Removed.
22536 (grub_device_set_root): Likewise.
22537
22538 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22539 make sure that DIRNAME terminates with '/', so that
22540 grub_fat_find_dir will fail if PATH is not a directory.
22541
22542 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22543 from DIRNAME.
22544 Use the qualifier auto for print_files and print_files_long.
22545 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22546 as a regular file.
22547 Put a newline only if there is no error.
22548 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22549 used.
22550
896f0afd 225512005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22552
22553 * kern/partition.c (grub_partition_probe): Initialize PART to
22554 NULL. Otherwise, when no partition map is registered, this returns
22555 a garbage.
22556
b28b81b2 225572005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22558
22559 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22560 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22561 valid.
22562
5f3607e0 225632005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22564
22565 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22566 information on each device, if it does not have partitions. Print
22567 "Device" instead of "Disk", because this function is not specific
22568 to disk devices.
22569
22570 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22571 static to ensure that it is put on the memory rather than a
22572 register.
22573
502c87e8 225742005-07-17 Yoshinori Okuji <okuji@enbug.org>
22575
22576 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22577 (grub_cat_init): Likewise.
22578 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22579 (options): Likewise.
22580 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22581 (grub_configfile_init): Likewise.
22582 * font/manager.c (GRUB_MOD_INIT): Likewise.
22583 * commands/help.c (GRUB_MOD_INIT): Likewise.
22584 (grub_help_init): Likewise.
22585 * normal/command.c (grub_command_init): Likewise.
22586 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22587 * disk/loopback.c (grub_loop_init): Likewise.
22588 (GRUB_MOD_INIT): Likewise.
22589 * commands/ls.c (grub_ls_init): Likewise.
22590 (GRUB_MOD_INIT): Likewise.
22591 (options): Likewise.
22592 * commands/boot.c (grub_boot_init): Likewise.
22593 (GRUB_MOD_INIT): Likewise.
22594 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22595 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22596 (GRUB_MOD_INIT): Likewise.
22597 * commands/cmp.c (grub_cmp_init): Likewise.
22598 (GRUB_MOD_INIT): Likewise.
22599
22600 * normal/arg.c: Use <> instead of "" to include header files.
22601 (SHORT_ARG_HELP): New macro.
22602 (SHORT_ARG_USAGE): Likewise.
22603 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22604 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22605 descriptions.
22606 (find_short): Check if C is 'h' or 'u' explicitly.
22607 (grub_arg_show_help): Use space characters instead of tabs. Treat
22608 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22609 are shown with --help and --usage only if they are not used for
22610 the command itself.
22611 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22612 'h' and 'u'.
22613
22614 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22615 const into "longarg". Change the type of "shortarg" to int.
22616
f806d18e 226172005-07-17 Yoshinori Okuji <okuji@enbug.org>
22618
22619 * boot/i386/pc/boot.S (boot_drive_check): New label.
22620
22621 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22622 macro.
22623
22624 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22625 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22626
e293232b 226272005-07-17 Yoshinori Okuji <okuji@enbug.org>
22628
22629 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22630 When turning off Gate A20, skip the check and return immediately,
22631 because this is not fatal usually.
22632
ebedfd00 226332005-07-17 Yoshinori Okuji <okuji@enbug.org>
22634
22635 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22636 be 0x7C00 instead of 0x8000.
22637
22638 * boot/i386/pc/pxeboot.S: Rewritten.
22639
22640 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22641 EXT_C.
22642 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22643 result.
22644
654fc59f 226452005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22646
22647 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22648 robustness. This routine now supports a BIOS call and System
22649 Control Port A to modify the gate A20.
22650
22651 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22652 Increased to 0x440.
22653
09f9923f 226542005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22655
22656 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22657 device path and resulting ihandle.
22658 (grub_ofdisk_close): dprintf the ihandle being closed.
22659 (grub_ofdisk_read): dprintf function parameters.
22660 * kern/mm.c (grub_mm_init_region): Likewise.
22661 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22662 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22663 size, and boot arguments.
22664 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22665 before loading into memory.
22666 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22667 before loading into memory.
22668
7ef504d8 226692005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22670
22671 * kern/mm.c: Added much documentation.
22672 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22673 8, set to 5 instead of 8.
22674
e0f050c2 226752005-07-10 Yoshinori Okuji <okuji@enbug.org>
22676
22677 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22678
22679 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22680 (grub_mkdevicemap_SOURCES): New variable.
22681
22682 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22683 lib/device.c of GRUB Legacy.
22684
7224189a 226852005-07-10 Yoshinori Okuji <okuji@enbug.org>
22686
22687 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22688 instead of PATH is NULL.
22689
68c864eb 226902005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22691
22692 * commands/cmp.c (BUFFER_SIZE): New macro.
22693 (grub_cmd_cmp): Close the right file at the right time. Compare
22694 only data just read. Don't report files of different size as
22695 identical. Dynamically allocate buffers. Move variable
22696 declarations at the beginning of function.
22697
e6f3e614 226982005-07-09 Yoshinori Okuji <okuji@enbug.org>
22699
22700 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22701 reverse.
22702
f8f1559a 227032004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22704
22705 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22706 when backspace is pressed at beginning of line.
22707
39c9d41d 227082005-07-03 Yoshinori Okuji <okuji@enbug.org>
22709
22710 * DISTLIST: Added genfslist.sh.
22711
22712 * normal/main.c (fs_module_list): New variable.
22713 (autoload_fs_module): New function.
22714 (read_fs_list): Likewise.
22715 (grub_normal_execute): Call read_fs_list.
22716
22717 * kern/fs.c (grub_fs_autoload_hook): New variable.
22718 (grub_fs_probe): Added support for auto-loading.
22719
22720 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22721 (grub_fs_module_list_t): New type.
22722
22723 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22724 (grub_fs_autoload_hook): New prototype.
22725
22726 * genfslist.sh: New file.
f19dbdb7 22727
39c9d41d 22728 * genmk.rb: Added a rule to generate a filesystem list.
22729
121c1d83 227302005-06-30 Marco Gerards <metgerards@student.han.nl>
22731
22732 * configure.ac: Fix the test for cross-compiling.
22733
22734 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22735 define GRUB_UTIL anymore.
22736
22737 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22738 so this function works on other systems than just big endian.
22739 (load_modules): Likewise.
22740 (add_segments): Likewise.
22741
e75d76e1 227422005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22743
22744 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22745 contains `l' modifier, get a long from va_arg().
22746
50b5a0a7 227472005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22748
22749 * kern/mm.c (grub_free): If the next free block which is being
22750 merged is the first free block, set the first block to the block
22751 being freed.
22752 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22753
89371b20 227542005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22755
22756 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22757 `grub_ieee1275_chosen'.
22758
168d6e58 227592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22760
22761 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22762 (grub_ieee1275_chosen): New variable.
22763 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22764 `chosen'.
22765 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22766 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22767 Rename first argument to `phandle' for consistency.
22768 (grub_ieee1275_get_property_length): Likewise.
22769 (grub_ieee1275_next_property): Likewise. Change type of first argument
22770 to grub_ieee1275_phandle_t.
22771 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22772 Move export next to declaration.
22773 (grub_ieee1275_chosen): New variable.
22774 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22775 Correct cosmetic typo.
22776 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22777 `grub_ieee1275_chosen'.
22778 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22779 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22780 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22781 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22782 `grub_ieee1275_chosen'.
22783
ca5baa3f 227842005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22785
22786 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22787 /chosen/bootargs.
22788 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22789 /chosen/bootargs as "variable=value" pairs.
22790
708b345f 227912005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22792
22793 * include/grub/misc.h (grub_dprintf): New macro.
22794 (grub_real_dprintf): New prototype.
22795 (grub_strword): Likewise.
22796 (grub_iswordseparator): Likewise.
22797 * kern/misc.c (grub_real_dprintf): New function.
22798 (grub_strword): Likewise.
22799 (grub_iswordseparator): Likewise.
22800
f4c5e67c 228012005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22802
22803 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22804 (roundup): Remove macro.
22805 (grub_ieee1275_flags): Make static.
22806 (grub_ieee1275_realmode): Remove.
22807 (grub_ieee1275_test_flag): New function.
22808 (grub_ieee1275_set_flag): Likewise.
22809 (find_options): Rename to `grub_ieee1275_find_options'; update
22810 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22811 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22812 (cmain): New prototype.
22813 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22814 `grub_ieee1275_flags' directly.
22815 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22816 machine/biosdisk.h.
22817 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22818 Don't include grub/machine/init.h.
22819 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22820 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22821 Remove prototype.
22822 (grub_ieee1275_realmode): Likewise.
22823 (grub_ieee1275_flag): New enum.
22824 (grub_ieee1275_test_flag): New prototype.
22825 (grub_ieee1275_set_flag): New prototype.
22826 * include/grub/powerpc/ieee1275/init.h: Remove file.
22827 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22828 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22829 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22830 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22831 comment.
22832 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22833 `grub_ieee1275_test_flag'.
22834 (grub_ieee1275_encode_devname): Likewise.
22835
ed16607e 228362005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22837
22838 * include/grub/powerpc/ieee1275/ieee1275.h
22839 (grub_ieee1275_encode_devname): New prototype.
22840 (grub_ieee1275_get_filename): Likewise.
22841 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22842 function.
22843 (grub_set_prefix): Likewise.
22844 (grub_machine_init): Call grub_set_prefix.
22845 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22846 (grub_parse_type): New enum.
22847 (grub_ieee1275_get_devargs): New function.
22848 (grub_ieee1275_get_devname): Likewise.
22849 (grub_ieee1275_parse_args): Likewise.
22850 (grub_ieee1275_get_filename): Likewise.
22851 (grub_ieee1275_encode_devname): Likewise.
22852
be369920 228532005-03-30 Marco Gerards <metgerards@student.han.nl>
22854
22855 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22856 `grub_loader_unset'.
22857
a5ce3a4a 228582005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22859
22860 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22861 instead of grub_ieee1275_interpret.
22862 (grub_halt_init): New function.
22863 (grub_halt_fini): Likewise.
22864 (GRUB_MOD_INIT): Correct message grammar.
22865 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22866 instead of grub_ieee1275_interpret.
22867 (grub_reboot_init): New function.
22868 (grub_reboot_fini): Likewise.
22869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22870 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22871 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22872 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22873 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22874 function.
22875 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22876 Add prototype.
22877 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22878 prototype.
22879 (grub_halt): Likewise.
22880 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22881 (cmain): Remove __attribute__((unused)).
22882 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22883 (grub_heap_len): Likewise.
22884 (grub_machine_fini): New function.
22885 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22886 (grub_halt): Likewise.
22887 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22888 function.
22889 * util/powerpc/ieee1275/misc.c: New file.
22890
0058f771 228912005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22892
22893 * DISTLIST: New file.
22894 * gendistlist.sh: Likewise.
f19dbdb7 22895
0058f771 22896 * Makefile.in (COMMON_DISTFILES): Removed.
22897 (BOOT_DISTFILES): Likewise.
22898 (CONF_DISTFILES): Likewise.
22899 (DISK_DISTFILES): Likewise.
22900 (FS_DISTFILES): Likewise.
22901 (INCLUDE_DISTFILES): Likewise.
22902 (KERN_DISTFILES): Likewise.
22903 (LOADER_DISTFILES): Likewise.
22904 (TERM_DISTFILES): Likewise.
22905 (UTIL_DISTFILES): Likewise.
22906 (DISTFILES): Likewise.
22907 (uninstall): Uninstall files in $(pkgdata_DATA).
22908 (DISTLIST): New target.
22909 (distdir): Use the contents of the file DISTLIST to get a list of
22910 distributed files.
22911
46b3b8a5 229122005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22913
22914 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22915 descriptor. This is ported from GRUB Legacy.
22916
22917 * gencmdlist.sh: Added an extra semicolon to make it work with
22918 old sed versions. Reported by Robert Bihlmeyer
22919 <robbe@orcus.priv.at>.
22920
5822ff87 229212005-03-08 Yoshinori Okuji <okuji@enbug.org>
22922
22923 Automatic loading of commands is supported.
f19dbdb7 22924
5822ff87 22925 * normal/main.c (read_command_list): New function.
22926 (grub_normal_execute): Call read_command_list.
22927
22928 * normal/command.c (grub_register_command): Return zero or CMD.
22929 Allocate CMD->NAME from the heap.
22930 Initialize CMD->MODULE_NAME to zero.
22931 Find the same name as well. If the same command is found and it is
22932 a dummy command, overwrite members. If it is not a dummy command,
22933 return zero.
22934 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22935 (grub_command_find): If a dummy command is found, load a module
22936 and retry to find a command only once.
22937
22938 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22939 make sure that each command is loaded.
22940
22941 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22942 macro.
22943 (struct grub_command): Remove const from the member `name'.
22944 Add a new member `module_name'.
22945 (grub_register_command): Return grub_command_t.
22946
22947 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22948 sure that each command is loaded.
22949
22950 * genmk.rb (PModule::rule): Specify a module name without the
22951 suffix ".mod" to gencmdlist.sh.
22952
7b1f4b57 229532005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22954
22955 * gencmdlist.sh: New file.
f19dbdb7 22956
7b1f4b57 22957 * genmk.rb (PModule::rule): Generate a rule for a command list.
22958 Clean command.lst.
22959 Generate command.lst from $(COMMANDFILES).
22960
22961 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22962 (DATA): Added $(pkgdata_DATA).
22963 (install-local): Install files in $(pkgdata_DATA).
22964
062aaf39 229652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22966
22967 * term/i386/pc/vga.c (debug_command): Removed.
22968 (GRUB_MOD_INIT): Do not register the command "debug".
22969
22970 From Hollis Blanchard:
22971 * commands/configfile.c: New file.
22972 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22973 commands/configfile.c.
22974 (pkgdata_MODULES): Added configfile.mod.
22975 (configfile_mod_SOURCES): New variable.
22976 (configfile_mod_CFLAGS): Likewise.
22977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22978 commands/configfile.c.
22979 (pkgdata_MODULES): Added configfile.mod.
22980 (configfile_mod_SOURCES): New variable.
22981 (configfile_mod_CFLAGS): Likewise.
22982 * util/grub-emu.c (main): Call grub_configfile_init and
22983 grub_configfile_fini.
22984 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22985 prototype.
22986 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22987
cee01aa6 229882005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22989
22990 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22991 address.
22992
22993 * commands/help.c (grub_cmd_help): Do not print newlines after
22994 the last command in print_command_help.
22995
93f3a1d8 229962005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22997
22998 * commands/default.h: New file.
22999 * commands/timeout.h: Likewise.
23000 * normal/context.c: Likewise.
f19dbdb7 23001
93f3a1d8 23002 * util/misc.c: Do not include sys/times.h.
23003 Include sys/time.h and grub/machine/time.h.
23004 (grub_get_rtc): Rewritten with gettimeofday.
23005
23006 * util/grub-emu.c (main): Call grub_default_init and
23007 grub_timeout_init before grub_normal_init, and call
23008 grub_timeout_fini and grub_default_fini after grub_main.
23009
23010 * util/console.c (grub_ncurses_checkkey): Return the read
23011 character or -1.
23012
23013 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23014 timeouts.
23015
23016 * normal/main.c (read_config_file): Push MENU. If this fails,
23017 print an error and wait for a user input.
23018 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23019 If a menu is empty or an error occurs, pop MENU.
23020 (grub_normal_execute): Pop and free MENU after grub_menu_run
23021 returns.
23022
23023 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23024
23025 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23026 include time.h.
23027 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23028 without GRUB_UTIL.
23029 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23030 time.h.
23031 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23032 without GRUB_UTIL.
23033
23034 * include/grub/normal.h (struct grub_menu_list): New struct.
23035 (grub_menu_list_t): New type.
23036 (struct grub_context): New struct.
23037 (grub_context_t): New type.
23038 (grub_register_command): Got rid of EXPORT_FUNC.
23039 (grub_unregister_command): Likewise.
23040 (grub_context_get): New prototype.
23041 (grub_context_get_current_menu): Likewise.
23042 (grub_context_push_menu): Likewise.
23043 (grub_context_pop_menu): Likewise.
23044 [GRUB_UTIL] (grub_default_init): Likewise.
23045 [GRUB_UTIL] (grub_default_fini): Likewise.
23046 [GRUB_UTIL] (grub_timeout_init): Likewise.
23047 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23048
23049 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23050 commands/timeout.c and normal/context.c.
23051 (pkgdata_MODULES): Added default.mod and timeout.mod.
23052 (normal_mod_SOURCES): Added normal/context.c.
23053 (default_mod_SOURCES): New variable.
23054 (default_mod_CFLAGS): Likewise.
23055 (timeout_mod_SOURCES): Likewise.
23056 (timeout_mod_CFLAGS): Likewise.
23057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23058 conf/i386-pc.rmk.
23059 (pkgdata_MODULES): Added default.mod and timeout.mod.
23060 (normal_mod_SOURCES): Added normal/context.c.
23061 (default_mod_SOURCES): New variable.
23062 (default_mod_CFLAGS): Likewise.
23063 (timeout_mod_SOURCES): Likewise.
23064 (timeout_mod_CFLAGS): Likewise.
23065
23066 * Makefile.in (all-local): Added $(MKFILES).
23067
4ed2e1dd 230682005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23069
23070 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23071 (grub_emu_SOURCES): Likewise.
23072 (pkgdata_MODULES): Add `sun.mod'.
23073 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23075 `partmap/sun.c'.
23076 (pkgdata_MODULES): Add `sun.mod'.
23077 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23078 * include/grub/partition.h (grub_sun_partition_map_init): New
23079 prototype.
23080 (grub_sun_partition_map_fini): Likewise.
23081 * partmap/sun.c: New file.
23082 * util/grub-emu.c (main): Initialize and de-initialize the sun
23083 partitionmap support.
23084
4d4e372e 230852005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23086
23087 This implements an Emacs-like menu entry editor.
f19dbdb7 23088
4d4e372e 23089 * normal/menu_entry.c: New file.
f19dbdb7 23090
4d4e372e 23091 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23092 characters to ASCII.
23093 (saved_char): New variable.
23094 (grub_ncurses_checkkey): Rewritten completely.
23095 (grub_ncurses_getkey): Likewise.
23096 (grub_ncurses_init): Call raw instead of cbreak.
23097
23098 * normal/menu.c (print_entry): Do not put a space.
23099 (init_page): Renamed to ...
23100 (grub_menu_init_page): ... this. All callers changed.
23101 (edit_menu_entry): Removed.
23102 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23103
23104 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23105
23106 * kern/misc.c (grub_vprintf): Call grub_refresh.
23107
23108 * normal/menu.c (DISP_LEFT): Renamed to ...
23109 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23110 * normal/menu.c (DISP_UP): Renamed to ...
23111 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23112 * normal/menu.c (DISP_RIGHT): Renamed to ...
23113 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23114 * normal/menu.c (DISP_DOWN): Renamed to ...
23115 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23116 * normal/menu.c (DISP_HLINE): Renamed to ...
23117 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23118 * normal/menu.c (DISP_VLINE): Renamed to ...
23119 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23120 * normal/menu.c (DISP_UL): Renamed to ...
23121 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23122 * normal/menu.c (DISP_UR): Renamed to ...
23123 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23124 * normal/menu.c (DISP_LL): Renamed to ...
23125 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23126 * normal/menu.c (DISP_LR): Renamed to ...
23127 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23128 * normal/menu.c (TERM_WIDTH): Renamed to ...
23129 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23130 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23131 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23132 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23133 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23134 * normal/menu.c (TERM_MARGIN): Renamed to ...
23135 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23136 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23137 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23138 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23139 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23140 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23141 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23142 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23143 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23144 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23145 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23146 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23147 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23148 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23149 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23150 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23151 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23152 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23153 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23154 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23155 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23156 All callers changed.
23157
23158 * include/grub/normal.h: New prototype.
23159
23160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23161 normal/menu_entry.c.
23162 (normal_mod_SOURCES): Likewise.
23163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23164 (normal_mod_SOURCES): Likewise.
23165
e6b92c8a 231662005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23167
23168 * include/grub/normal.h (grub_halt_init): New prototype.
23169 (grub_halt_fini): Likewise.
23170 (grub_reboot_init): Likewise.
23171 (grub_reboot_fini): Likewise.
23172
23173 * util/grub-emu.c: Include signal.h.
23174 (main_env): New global variable.
23175 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23176 catch C-c.
23177 (grub_machine_fini): New function.
23178 (main): Call grub_halt_init and grub_reboot_init before
23179 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23180 Call setjmp with MAIN_ENV to go back afterwards.
23181 Call grub_machine_fini right before return.
23182
23183 * include/grub/util/misc.h: Include setjmp.h.
23184 (main_env): New prototype.
23185
23186 * include/grub/kernel.h (grub_machine_fini): New prototype.
23187 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23188 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23189
23190 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23191 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23192 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23193
e6b92c8a 23194 * util/i386/pc/misc.c: New file.
f19dbdb7 23195
e6b92c8a 23196 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23197 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23198 commands/i386/pc/reboot.c.
23199
c642636f 232002005-02-14 Guillem Jover <guillem@hadrons.org>
23201
23202 * include/grub/dl.h (grub_dl_check_header): New prototype.
23203 (grub_arch_dl_check_header): Change return type to grub_err_t,
23204 remove size parameter and export function. Update all callers.
23205 * kern/dl.c (grub_dl_check_header): New function.
23206 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23207 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23208 are inside the core.
23209 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23210 independent ELF header checks.
23211 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23212 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23213 `grub_dl_check_header' instead of explicit checks. Check for the
23214 ELF type.
23215 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23216 `grub_dl_check_header' instead of explicit checks. Remove arch
23217 specific ELF header checks.
23218
e6b92c8a 23219 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23220 argument SIZE.
23221
5eabe94b 232222005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23223
23224 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23225 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23226
1b14a681 232272005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23228
23229 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23230 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23231 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23232 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23233 * partmap/amiga.c (amiga_partition_map_iterate): Return
23234 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23235 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23236
aca108aa 232372005-02-01 Guillem Jover <guillem@hadrons.org>
23238
23239 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23240 help info.
23241
c9f9c556 232422005-01-31 Marco Gerards <metgerards@student.han.nl>
23243
23244 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23245 Removed prototype.
23246 (grub_rescue_cmd_linux): New prototype.
23247 (grub_rescue_cmd_initrd): Likewise.
23248 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23249 `bi_rec'.
23250 (grub_linux_release_mem): Release the memory for the initrd.
23251 (grub_load_linux): Renamed from this...
23252 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23253 Changed `entry' not to be static. Loop over memory regions to
23254 find another one when the default fails.
23255 (grub_rescue_cmd_initrd): New function.
23256 (grub_linux_init): Remove function.
23257 (grub_linux_fini): Likewise.
23258 (GRUB_MOD_INIT): Register `initrd'.
23259 (GRUB_MOD_FINI): Unregister `initrd'.
23260 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23261 Function removed.
23262 (grub_linux_normal_fini): Likewise.
23263 (GRUB_MOD_INIT): Register `initrd'.
23264 (GRUB_MOD_FINI): Unregister `initrd'.
23265
990cf3aa 232662005-01-31 Marco Gerards <metgerards@student.han.nl>
23267
23268 * commands/help.c: New file.
23269 * normal/arg.c (show_help): Renamed to...
23270 (grub_arg_show_help): ... this.
23271 * commands/i386/pc/halt.c: New file.
23272 * commands/i386/pc/reboot.c: Likewise.
23273 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23274 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23275 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23276 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23277 variables.
23278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23279 `commands/help.c'.
23280 (pkgdata_MODULES): Add `help.mod'.
23281 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23282 * grub/i386/pc/init.h (grub_reboot): New prototype.
23283 (grub_halt): Likewise.
23284 * include/grub/normal.h (grub_arg_show_help): New prototype.
23285 (grub_help_init): Likewise.
23286 (grub_help_fini): Likewise.
23287 * util/grub-emu.c (main): Initialize and deinitialize the help
23288 command.
23289
23290 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23291
23292 * normal/command.c (grub_command_init): Fixed the description of
23293 the `set' and `unset' commands.
23294
232952005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23296
23297 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23298 function.
23299 * commands/ieee1275/halt.c: New file.
23300 * commands/ieee1275/reboot.c: Likewise.
23301 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23302 `__attribute__ ((unused))'. Some GCS related fixed.
23303 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23304 (grub_suspend_fini): Likewise.
23305 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23306 and `halt.mod'.
23307 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23308 (halt_mod_CFLAGS): New variables.
23309 * include/grub/powerpc/ieee1275/ieee1275.h
23310 (grub_ieee1275_interpret): New prototype.
23311
1ab09cc7 233122005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23313
23314 * include/grub/misc.h (memmove): New prototype.
23315 (memcpy): Likewise.
23316
8b8cbdb2 233172005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23318
23319 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23320 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23321
e3741a27 233222005-01-22 Marco Gerards <metgerards@student.han.nl>
23323
23324 * kern/misc.c (grub_strndup): Function rewritten.
23325
776bd780 233262005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23327
23328 * normal/menu.c (TERM_WIDTH): Macro redefined.
23329 (TERM_TOP_BORDER_Y): Likewise.
23330 (draw_border): Replaced while-loop by a for-loop. Make the number
23331 of lines consistent with the number of lines displayed in
23332 print_entries. Added a margin below the rectangle.
23333 (print_entry): Make the entry fit in the rectangle.
23334 (print_entries): Display the scroll arrows next to the right
23335 border.
23336
78026bce 233372005-01-21 Marco Gerards <metgerards@student.han.nl>
23338
23339 * fs/minix.c (grub_minix_find_file): Reserve more space for
23340 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23341 `grub_strncpy' to copy `path' into it.
23342
67bbaf0f 233432005-01-21 Marco Gerards <metgerards@student.han.nl>
23344
23345 Add the loopback device, a device via which files can be accessed
23346 as devices.
f19dbdb7 23347
67bbaf0f 23348 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23349 (pkgdata_MODULES): Add loopback.mod.
23350 (loopback_mod_SOURCES): New variable.
23351 (loopback_mod_CFLAGS): Likewise.
23352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23353 `disk/loopback.c'.
23354 (pkgdata_MODULES): Add loopback.mod.
23355 (loopback_mod_SOURCES): New variable.
23356 (loopback_mod_CFLAGS): Likewise.
23357 * disk/loopback.c: new file.
23358 * include/grub/normal.h (grub_loop_init): New prototype.
23359 (grub_loop_fini): New prototype.
23360 * util/grub-emu.c (main): Initialize and de-initialize loopback
23361 support.
23362 * include/grub/disk.h (grub_disk_dev_id): Add
23363 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23364
6f1c18bd 233652005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23366
23367 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23368 function.
23369 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23370 (suspend_mod_SOURCES): New variable.
23371 (suspend_mod_CFLAGS): Likewise.
23372 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23373 New prototype.
23374 * commands/ieee1275/suspend.c: New file.
23375
b38551da 233762005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23377
23378 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23379 ((unused))' to `__attribute__ ((used))'.
b38551da 23380 (GRUB_MOD_FINI): Likewise.
23381 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23382 * genmk.rb (PModule): Assign space to common symbols when linking
23383 modules.
23384
777aff39 233852005-01-20 Marco Gerards <metgerards@student.han.nl>
23386
23387 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23388 `unsigned' arguments to `grub_size_t'.
23389 (grub_malloc): Likewise.
23390 (grub_realloc): Likewise.
23391 (grub_memalign): Likewise.
23392 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23393 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23394 * util/misc.c (grub_malloc): Likewise.
23395 (grub_realloc): Likewise.
23396 * kern/mm.c (get_header_from_pointer): Change the casts to
23397 `unsigned' into a cast to `grub_size_t'.
23398
23399 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23400 point to `currnode' when `currnode' is changed.
23401
23402 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23403 Schottelius <nico-linux@schottelius.org>.
23404
d0ff18e1 234052005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23406
23407 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23408 (note_path): Remove variable.
23409 (GRUB_IEEE1275_NOTE_NAME): New macro.
23410 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23411 (grub_ieee1275_note_hdr): New structure.
23412 (grub_ieee1275_note_desc): Likewise.
23413 (grub_ieee1275_note): Likewise.
23414 (load_note): Remove `dir' argument. All callers updated. Remove
23415 `note_img' and `path'. Do not load a file from `note_path'.
23416 Initialize a struct grub_ieee1275_note and write that to `out'.
23417 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23418
4ca7004c 234192005-01-05 Marco Gerards <metgerards@student.han.nl>
23420
23421 * util/misc.c (grub_util_read_image): Revert last change. It
23422 called `grub_util_read_at', which seeks from the beginning of the
23423 file.
23424
0b412211 234252005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23426
23427 * TODO: Add note about endianness in grub-mkimage.
23428 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23429 section.
23430 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23431 (grub_mkimage_SOURCES): New target.
23432 * include/grub/kernel.h (grub_start_addr): Remove variable.
23433 (grub_end_addr): Likewise.
23434 (grub_total_module_size): Likewise.
23435 (grub_kernel_image_size): Likewise.
23436 (GRUB_MODULE_MAGIC): New constant.
23437 (grub_module_info): New structure.
23438 (grub_arch_modules_addr): New prototype.
23439 (grub_get_end_addr): Remove prototype.
23440 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23441 * include/grub/powerpc/ieee1275/kernel.h: New file.
23442 * include/grub/util/misc.h (grub_util_get_fp_size): New
23443 prototype.
23444 (grub_util_read_at): Likewise.
23445 (grub_util_write_image_at): Likewise.
23446 * kern/main.c (grub_get_end_addr): Remove function.
23447 (grub_load_modules): Call grub_arch_modules_addr instead of using
23448 grub_end_addr. Look for a grub_module_info struct in memory. Use
23449 the grub_module_info fields instead of calling grub_get_end_addr
23450 as loop conditions. Move grub_add_unused_region code here.
23451 (grub_add_unused_region): Remove function.
23452 * kern/i386/pc/init.c: Include grub/cache.h.
23453 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23454 one call to add_mem_region.
23455 (grub_arch_modules_addr): New function.
23456 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23457 (grub_total_module_size): Likewise.
23458 Include grub/machine/kernel.h.
23459 (grub_arch_modules_addr): New function.
23460 * util/grub-emu.c (grub_end_addr): Remove variable.
23461 (grub_total_module_size): Likewise.
23462 (grub_arch_modules_addr): New function.
23463 * util/misc.c: Include unistd.h.
23464 (grub_util_get_fp_size): New function.
23465 (grub_util_read_at): Likewise.
23466 (grub_util_write_image_at): Likewise.
23467 (grub_util_read_image): Call grub_util_read_at.
23468 (grub_util_write_image): Call grub_util_write_image_at.
23469 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23470 additional memory in kernel_img for a struct grub_module_info.
23471 Fill in that grub_module_info.
23472 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23473
458786f8 234742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23475
23476 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23477 New function.
23478 * include/grub/powerpc/ieee1275/ieee1275.h
23479 (grub_ieee1275_milliseconds): New prototype.
23480 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23481 Change to 1000.
23482 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23483 grub_ieee1275_milliseconds.
23484
ac507d1b 234852005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23486
23487 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23488 variable.
23489 (find_options): New function.
23490 (cmain): Call find_options.
23491 * include/grub/powerpc/ieee1275/ieee1275.h
23492 (grub_ieee1275_realmode): New extern variable.
23493 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23494 grub_map if grub_ieee1275_realmode is false.
23495
6b8fd1c4 234962004-12-29 Marco Gerards <metgerards@student.han.nl>
23497
23498 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23499 lines are inserted and make it work like readline. Reported by
23500 Vincent Pelletier <subdino2004@yahoo.fr>.
23501
8514a1e0 235022004-12-28 Marco Gerards <metgerards@student.han.nl>
23503
23504 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23505
23506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23507 `kern/powerpc/cache.S'.
23508
924b6140 235092004-12-27 Marco Gerards <metgerards@student.han.nl>
23510
23511 * genmk.rb: Handle the `Program' class in the main loop. Written
23512 by Johan Rydberg <jrydberg@gnu.org>.
23513 (Program): New class.
23514 (programs): New variable.
23515 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23516 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23517 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23518 (help_arch): Function removed.
23519 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23520 `powerpc/libgcc.h' and `loader.h'.
23521 (pkgdata_PROGRAMS): New variable.
23522 (sbin_UTILITIES): Variable removed.
23523 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23524 (grubof_SOURCES): Variable re-defined so it only includes the
23525 core functionality.
23526 (grubof_CFLAGS): Remove `-DGRUBOF'.
23527 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23528 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23529 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23530 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23531 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23532 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23533 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23534 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23535 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23536 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23537 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23538 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23539 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23540 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23541 (pc_mod_CFLAGS): New variables.
23542 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23543 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23544 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23545 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23546 Moved from here...
23547 * include/grub/i386/pc/init.h (grub_os_area_addr)
23548 (rub_os_area_size): ... to here.
23549 * include/grub/powerpc/ieee1275/ieee1275.h
23550 (grub_ieee1275_entry_fn): Export symbol.
23551 * include/grub/powerpc/ieee1275/init.h: New file.
23552 * include/grub/powerpc/libgcc.h: Likewise.
23553 * include/grub/cache.h: Likewise.
23554 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23555 <hollis@penguinppc.org>.
23556 * kern/dl.c: Include <grub/cache.h>.
23557 (grub_dl_flush_cache): New function.
23558 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23559 for this module.
23560 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23561 (grub_console_init): Removed prototypes.
23562 (grub_machine_init): Don't initialize the modules anymore.
23563 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23564 static.
23565 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23566 Macro undef removed.
23567 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23568 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23569 relocation `R_PPC_REL32'. Return an error when the relocation is
23570 unknown.
23571 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23572 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23573 * util/misc.c (grub_arch_sync_caches): Likewise.
23574
e4b47e0c 235752004-12-19 Marco Gerards <metgerards@student.han.nl>
23576
23577 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23578 `symlist.c', add `grubof_symlist.c'.
23579 (symlist.c): Variable removed.
23580 (grubof_HEADERS): Variable added.
23581 (grubof_symlist.c): New target.
23582 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23583 `kernel_img_HEADERS'.
23584 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23585 * kern/powerpc/dl.c: New file.
23586 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23587 Function removed.
23588 (grub_arch_dl_relocate_symbols): Likewise.
23589 (grub_register_exported_symbols): Likewise.
23590
4ceb3636 235912004-12-13 Marco Gerards <metgerards@student.han.nl>
23592
23593 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23594 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23595 to fail instead. Reported by Vincent Pelletier
23596 <subdino2004@yahoo.fr>.
23597
23598 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23599 it is not allocated. Reported by Vincent Pelletier
23600 <subdino2004@yahoo.fr>.
23601
23602 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23603 output so the output looks better.
f19dbdb7 23604
3f1578fe 236052004-12-04 Marco Gerards <metgerards@student.han.nl>
23606
23607 Modulize the partition map support and add support for the amiga
23608 partition map.
f19dbdb7 23609
3f1578fe 23610 * commands/ls.c: Include <grub/partition.h> instead of
23611 <grub/machine/partition.h>.
23612 * kern/disk.c: Likewise.
23613 * kern/rescue.c: Likewise.
23614 * loader/i386/pc/chainloader.c: Likewise.
23615 * normal/cmdline.c: Likewise.
23616 * kern/powerpc/ieee1275/init.c: Likewise.
23617 (grub_machine_init): Call `grub_pc_partition_map_init',
23618 `grub_amiga_partition_map_init' and
23619 `grub_apple_partition_map_init'.
23620 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23621 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23622 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23623 `partition.h' and `pc_partition.h'.
23624 (grub_setup_SOURCES): Remove
23625 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23626 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23627 (grub_emu_SOURCES): Likewise.
23628 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23629 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23630 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23632 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23633 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23634 (grubof_SOURCES): Likewise.
23635 * disk/i386/pc/partition.c: File removed.
23636 * disk/powerpc/ieee1275/partition.c: Likewise.
23637 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23638 * include/grub/i386/pc/partition.h: Likewise.
23639 * kern/partition.c: New file.
23640 * partmap/amiga.c: Likewise.
23641 * partmap/apple.c: Likewise.
23642 * partmap/pc.c: Likewise.
23643 * include/grub/partition.h: Likewise..
23644 * include/grub/pc_partition.h: Likewise.
23645 * util/grub-emu.c: Include <grub/partition.h> instead of
23646 <grub/machine/partition.h>.
23647 (main): Call `grub_pc_partition_map_init',
23648 `grub_amiga_partition_map_init' and
23649 `grub_apple_partition_map_init' and deinitialize afterwards.
23650 * util/i386/pc/biosdisk.c: Include `#include
23651 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23652 `<grub/machine/partition.h>'.
23653 * util/i386/pc/grub-setup.c: Likewise.
23654 * util/i386/pc/biosdisk.c: Likewise.
23655 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23656 partition information in case of a PC partition.
23657 * util/i386/pc/grub-setup.c: Include `#include
23658 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23659 `<grub/machine/partition.h>'.
23660 (setup): Only access the PC specific partition information in case
23661 of a PC partition.
23662
0ef4ced9 236632004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23664
0ef4ced9 23665 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23666 (grub_longjmp): Likewise.
23667 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23668 20.
23669 * normal/powerpc/setjmp.S: New file.
23670 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23671 `normal/powerpc/setjmp.S'.
23672 (grubof_CFLAGS): Add `-DGRUBOF'.
23673 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23674 [GRUB_UTIL && !GRUBOF].
f19dbdb7 23675
19950e29 236762004-11-16 Marco Gerards <metgerards@student.han.nl>
23677
23678 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23679 property named `name'. Correctly handle the error returned by
23680 `grub_ieee1275_finddevice' if a device can not be opened.
23681
a2fea427 236822004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23683
23684 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23685 `actual' for negativity.
23686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23687 kern/fshelp.c.
23688
41ea0ea3 236892004-11-01 Marco Gerards <metgerards@student.han.nl>
23690
23691 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23692 (PAGE_OFFSET): New macro.
23693 (CRTC_ADDR_PORT): Likewise.
23694 (CRTC_DATA_PORT): Likewise.
23695 (START_ADDR_HIGH_REGISTER): Likewise.
23696 (START_ADDR_LOW_REGISTER): Likewise.
23697 (GRAPHICS_ADDR_PORT): Likewise.
23698 (GRAPHICS_DATA_PORT): Likewise.
23699 (READ_MAP_REGISTER): Likewise.
23700 (INPUT_STATUS1_REGISTER): Likewise.
23701 (INPUT_STATUS1_VERTR_BIT): Likewise.
23702 (page): New variable.
23703 (wait_vretrace): New function.
23704 (set_read_map): Likewise.
23705 (set_start_address): Likewise.
23706 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23707 the right page.
23708 (check_vga_mem): Take the page into account.
23709 (write_char): Likewise.
23710 (write_cursor): Likewise.
23711 (scroll_up): Likewise. Copy the page to the page that is not
23712 shown and switch between both pages.
23713 (grub_vga_putchar): Fix off by one error.
23714 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23715 account.
23716
ad0bd20b 237172004-11-01 Marco Gerards <metgerards@student.han.nl>
23718
23719 Add support for iso9660 (including rockridge).
f19dbdb7 23720
ad0bd20b 23721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23722 (iso9660_mod_SOURCES): New variable.
23723 (iso9660_mod_CFLAGS): Likewise.
23724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23725 * include/grub/fs.h (grub_iso9660_init): New prototype.
23726 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23727 * fs/iso9660.c: New file.
23728
23729 * include/grub/misc.h (grub_strncat): New prototype.
23730 * kern/misc.c (grub_strncat): New function.
f19dbdb7 23731
ad0bd20b 23732 * fs/hfs.c (grub_hfs_mount): Translate the error
23733 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23734 * fs/jfs.c (grub_jfs_mount): Likewise.
23735 * fs/ufs.c (grub_ufs_mount): Likewise.
23736
a5477a59 237372004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23738
23739 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23740 which initialized BAT registers.
23741 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23742 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23743 Move from here...
23744 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23745 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23746 ... to here.
23747 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23748 (grub_mapclaim): Likewise.
23749 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23750 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23751 hand.
23752
9304c1f8 237532004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23754
23755 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23756 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23757 -ffreestanding and -msoft-float.
23758
86f4ae25 237592004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23760
23761 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23762 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23763 set in grub_ieee1275_flags.
23764
38912228 237652004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23766
23767 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23768 prototype.
23769 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23770 grub_console_init first.
23771 Change the memory range used for grub_ieee1275_claim and
23772 grub_mm_init_region.
23773 Print an error message if the claim fails.
23774 Include <grub/misc.h>.
23775
d1923dc8 237762004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23777
23778 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23779 Call grub_children_iterate for device nodes of type `scsi',
23780 `ide', or `ata'.
23781 (grub_ofdisk_open): Remove manual device alias resolution.
23782 Fix memory leak when device cannot be opened.
f19dbdb7 23783 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23784 (grub_children_iterate): New prototype.
23785 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23786 New function.
23787 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23788 Return -1 if args.size was -1.
23789
4512e4f3 237902004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23791
23792 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23793 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23794 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23795 Open Firmware's memory for it; claim memory from _start to _end.
23796 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23797 (_end): New extern.
23798 (_start): Zero BSS from __bss_start to _end.
23799 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23800 New extern.
23801 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23802
4d61feb0 238032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23804
ad0bd20b 23805 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23806 -1 if args.base was -1.
4d61feb0 23807
026fa2f9 238082004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23809
23810 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23811 escape sequence instead of a literal ^L. Also call
23812 grub_ofconsole_gotoxy.
23813
9f2220ef 238142004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23815
23816 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23817 void * arguments to grub_addr_t. All callers updated. Also make
23818 the `result' argument optional.
23819 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23820 All callers updated.
23821
8a572cd7 238222004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23823
23824 * commands/ls.c (grub_ls_list_files): Use the string following the
23825 initial ')', if present, as the filesystem path.
23826 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23827
23828 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23829
18aa81f2 238302004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23831
23832 Make the source code of the menu interface more readable.
f19dbdb7 23833
18aa81f2 23834 * normal/menu.c: Include grub/mm.h.
23835 (TERM_WIDTH): New macro.
23836 (TERM_HEIGHT): Likewise.
23837 (TERM_INFO_HEIGHT): Likewise.
23838 (TERM_MARGIN): Likewise.
23839 (TERM_SCROLL_WIDTH): Likewise.
23840 (TERM_TOP_BORDER_Y): Likewise.
23841 (TERM_LEFT_BORDER_X): Likewise.
23842 (TERM_BORDER_WIDTH): Likewise.
23843 (TERM_MESSAGE_HEIGHT): Likewise.
23844 (TERM_BORDER_HEIGHT): Likewise.
23845 (TERM_NUM_ENTRIES): Likewise.
23846 (TERM_FIRST_ENTRY_Y): Likewise.
23847 (TERM_ENTRY_WIDTH): Likewise.
23848 (TERM_CURSOR_X): Likewise.
23849 (draw_border): Use macros instead of magic numbers.
23850 (print_entry): Likewise.
23851 (print_entries): Likewise.
23852 (run_menu): Likewise. Also, handle the key 'e'.
23853 (run_menu_entry): Ignore empty command lines.
23854 (print_message): Added a new argument EDIT. If EDIT is true,
23855 print a different message.
23856 (init_page): Likewise.
23857 (edit_menu_entry): New function. Not implemented yet.
23858
b47efe30 238592004-09-17 Marco Gerards <metgerards@student.han.nl>
23860
23861 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23862 can be loaded from normal mode.
f19dbdb7 23863
b47efe30 23864 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23865 `multiboot.mod'.
23866 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23867 (multiboot_mod_CFLAGS): New variables.
23868 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23869 * loader/i386/pc/multiboot_normal.c: Likewise.
23870
b47efe30 23871 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23872 attribute `unused'.
f19dbdb7 23873
b47efe30 23874 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23875 `fdiro' to read the mode information from instead of `diro'.
23876
23877 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23878 looking up a symlink.
23879
23880 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23881 macro.
23882 * normal/command.c (grub_command_execute): Don't parse the
23883 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23884 flags of the command.
23885
23886 * normal/menu.c (grub_menu_run): Fix typo.
23887
da75ac71 238882004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23889
23890 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23891
23892 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23893 `y + 1' instead of `y - 1'.
23894
23895 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23896
062b24c2 238972004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23898
23899 From Hollis Blanchard <hollis@penguinppc.org>:
23900 * kern/misc.c (memmove): New alias for grub_memmove.
23901 (memcmp): New alias for grub_memcmp.
23902 (memset): New alias for grub_memset.
f19dbdb7 23903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23904 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23905 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23906 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23907
8ddad845 239082004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23909
23910 Added normal mode command `chainloader' as module chain.mod, which
23911 depends on normal.mod and _chain.mod.
f19dbdb7 23912
8ddad845 23913 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23914 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23915 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23916 Deleted prototype.
23917 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23918 but arguments parsing moved to ...
23919 (grub_chainloader_cmd): ... here. New function.
23920 * include/grub/i386/pc/chainloader.h: New file.
23921 * loader/i386/pc/chainloader_normal.c: Likewise.
23922
2c1f4ce3 239232004-09-11 Marco Gerards <metgerards@student.han.nl>
23924
23925 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23926 (grub_mkimage_LDFLAGS): Likewise.
23927 (grub_emu_SOURCES): Likewise.
23928 (kernel_img_HEADERS): Added fshelp.h.
23929 * fs/ext2.c: Include <grub/fshelp.h>.
23930 (FILETYPE_REG): New macro.
23931 (FILETYPE_INO_REG): Likewise.
23932 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23933 Changed all users.
23934 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23935 all users.
23936 (grub_fshelp_node): New struct.
23937 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23938 to a pointer.
23939 (grub_ext2_get_file_block): Removed function.
23940 (grub_ext2_read_block): New function.
23941 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23942 This function was written.
23943 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23944 (grub_ext2_find_file): Removed function.
23945 (grub_ext2_read_symlink): New function.
23946 (grub_ext2_iterate_dir): Likewise.
23947 (grub_ext2_open): Rewritten.
23948 (grub_ext2_dir): Rewritten.
23949 * include/grub/fshelp.h: New file.
23950 * fs/fshelp.c: Likewise.
23951
3c52136a 239522004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23953
23954 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23955 (print_message): Add a missing newline.
23956 (run_menu): Added timeout support.
23957 (run_menu_entry): New local function.
23958 (grub_menu_run): Added support for booting.
23959
23960 * kern/loader.c (grub_loader_is_loaded): New function.
23961
23962 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23963 (grub_get_rtc): Exported.
23964
23965 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23966 (grub_get_rtc): Exported.
23967
23968 * include/grub/normal.h (struct grub_command_list): Remove
23969 constant from the member `command'.
23970
23971 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23972
23973 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23974
23975 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23976
aa033560 239772004-08-28 Marco Gerards <metgerards@student.han.nl>
23978
23979 Add support for the JFS filesystem.
23980
23981 * fs/jfs.c: New file.
23982 * include/grub/fs.h (grub_jfs_init): New prototype.
23983 (grub_jfs_fini): New prototype.
23984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23985 (grub_emu_SOURCES): Likewise.
23986 (pkgdata_MODULES): Add jfs.mod.
23987 (jfs_mod_SOURCES): New variable.
23988 (jfs_mod_CFLAGS): Likewise.
23989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23990 (grubof_SOURCES): Likewise.
23991 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23992
23993 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23994 endian to the host endian.
23995 (grub_fat_utf16_to_utf8): Move function from there...
23996 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23997 the endianness of the source string anymore.
aa033560 23998 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23999
94bc45af 240002004-08-24 Marco Gerards <metgerards@student.han.nl>
24001
24002 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24003 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24004 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24005 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24006
94bc45af 24007 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24008 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24009 for `node_found' and `it_dir'.
24010 (grub_hfs_dir): Add prototype for `dir_hook'.
24011
24012 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24013 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24014 and `indir32' to silence a gcc warning.
24015
24016 * include/grub/fs.h (grub_hfs_init): New prototype.
24017 (grub_hfs_fini): Likewise.
f19dbdb7 24018
24019
97543f08 240202004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24021
24022 Each disk device has its own id now. This is useful to make use
24023 of multiple disk devices.
f19dbdb7 24024
97543f08 24025 * include/grub/disk.h (grub_disk_dev_id): New enum.
24026 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24027 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24028
24029 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24030 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24031
24032 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24033 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24034
24035 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24036 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24037
24038 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24039 "id" which is used by the cache manager.
24040
24041 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24042 of just "GRUB".
24043
64372eb4 240442004-08-18 Marco Gerards <metgerards@student.han.nl>
24045
24046 * fs/hfs.c: New file.
24047 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24048 (grub_emu_SOURCES): Likewise.
24049 (pkgdata_MODULES): Add hfs.mod.
24050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24051 (grubof_SOURCES): Likewise.
24052 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24053
24054 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24055 * kern/misc.c (grub_strncasecmp): Add function.
24056
cc61b58f 240572004-08-14 Marco Gerards <metgerards@student.han.nl>
24058
24059 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24060 with parentheses.
24061
24062 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24063 (grub_ext2_dir): In case the directory entry type is unknown, read
24064 it from the inode.
24065
0ef123f6 240662004-08-02 Peter Bruin <pjbruin@dds.nl>
24067
24068 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24069 grub_load_linux instead of grub_rescue_cmd_linux as second
24070 argument of grub_rescue_register_command.
24071
24072 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24073
a447c5df 240742004-07-27 Marco Gerards <metgerards@student.han.nl>
24075
24076 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24077 function.
24078 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24079 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24080 `loader/powerpc/ieee1275/linux.c',
24081 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24082 * include/grub/powerpc/ieee1275/ieee1275.h
24083 (grub_ieee1275_release): New prototype.
24084 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24085 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24086 normal, boot, linux and linux_normal.
24087 * loader/powerpc/ieee1275/linux.c: New file.
24088 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24089
5a9e3546 240902004-07-12 Marco Gerards <metgerards@student.han.nl>
24091
24092 * normal/arg.c (grub_arg_parse): Correct error handling after
24093 reallocating the argumentlist (check if `argl' is not null instead
24094 of checking if `args' is not null).
24095 * kern/mm.c (grub_realloc): Return the same pointer when using the
24096 same region, instead of returning the header address.
24097
e15199cb 240982004-07-11 Marco Gerards <metgerards@student.han.nl>
24099
24100 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24101 one block instead of two when looking for the initial partition.
24102 (grub_partition_probe): Initialize the local variable `p' with 0.
24103 Use base 10 for the grub_strtoul call.
24104 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24105 need for one local variable.
24106 (grub_strtoul): Don't add the new value to `num', instead of that
24107 just assign it.
24108
020616c2 241092004-07-11 Marco Gerards <metgerards@student.han.nl>
24110
24111 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24112 (pxeboot_img_SOURCES): New variable.
24113 (pxeboot_img_ASFLAGS): Likewise.
24114 (pxeboot_img_LDFLAGS): Likewise.
24115 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24116 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24117 <lode_leroy@hotmail.com>.
24118
6c51eb64 241192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24120
24121 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24122 there was no input.
24123
cfb12aff 241242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24125
24126 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24127 the history buffer logic.
24128
6eabba74 241292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24130
24131 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24132 (FILETYPE_INO_SYMLINK): New macros.
24133 (grub_ext2_find_file): Check if the node is a directory using the
24134 inode stat information instead of using the filetype in the
24135 dirent. Exclude the first character of an absolute symlink.
24136 (grub_ext2_dir): Mask out the filetype part of the mode member of
24137 the inode.
24138
66e19ef8 241392004-05-24 Marco Gerards <metgerards@student.han.nl>
24140
24141 Add support for UFS version 1 and 2. Add support for the minix
24142 filesystem version 1 and 2, both the variants with 14 and 30 long
24143 filenames.
f19dbdb7 24144
66e19ef8 24145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24146 fs/minix.c.
24147 (grub_emu_SOURCES): Likewise.
24148 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24149 (ufs_mod_SOURCES): New variable.
24150 (ufs_mod_CFLAGS): Likewise.
24151 (minix_mod_SOURCES): Likewise.
24152 (minix_mod_CFLAGS): Likewise.
24153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24154 fs/minix.c.
24155 (grubof_SOURCES): Likewise.
24156 * fs/ufs.c: New file.
24157 * fs/minix.c: New file.
24158 * include/grub/fs.h (grub_ufs_init): New prototype.
24159 (grub_ufs_fini): Likewise.
24160 (grub_minix_init): Likewise.
24161 (grub_minix_fini): Likewise.
24162 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24163 minix fs.
24164
cc2e748a 241652004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24166
24167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24168 commands/ls.c, commands/terminal.c, commands/boot.c,
24169 commands/cmp.c and commands/cat.c.
24170 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24171
24172 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24173 "env.h"
24174
4b13b216 241752004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24176
24177 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24178 and grub_, respectively. Because the conversion is trivial and
24179 mechanical, I omit the details here. Please refer to the CVS
24180 if you need more information.
24181
6a142551 241822004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24183
24184 * include/pupa: Renamed to ...
24185 * include/grub: ... this.
24186 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24187 * util/i386/pc/grub-mkimage.c: ... this.
24188 * util/i386/pc/pupa-setup.c: Renamed to ...
24189 * util/i386/pc/grub-setup.c: ... this.
24190 * util/pupa-emu.c: Renamed to ...
24191 * util/grub-emu.c: ... this.
24192
e56cdf21 241932004-03-29 Marco Gerards <metgerards@student.han.nl>
24194
24195 Add support for the newworld apple macintosh (PPC). This has been
24196 tested on the powerbook 2000 only. It only adds support for
24197 generic ieee1275 functions, console and disk support. This should
24198 be easy to port to other architectures with support for Open
24199 Firmware.
f19dbdb7 24200
e56cdf21 24201 * configure.ac: Accept the powerpc as host_cpu. In the case of
24202 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24203 specific tests are only executed while building for the i386.
24204 Inverse test for crosscompile.
24205 * genmk.rb (Utility): Allow assembler files.
24206 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24207 * conf/powerpc-ieee1275.rmk: New file.
24208 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24209 * disk/powerpc/ieee1275/partition.c: Likewise.
24210 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24211 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24212 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24213 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24214 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24215 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24216 * include/pupa/powerpc/ieee1275/loader.h
24217 * include/pupa/powerpc/setjmp.h: Likewise.
24218 * include/pupa/powerpc/types.h: Likewise.
24219 * kern/powerpc/ieee1275/init.c: Likewise.
24220 * kern/powerpc/ieee1275/openfw.c: Likewise.
24221 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24222
24223 These files were written by Johan Rydberg
24224 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24225
e56cdf21 24226 * boot/powerpc/ieee1275/cmain.c: New file.
24227 * boot/powerpc/ieee1275/crt0.S: Likewise.
24228 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24229 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24230
8c8cc205 242312004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24232
24233 * Makefile.in: Update copyright.
24234 * genmodsrc.sh: Likewise.
24235 * gensymlist.sh: Likewise.
24236 * term/i386/pc/vga.c: Indent correctly.
24237
24238 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24239 bugreporting address.
24240 * util/i386/pc/pupa-setup.c (usage): Likewise,
24241 (main): Call pupa_ext2_init and pupa_ext2_fini.
24242
f19dbdb7 24243 * fs/fat.c (log2): Renamed to ...
8c8cc205 24244 (fat_log2): ... this.
24245 All callers changed.
24246 * kern/misc.c (memcpy): Alias to pupa_memmove.
24247 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24248 lvalue cast.
24249 * util/console.c (pupa_ncurses_fini): Return 0.
24250
24251 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24252 Move fail label here.
24253 [__GNU__]: Don't warn when using stat.
24254 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24255 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24256 long int. Use strtol instead of strtoul.
f19dbdb7 24257
db1771cf 242582004-03-14 Marco Gerards <metgerards@student.han.nl>
24259
24260 * commands/boot.c: New file.
24261 * commands/cat.c: Likewise.
24262 * commands/cmp.c: Likewise.
24263 * commands/ls.c: Likewise.
24264 * commands/terminal.c: Likewise.
24265 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24266 (pupa_register_command): Changed interface to match the new
24267 argument parser.
24268 (pupa_command_execute): Changed (almost rewritten) so it uses
24269 pupa_split_command. Added support for setting variables using the
24270 syntax `foo=bar'.
24271 (rescue_command): Changed to work with the new argument parser.
24272 (terminal_command): Moved from here to commands/terminal.c.
24273 (set_command): New function.
24274 (unset_command): New function.
24275 (insmod_command): New function.
24276 (rmmod_command): New function.
24277 (lsmod_command): New function.
24278 (pupa_command_init): Don't initialize the command terminal
24279 anymore. Initialize the commands set, unset, insmod, rmmod and
24280 lsmod.
24281 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24282 (kernel_img_HEADERS): Add arg.h and env.h.
24283 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24284 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24285 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24286 normal/arg.c.
24287 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24288 terminal.mod.
24289 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24290 (boot_mod_SOURCES): New variable.
24291 (terminal_mod_SOURCES): Likewise.
24292 (ls_mod_SOURCES): Likewise.
24293 (cmp_mod_SOURCES): Likewise.
24294 (cat_mod_SOURCES): Likewise.
24295
24296 * normal/arg.c: New file.
24297 * kern/env.c: Likewise.
24298 * include/pupa/arg.h: Likewise.
24299 * include/pupa/env.h: Likewise.
24300 * font/manager.c (font_command): Changed to match argument parsing
24301 interface changes.
24302 (PUPA_MOD_INIT): Likewise.
24303 * hello/hello.c (pupa_cmd_hello): Likewise.
24304 (PUPA_MOD_INIT): Likewise.
24305 * include/pupa/disk.h: Include <pupa/device.h>.
24306 (pupa_print_partinfo): New prototype.
24307 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24308 (pupa_dl_get_prefix): Likewise.
24309 * include/pupa/misc.h: Include <pupa/err.h>.
24310 (pupa_isgraph): New prototype.
24311 (pupa_isdigit): Likewise.
24312 (pupa_split_cmdline): Likewise.
24313 * include/pupa/normal.h: Include <pupa/arg.h>.
24314 (pupa_command): Changed the prototype of the member `func' to
24315 match the argument parsing interface. Added member `options'.
24316 (pupa_register_command): Updated to match function.
24317 (pupa_arg_parse): New prototype.
24318 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24319 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24320 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24321 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24322 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24323 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24324 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24325 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24326 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24327 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24328 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24329 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24330 * kern/disk.c: Include <pupa/file.h>.
24331 (pupa_print_partinfo): New function.
24332 * kern/dl.c: Include <pupa/env.h>.
24333 (pupa_dl_dir): Variable removed.
24334 (pupa_dl_load): Use the environment variable `prefix' instead of
24335 the variable pupa_dl_dir.
24336 (pupa_dl_set_prefix): Function removed.
24337 (pupa_dl_get_prefix): Likewise.
24338 * kern/i386/pc/init.c: Include <pupa/env.h>.
24339 (pupa_machine_init): Use the environment variable `prefix' instead of
24340 using pupa_dl_set_prefix to set the prefix.
24341 * kern/main.c: Include <pupa/env.h>.
24342 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24343 using pupa_dl_get_prefix to get the prefix.
24344 * kern/misc.c: Include <pupa/env.h>.
24345 (pupa_isdigit): New function.
24346 (pupa_isgraph): Likewise.
24347 (pupa_ftoa): Likewise.
24348 (pupa_vsprintf): Added support for printing values of the type
24349 `double'. Make it possible to format variable output when using
24350 formatting like `%1.2%f'.
24351 (pupa_split_cmdline): New function.
24352 * kern/rescue.c: Include <pupa/env.h>.
24353 (next_word): Removed function.
24354 (pupa_rescue_cmd_prefix): Likewise.
24355 (pupa_rescue_cmd_set): New function.
24356 (pupa_rescue_cmd_unset): New function.
24357 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24358 split the command line instead of splitting it here. Added
24359 support for setting variables using the syntax `foo=bar'. Don't
24360 initialize the prefix command anymore. Initialized the set and
24361 unset commands.
24362 * normal/cmdline.c: Include <pupa/env.h>.
24363 (pupa_tab_complete): Added prototypes for print_simple_completion,
24364 print_partition_completion, add_completion, iterate_commands,
24365 iterate_dev, iterate_part and iterate_dir. Moved code to print
24366 partition information from here to kern/disk.c.
fe6b695a 24367 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24368 * normal/main.c: Include <pupa/env.h>.
24369 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24370 instead of using pupa_dl_get_prefix to get the prefix.
24371 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24372 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24373 warning.
24374 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24375 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24376 ((unused))' to silence a gcc warning.
24377 (pupa_vga_setcolor): Likewise.
24378 (debug_command): Changed to match argument parsing
24379 interface changes.
24380 * util/pupa-emu.c: Include <pupa/env.h>.
24381 (options): Added 0's for unused fields to silence a gcc warning.
24382 (argp): Likewise.
24383 (main): Use the environment variable `prefix' instead of using
24384 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24385 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24386 and terminal.
24387
24388 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24389 * util/misc.c: Include <malloc.h>.
24390 (pupa_malloc): Rewritten so errors are correctly reported.
24391 (pupa_realloc): Likewise.
24392 (pupa_memalign): Likewise.
24393 (pupa_mm_init_region): Declare unused variables with
24394 `__attribute__ ((unused))' to silence a gcc warning.
24395 * normal/i386/setjmp.S: Remove tab at the end of the file to
24396 silence a gcc warning.
24397 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24398 variables with `__attribute__ ((unused))' to silence a gcc
24399 warning.
24400 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24401 local variable i unsigned to silence a gcc warning.
24402
24403 * kern/term.c: Include <pupa/misc.h>.
24404 (pupa_more_lines): New variable.
24405 (pupa_more): Likewise.
24406 (pupa_putcode): When the pager is active pause at the end of every
24407 screen.
24408 (pupa_set_more): New function.
24409 * include/pupa/term.h (pupa_set_more): New prototype.
24410
24411
3b1139cb 244122004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24413
24414 Now this project is GRUB 2 rather than PUPA. The location of
24415 the CVS repository was moved to GRUB's.
f19dbdb7 24416
3b1139cb 24417 * configure.ac: Use bug-grub as the reporting address.
24418 Use GRUB instead of PUPA.
24419 Change the version number to 1.90.
24420
8367695c 244212004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24422
24423 * genkernsyms.sh: Updated copyright information.
24424 * genmk.rb: Likewise.
24425 * genmodsrc.sh: Likewise.
24426 * gensymlist.sh: Likewise.
24427 * boot/i386/pc/boot.S: Likewise.
24428 * boot/i386/pc/diskboot.S: Likewise.
24429 * disk/i386/pc/biosdisk.c: Likewise.
24430 * disk/i386/pc/partition.c: Likewise.
24431 * font/manager.c: Likewise.
24432 * fs/ext2.c: Likewise.
24433 * fs/fat.c: Likewise.
24434 * include/pupa/boot.h: Likewise.
24435 * include/pupa/device.h: Likewise.
24436 * include/pupa/disk.h: Likewise.
24437 * include/pupa/dl.h: Likewise.
24438 * include/pupa/elf.h: Likewise.
24439 * include/pupa/err.h: Likewise.
24440 * include/pupa/file.h: Likewise.
24441 * include/pupa/font.h: Likewise.
24442 * include/pupa/fs.h: Likewise.
24443 * include/pupa/kernel.h: Likewise.
24444 * include/pupa/loader.h: Likewise.
24445 * include/pupa/misc.h: Likewise.
24446 * include/pupa/mm.h: Likewise.
24447 * include/pupa/net.h: Likewise.
24448 * include/pupa/normal.h: Likewise.
24449 * include/pupa/rescue.h: Likewise.
24450 * include/pupa/setjmp.h: Likewise.
24451 * include/pupa/symbol.h: Likewise.
24452 * include/pupa/term.h: Likewise.
24453 * include/pupa/types.h: Likewise.
24454 * include/pupa/i386/setjmp.h: Likewise.
24455 * include/pupa/i386/types.h: Likewise.
24456 * include/pupa/i386/pc/biosdisk.h: Likewise.
24457 * include/pupa/i386/pc/boot.h: Likewise.
24458 * include/pupa/i386/pc/console.h: Likewise.
24459 * include/pupa/i386/pc/init.h: Likewise.
24460 * include/pupa/i386/pc/kernel.h: Likewise.
24461 * include/pupa/i386/pc/linux.h: Likewise.
24462 * include/pupa/i386/pc/loader.h: Likewise.
24463 * include/pupa/i386/pc/memory.h: Likewise.
24464 * include/pupa/i386/pc/multiboot.h: Likewise.
24465 * include/pupa/i386/pc/partition.h: Likewise.
24466 * include/pupa/i386/pc/time.h: Likewise.
24467 * include/pupa/i386/pc/vga.h: Likewise.
24468 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24469 * include/pupa/util/getroot.h: Likewise.
24470 * include/pupa/util/misc.h: Likewise.
24471 * include/pupa/util/resolve.h: Likewise.
24472 * kern/device.c: Likewise.
24473 * kern/disk.c: Likewise.
24474 * kern/dl.c: Likewise.
24475 * kern/err.c: Likewise.
24476 * kern/file.c: Likewise.
24477 * kern/fs.c: Likewise.
24478 * kern/loader.c: Likewise.
24479 * kern/main.c: Likewise.
24480 * kern/misc.c: Likewise.
24481 * kern/mm.c: Likewise.
24482 * kern/rescue.c: Likewise.
24483 * kern/term.c: Likewise.
24484 * kern/i386/dl.c: Likewise.
24485 * kern/i386/pc/init.c: Likewise.
24486 * kern/i386/pc/lzo1x.S: Likewise.
24487 * kern/i386/pc/startup.S: Likewise.
24488 * loader/i386/pc/chainloader.c: Likewise.
24489 * loader/i386/pc/linux.c: Likewise.
24490 * loader/i386/pc/multiboot.c: Likewise.
24491 * normal/cmdline.c: Likewise.
24492 * normal/command.c: Likewise.
24493 * normal/main.c: Likewise.
24494 * normal/menu.c: Likewise.
24495 * normal/i386/setjmp.S: Likewise.
24496 * term/i386/pc/console.c: Likewise.
24497 * term/i386/pc/vga.c: Likewise.
24498 * util/console.c: Likewise.
24499 * util/genmoddep.c: Likewise.
24500 * util/misc.c: Likewise.
24501 * util/pupa-emu.c: Likewise.
24502 * util/resolve.c: Likewise.
24503 * util/unifont2pff.rb: Likewise.
24504 * util/i386/pc/biosdisk.c: Likewise.
24505 * util/i386/pc/getroot.c: Likewise.
24506 * util/i386/pc/pupa-mkimage.c: Likewise.
24507 * util/i386/pc/pupa-setup.c: Likewise.
24508
e6eced71 245092004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24510
24511 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24512 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24513 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24514 reading and reset it after reading.
24515 (pupa_ext2_close): Return PUPA_ERR_NONE.
24516
24517 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24518 Correct value.
24519 (struct linux_kernel_header): Add kernel_version and
24520 initrd_addr_max.
24521 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24522 pupa_file_read succeeds.
24523 (pupa_rescue_cmd_initrd): Implement.
24524
5aded270 245252003-12-03 Marco Gerards <metgerards@student.han.nl>
24526
24527 * fs/ext2.c (pupa_ext2_label): New function.
24528 (pupa_ext2_fs): Added label.
24529 * fs/fat.c (pupa_fat_label): New function.
24530 (pupa_fat_fs): Added label.
24531 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24532
24533 * kern/misc.c (pupa_strndup): New function.
24534 * include/pupa/misc.h (pupa_strndup): New prototype.
24535
24536 * include/pupa/normal.h: Include <pupa/err.h>.
24537 (pupa_set_history): New prototype.
24538 (pupa_iterate_commands): New prototype.
24539 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24540 <pupa/disk.h>, <pupa/file.h>.
24541 (hist_size): New variable.
24542 (hist_lines): Likewise.
24543 (hist_end): Likewise.
24544 (hist_used): Likewise.
24545 (pupa_set_history): New function.
24546 (pupa_history_get): Likewise.
24547 (pupa_history_add): Likewise.
24548 (pupa_history_replace): Likewise.
24549 (pupa_tab_complete): Likewise.
24550 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24551 completion shows partitionnames while completing partitions, this
24552 feature was suggested by Jeff Bailey.
24553 * normal/command.c (pupa_iterate_commands): New function.
24554 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24555 (pupa_normal_init): Initialize history buffer.
24556 (PUPA_MOD_INIT): Likewise.
24557 (pupa_normal_fini): Free the history buffer.
24558 (PUPA_MOD_FINI): Likewise.
24559
24560 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24561 key.
24562
24563 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24564 * configure.ac [i386]: Check for regparam bug.
24565 (NESTED_FUNC_ATTR) [! i386]: Defined.
24566
1f7315a3 245672003-11-17 Marco Gerards <metgerards@student.han.nl>
24568
24569 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24570 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24571 (pupa_emu_SOURCES): New variable.
24572 (pupa_emu_LDFLAGS): Likewise.
24573 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24574 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24575 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24576 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24577 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24578 (pupa_jmp_buf): New typedef.
24579 (pupa_setjmp) [PUPA_UTIL]: New macro.
24580 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24581 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24582 (pupa_refresh): New prototype.
24583 * include/pupa/util/getroot.h: New file.
24584 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24585 it.
24586 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24587 (pupa_rescue_cmd_cat): Likewise.
24588 (pupa_rescue_cmd_ls): Likewise.
24589 (pupa_rescue_cmd_testload): Likewise.
24590 (pupa_rescue_cmd_lsmod): Likewise.
24591 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24592 * normal/menu.c (run_menu): Likewise.
24593 * kern/term.c (pupa_cls): Likewise.
24594 (pupa_refresh): New function.
24595 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24596 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24597 * util/console.c: New file.
f19dbdb7 24598
1f7315a3 24599 * util/i386/pc/getroot.c: New file.
24600 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24601 (pupa_putchar): New function.
24602 (pupa_refresh): Likewise.
24603 (xgetcwd): Function moved to ...
24604 (strip_extra_slashes): Likewise.
24605 (get_prefix): Likewise.
f19dbdb7 24606 * util/i386/pc/getroot.c: ... here.
1f7315a3 24607 (find_root_device): Function moved and renamed to...
24608 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24609 Changed all callers.
24610 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24611 and renamed to...
24612 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24613 Changed all callers.
24614 * util/misc.c (pupa_memalign): New function.
24615 (pupa_mm_init_region): Likewise.
24616 (pupa_register_exported_symbols): Likewise.
24617 (pupa_putchar): Function removed.
24618 * util/pupa-emu.c: New file.
24619
9a5c1ade 246202003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24621
24622 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24623 (_multiboot_mod_SOURCES): New variable.
24624 (_multiboot_mod_CFLAGS): Likewise.
24625 * loader/i386/pc/multiboot.c: New file.
24626 * include/pupa/i386/pc/multiboot.h: Likewise.
24627 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24628 (pupa_multiboot_real_boot): New function.
24629 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24630 (pupa_multiboot_real_boot): New prototype.
24631 (pupa_rescue_cmd_multiboot): Likewise
24632 (pupa_rescue_cmd_module): Likewise.
24633
24634 * kern/loader.c (pupa_loader_set): Continue when
24635 pupa_loader_unload_func() fails.
24636 (pupa_loader_unset): New function.
24637 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24638
24639 * kern/misc.c (pupa_stpcpy): New function.
24640 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24641
8e72a9c0 246422003-11-12 Marco Gerards <metgerards@student.han.nl>
24643
24644 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24645 for available extensions.
24646
24647 * include/pupa/i386/pc/time.h: New file.
24648 * kern/disk.c: Include <pupa/machine/time.h>.
24649 (PUPA_CACHE_TIMEOUT): New macro.
24650 (pupa_last_time): New variable.
24651 (pupa_disk_open): Flush the cache when there was a timeout.
24652 (pupa_disk_close): Reset the timer.
24653 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24654 pupa_currticks.
24655 * util/misc.c: Include <sys/times.h>
24656 (pupa_get_rtc): New function.
24657
c4adbd32 246582003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24659
24660 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24661 as blocks.
24662 (pupa_ext2_get_file_block): Use blocks member.
24663
24664 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24665 first block. Return -1 instead of pupa_errno on error.
24666
bfd30f06 246672003-10-27 Marco Gerards <metgerards@student.han.nl>
24668
24669 * README: In the pupa-mkimage example use _chain instead of chain
24670 and ext2 instead of fat.
24671 * TODO: Replace ext2fs with jfs as an example. Add an item for
24672 adding journal playback for ext2fs.
24673 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24674 (pkgdata_MODULES): Added ext2.mod.
24675 (ext2_mod_SOURCES): New variable.
24676 (ext2_mod_CFLAGS): Likewise.
24677 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24678 * include/pupa/misc.h (pupa_strncpy): New prototype.
24679 (pupa_strcat): Likewise.
24680 (pupa_strncmp): Likewise.
24681 * kern/misc.c (pupa_strcat): Enable function.
24682 (pupa_strncpy): New function.
24683 (pupa_strncmp): Likewise.
24684 * fs/ext2.c: New file.
f19dbdb7 24685
bfd30f06 24686 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24687 when the read failed before retrying.
24688 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24689 (_FILE_OFFSET_BITS): Likewise.
24690 * configure.ac: Added AC_SYS_LARGEFILE.
24691
98d15063 246922003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24693
24694 * genmk.rb (PModule#rule): Make sure to get only symbol names
24695 from the output of nm.
59cad637 24696 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 24697
18d9c7cd 246982003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24699
24700 I forgot to check in these changes for a long time. This adds
24701 incomplete support for VGA console, and this is still very
24702 buggy. Also, a lot of consideration is required for I18N,
24703 UNICODE, and VGA font issues. Therefore, assume that this is
24704 such that "better than nothing".
f19dbdb7 24705
18d9c7cd 24706 * font/manager.c: New file.
24707 * include/pupa/font.h: Likewise.
24708 * include/pupa/i386/pc/vga.h: Likewise.
24709 * term/i386/pc/vga.c: Likewise.
24710 * util/unifont2pff.rb: Likewise.
24711
24712 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24713 (pkgdata_MODULES): Added vga.mod and font.mod.
24714 (vga_mod_SOURCES): New variables.
24715 (vga_mod_CFLAGS): Likewise.
24716 (font_mod_SOURCES): Likewise.
24717 (font_mod_CFLAGS): Likewise.
24718
24719 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24720
24721 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 24722 (struct pupa_term): Added init and fini.
18d9c7cd 24723 Changed the argument of putchar to pupa_uint32_t.
24724
24725 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24726 (pupa_console_real_putchar): New prototype.
24727 (pupa_console_putchar): Removed.
24728 (pupa_console_checkkey): Exported.
24729 (pupa_console_getkey): Likewise.
24730
24731 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24732 characters.
24733
24734 * kern/term.c (pupa_term_set_current): Rewritten.
24735 (pupa_putchar): Likewise.
24736 (pupa_putcode): New function.
24737
24738 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24739 (pupa_console_real_putchar): ... this.
24740 (pupa_vga_set_mode): New function.
24741 (pupa_vga_get_font): Likewise.
24742
24743 * normal/command.c: Include pupa/term.h.
24744 (terminal_command): New function.
24745 (pupa_command_init): Register the command "terminal".
24746
24747 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24748 (DISP_UP): Likewise.
24749 (DISP_RIGHT): Likewise.
24750 (DISP_DOWN): Likewise.
24751 (DISP_HLINE): Likewise.
24752 (DISP_VLINE): Likewise.
24753 (DISP_UL): Likewise.
24754 (DISP_UR): Likewise.
24755 (DISP_LL): Likewise.
24756 (DISP_LR): Likewise.
24757
24758 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24759
977329f5 247602003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24761
24762 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24763 FIX. Reverse the path_list.
24764
24765 * include/pupa/normal.h: Export pupa_register_command and
24766 pupa_unregister_command.
24767
24768 * hello/hello.c (pupa_cmd_hello): New module.
24769 * conf/i386-pc.rmk: Added hello.mod.
24770
1f5ab428 247712003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24772
24773 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24774
1f5ab428 24775 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24776 (compress_kernel): New variable.
24777 (generate_image): Heavily modified to support compressing a
24778 large part of the core image.
24779
24780 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24781 leak.
24782 (pupa_util_load_image): New function.
24783
24784 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24785 (pupa_compressed_size): New variable.
24786 (codestart): Enable Gate A20 here.
24787 Decompress the compressed part of the core image.
24788 Rearrange the code to put functions and variables which are
24789 required for initialization in the non-compressed part.
24790 Include lzo1x.S.
24791
24792 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24793 here.
24794
24795 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24796
f19dbdb7 24797 * include/pupa/i386/pc/kernel.h
1f5ab428 24798 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24799 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24800 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24801 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24802 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24803
24804 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24805
24806 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24807 (Utility#rule): Likewise.
24808
24809 * configure.ac: Check if LZO is available.
24810
ce5bf700 248112003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24812
24813 * include/pupa/normal.h: New file.
24814 * include/pupa/setjmp.h: Likewise.
24815 * include/pupa/i386/setjmp.h: Likewise.
24816 * normal/cmdline.c: Likewise.
24817 * normal/command.c: Likewise.
24818 * normal/main.c: Likewise.
24819 * normal/menu.c: Likewise.
24820 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24821
ce5bf700 24822 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24823 (pupa_rescue_cmd_initrd): Likewise.
24824
24825 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24826 Likewise.
24827
24828 * kern/i386/pc/startup.S (translation_table): New variable.
24829 (translate_keycode): New function.
24830 (pupa_console_getkey): Call translate_keycode.
24831
24832 * kern/rescue.c (attempt_normal_mode): New function.
24833 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24834 it failed, print a message.
24835
24836 * kern/mm.c (pupa_real_malloc): Print more information when a
24837 free magic is broken.
24838 (pupa_free): If the first free header is not free actually, set
24839 it to P.
24840
24841 * kern/main.c (pupa_load_normal_mode): Just load the module
24842 "normal".
24843 (pupa_main): Don't print the message
24844 "Entering into rescue mode..." here.
24845
24846 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24847 Declared.
24848 (pupa_rescue_cmd_initrd): Likewise.
24849 (pupa_rescue_cmd_initrd): Likewise.
24850
24851 * include/pupa/symbol.h (FUNCTION): Specify the type.
24852 (VARIABLE): Likewise.
24853
24854 * include/pupa/err.h (pupa_err_t): Added
24855 PUPA_ERR_UNKNOWN_COMMAND.
24856
24857 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24858 (pupa_dl_get_prefix): Likewise.
24859
24860 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24861 Added _chain.mod and _linux.mod instead of chain.mod and
24862 linux.mod.
24863 (chain_mod_SOURCES): Renamed to ...
24864 (_chain_mod_SOURCES): ... this.
24865 (chain_mod_CFLAGS): Renamed to ...
24866 (_chain_mod_CFLAGS): ... this.
24867 (linux_mod_SOURCES): Renamed to ...
24868 (_linux_mod_SOURCES): ... this.
24869 (linux_mod_CFLAGS): Renamed to ...
24870 (_linux_mod_CFLAGS): ... this.
24871 (normal_mod_SOURCES): New variable.
24872 (normal_mod_CFLAGS): Likewise.
24873 (normal_mod_ASFLAGS): Likewise.
24874
248752003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24876
24877 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24878 possible.
24879
fe6b695a 24880 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24881 recursively.
24882 (pupa_dl_unref): Unrefer depending modules recursively.
24883 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24884 a module is unloaded before one depending on that module is
24885 unloaded.
24886 (pupa_dl_unload): Unload depending modules explicitly,
24887 if possible.
24888
c04da074 248892003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24890
24891 * include/pupa/i386/pc/linux.h: New file.
24892 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24893
c04da074 24894 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24895 Removed.
24896 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24897 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24898 of PUPA_CHAINLOADER_BOOT_SECTOR.
24899
24900 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24901 (pupa_linux_prot_size): New variable.
24902 (pupa_linux_tmp_addr): Likewise.
24903 (pupa_linux_real_addr): Likewise.
24904 (pupa_linux_boot_zimage): New function.
24905 (pupa_linux_boot_bzimage): Likewise.
24906
24907 * kern/i386/pc/init.c (struct mem_region): New structure.
24908 (MAX_REGIONS): New macro.
24909 (mem_regions): New variable.
24910 (num_regions): Likewise.
24911 (pupa_os_area_addr): Likewise.
24912 (pupa_os_area_size): Likewise.
24913 (pupa_lower_mem): Likewise.
24914 (pupa_upper_mem): Likewise.
24915 (add_mem_region): New function.
24916 (compact_mem_regions): Likewise.
24917 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24918 the size of the conventional memory and that of so-called upper
24919 memory (before the first memory hole).
24920 Instead of adding each found region to free memory, use
24921 add_mem_region and add them after removing overlaps.
24922 Also, add only 1/4 of the upper memory to free memory. The rest
24923 is used for loading OS images. Maybe this is ad hoc, but this
24924 makes it much easier to relocate OS images when booting.
24925
24926 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24927 (pupa_enter_rescue_mode): Don't register initrd and module.
24928
24929 * kern/mm.c: Include pupa/dl.h.
24930
24931 * kern/main.c: Include pupa/file.h and pupa/device.h.
24932
24933 * kern/loader.c (pupa_loader_load_module_func): Removed.
24934 (pupa_loader_load_module): Likewise.
24935
24936 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24937 ``.o''.
24938
24939 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24940 (pupa_linux_tmp_addr): Likewise.
24941 (pupa_linux_real_addr): Likewise.
24942 (pupa_linux_boot_zimage): Likewise.
24943 (pupa_linux_boot_bzimage): Likewise.
24944
24945 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24946 (pupa_upper_mem): Likewise.
24947 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24948 module is too dangerous.
24949
24950 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24951 (pupa_os_area_size): Likewise.
24952 (pupa_loader_set): Remove the first argument. Loader doesn't
24953 manage modules or initrd any longer.
24954 (pupa_loader_load_module): Removed.
24955
24956 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24957 (linux_mod_SOURCES): New variable.
24958 (linux_mod_CFLAGS): Likewise.
24959
a13f9237 249602003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24961
24962 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24963 the length of a blocklist correctly.
24964
24965 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24966 Use ioctl only if the OS file is a block device.
24967 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24968 not very useful for normal files.
24969
24970 * kern/main.c (pupa_set_root_dev): New function.
24971 (pupa_load_normal_mode): Likewise.
24972 (pupa_main): Call those above.
24973
24974 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24975 pupa_uint16_t.
24976
24977 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24978
a5ffe966 249792003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24980
24981 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24982 (setup): Configure the installed partition information and the
24983 dl prefix.
24984
24985 * loader/i386/pc/chainloader.c (my_mod): New variable.
24986 (pupa_chainloader_unload): New function.
24987 (pupa_rescue_cmd_chainloader): Refer itself.
24988 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24989
24990 * kern/i386/pc/startup.S (install_partition): Removed.
24991 (version_string): Likewise.
24992 (config_file): Likewise.
24993 (pupa_install_dos_part): New variable.
24994 (pupa_install_bsd_part): Likewise.
24995 (pupa_prefix): Likewise.
24996 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24997
24998 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24999 and pupa/misc.h.
25000 (make_install_device): New function.
25001 (pupa_machine_init): Set the dl prefix.
25002
25003 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25004 (buf): Renamed to ...
25005 (linebuf): ... this.
25006 (pupa_rescue_cmd_prefix): New function.
25007 (pupa_rescue_cmd_insmod): Likewise.
25008 (pupa_rescue_cmd_rmmod): Likewise.
25009 (pupa_rescue_cmd_lsmod): Likewise.
25010 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25011 rmmod and lsmod.
25012
25013 * kern/mm.c (pupa_memalign): If failed even after invalidating
25014 disk caches, unload unneeded modules and retry.
25015
25016 * kern/misc.c (pupa_memmove): New function.
25017 (pupa_memcpy): Removed.
25018 (pupa_strcpy): New function.
25019 (pupa_itoa): Made static.
25020
25021 * kern/dl.c (pupa_dl_iterate): New function.
25022 (pupa_dl_ref): Likewise.
25023 (pupa_dl_unref): Likewise.
25024 (pupa_dl_unload): Return if succeeded or not.
25025 (pupa_dl_unload_unneeded): New function.
25026 (pupa_dl_unload_all): Likewise.
25027 (pupa_dl_init): Renamed to ...
25028 (pupa_dl_set_prefix): ... this.
25029 (pupa_dl_get_prefix): New function.
25030
25031 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25032 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25033 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25034 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25035 (pupa_install_dos_part): Declared.
25036 (pupa_install_bsd_part): Likewise.
25037 (pupa_prefix): Likewise.
25038 (pupa_boot_drive): Likewise.
25039
25040 * include/pupa/types.h: Fix a typo.
25041
25042 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25043 pupa_memmove.
25044 (pupa_memmove): Declared.
25045 (pupa_strcpy): Likewise.
25046
25047 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25048 pupa_mod_init takes one argument, its own module.
25049 (pupa_dl_unload_unneeded): Declared.
25050 (pupa_dl_unload_all): Likewise.
25051 (pupa_dl_ref): Likewise.
25052 (pupa_dl_unref): Likewise.
25053 (pupa_dl_iterate): Likewise.
25054 (pupa_dl_init): Renamed to ...
25055 (pupa_dl_set_prefix): ... this.
25056 (pupa_dl_get_prefix): Declared.
25057
25058 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25059 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25060 unloaded.
25061 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25062 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25063
25064 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25065 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25066
012d7999 250672003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25068
25069 * util/i386/pc/pupa-setup.c (setup): Define the internal
25070 function find_first_partition_start at the top level, because GCC
25071 3.0.x cannot compile internal functions in deeper scopes
25072 correctly.
25073 (find_root_device): Use lstat instead of stat.
25074 Don't follow symbolic links.
25075 Fix the path-constructing code.
25076
25077 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25078 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25079 by a BLKGETSIZE ioctl first, because block devices don't fill
25080 the member st_mode of the structure stat on Linux.
25081 [__linux__] (linux_find_partition): Use a temporary buffer
25082 REAL_DEV for the working space. Copy it to DEV before returning.
25083 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25084 buffer cache consistent.
25085 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25086 strncmp. The previous value was merely wrong.
25087 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25088
25089 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25090 FAT size is 12. The previous value was merely wrong.
25091
25092 * kern/main.c (pupa_main): Don't split the starting message from
25093 newlines.
25094
25095 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25096 LF, because BIOS goes crazy about character attributes in this
25097 case.
25098
1cc73a62 250992003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25100
25101 * include/i386/pc/util/biosdisk.h: New file.
25102 * util/i386/pc/biosdisk.c: Likewise.
25103 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25104
1cc73a62 25105 * Makefile.in (INCLUDE_DISTFILES): Added
25106 include/pupa/i386/pc/util/biosdisk.h.
25107 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25108 directory util/i386/pc.
25109 (install-local): Added a rule for sbin_UTILITIES.
25110 (uninstall): Likewise.
25111
25112 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25113
25114 * util/misc.c (xrealloc): New function.
25115 (pupa_malloc): Likewise.
25116 (pupa_free): Likewise.
25117 (pupa_realloc): Likewise.
25118 (pupa_stop): Likewise.
25119 (pupa_putchar): Likewise.
25120
25121 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25122
25123 * include/pupa/util/misc.h (xrealloc): Declared.
25124
25125 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25126 macro.
25127 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25128 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25129
25130 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25131 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25132
25133 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25134 way should be implemented.
25135 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25136
25137 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25138 the size of NAME for safety.
25139 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25140 0x88.
25141
25142 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25143 (pupa_setup_SOURCES): Likewise.
25144
25145 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25146
08b70fe8 251472002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25148
25149 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25150 bunch of pushl's from pusha, because this destroys the return
25151 value.
25152
62ddcc8f 251532002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25154
25155 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25156 This means that any missing prototypes could be fatal. Also, you
25157 must take care when writing assembly code. See the comments at
25158 the beginning of startup.S, for more details.
f19dbdb7 25159
62ddcc8f 25160 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25161 compilation mechanism.
25162 (pupa_chainloader_real_boot): Likewise.
25163 (pupa_biosdisk_rw_int13_extensions): Likewise.
25164 (pupa_biosdisk_rw_standard): Likewise.
25165 (pupa_biosdisk_check_int13_extensions): Likewise.
25166 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25167 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25168 (pupa_get_memsize): Likewise.
25169 (pupa_get_mmap_entry): Likewise.
25170 (pupa_console_putchar): Likewise.
25171 (pupa_console_setcursor): Likewise.
25172 (pupa_getrtsecs): Use pushl instead of push.
25173
25174 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25175 memory instead of the stack for a mmap entry, because some
25176 BIOSes may ignore the maximum size and overflow.
25177
25178 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25179
25180 * genmk.rb (PModule#rule): Compile automatically generated
25181 sources with module-specific CFLAGS as well as other sources.
25182
9962ed99 251832002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25184
25185 * configure.ac: Check ld.
25186 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25187 respectively, before checking endianness and sizes.
25188
25189 * Makefile.in (LD): New variable.
f19dbdb7 25190
abdfc3c5 251912002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25192
25193 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25194
6a161fa9 251952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25196
25197 * Changelog: New file.
25198